summaryrefslogtreecommitdiff
path: root/src/mongo/client/dbclient_base.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/client/dbclient_base.cpp')
-rw-r--r--src/mongo/client/dbclient_base.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mongo/client/dbclient_base.cpp b/src/mongo/client/dbclient_base.cpp
index 1f9834f7bf5..192d3c78dd8 100644
--- a/src/mongo/client/dbclient_base.cpp
+++ b/src/mongo/client/dbclient_base.cpp
@@ -453,7 +453,7 @@ void DBClientBase::logout(const string& dbname, BSONObj& info) {
bool DBClientBase::isPrimary(bool& isPrimary, BSONObj* info) {
BSONObjBuilder bob;
- bob.append("hello", 1);
+ bob.append(_apiParameters.getVersion() ? "hello" : "ismaster", 1);
if (auto wireSpec = WireSpec::instance().get(); wireSpec->isInternalClient) {
WireSpec::appendInternalClientWireVersion(wireSpec->outgoing, &bob);
}
@@ -462,7 +462,8 @@ bool DBClientBase::isPrimary(bool& isPrimary, BSONObj* info) {
if (info == nullptr)
info = &o;
bool ok = runCommand("admin", bob.obj(), *info);
- isPrimary = info->getField("isWritablePrimary").trueValue();
+ isPrimary =
+ info->getField(_apiParameters.getVersion() ? "isWritablePrimary" : "ismaster").trueValue();
return ok;
}