summaryrefslogtreecommitdiff
path: root/src/mongo/client/connection_string.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/client/connection_string.cpp')
-rw-r--r--src/mongo/client/connection_string.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/mongo/client/connection_string.cpp b/src/mongo/client/connection_string.cpp
index 36e317ba19c..5b7f87c8e02 100644
--- a/src/mongo/client/connection_string.cpp
+++ b/src/mongo/client/connection_string.cpp
@@ -118,15 +118,25 @@ void ConnectionString::_fillServers(std::string s) {
void ConnectionString::_finishInit() {
switch (_type) {
case MASTER:
- verify(_setName.empty());
- verify(_servers.size() == 1);
+ uassert(ErrorCodes::FailedToParse,
+ "Cannot specify a replica set name for a ConnectionString of type MASTER",
+ _setName.empty());
+ uassert(ErrorCodes::FailedToParse,
+ "ConnectionStrings of type MASTER must contain exactly one server",
+ _servers.size() == 1);
break;
case SET:
- verify(!_setName.empty());
- verify(_servers.size() >= 1); // 1 is ok since we can derive
+ uassert(ErrorCodes::FailedToParse,
+ "Must specify set name for replica set ConnectionStrings",
+ !_setName.empty());
+ uassert(ErrorCodes::FailedToParse,
+ "Replica set ConnectionStrings must have at least one server specified",
+ _servers.size() >= 1);
break;
default:
- verify(_servers.size() > 0);
+ uassert(ErrorCodes::FailedToParse,
+ "ConnectionStrings must specify at least one server",
+ _servers.size() > 0);
}
// Needed here as well b/c the parsing logic isn't used in all constructors