diff options
Diffstat (limited to 'src/mongo/client/dbclient_base.cpp')
| -rw-r--r-- | src/mongo/client/dbclient_base.cpp | 5 |
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; } |
