diff options
-rw-r--r-- | src/mongo/s/client/sharding_connection_hook.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/s/client/sharding_connection_hook.cpp b/src/mongo/s/client/sharding_connection_hook.cpp index f74c9ea282d..3a5970b8091 100644 --- a/src/mongo/s/client/sharding_connection_hook.cpp +++ b/src/mongo/s/client/sharding_connection_hook.cpp @@ -40,6 +40,7 @@ #include "mongo/db/auth/authorization_session.h" #include "mongo/db/auth/internal_user_auth.h" #include "mongo/db/client.h" +#include "mongo/rpc/get_status_from_command_result.h" #include "mongo/rpc/metadata/audit_metadata.h" #include "mongo/s/client/scc_fast_query_handler.h" #include "mongo/s/cluster_last_error_info.h" @@ -95,8 +96,9 @@ void ShardingConnectionHook::onCreate(DBClientBase* conn) { } } else if (conn->type() == ConnectionString::MASTER) { BSONObj isMasterResponse; - conn->runCommand("admin", BSON("ismaster" << 1), isMasterResponse); - + if (!conn->runCommand("admin", BSON("ismaster" << 1), isMasterResponse)) { + uassertStatusOK(getStatusFromCommandResult(isMasterResponse)); + } long long configServerModeNumber; Status status = |