summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Schultz <william.schultz@mongodb.com>2017-06-02 11:09:56 -0400
committerWilliam Schultz <william.schultz@mongodb.com>2017-06-02 17:15:09 -0400
commit5bdb58208a4dec96e43d494ddd6495fa808a6922 (patch)
tree75ce3899df9886c9b6f888b7ca7cd372a66fcfa5
parentc95674f21efc379b60b682dd64fd73a6dee9d5d3 (diff)
downloadmongo-5bdb58208a4dec96e43d494ddd6495fa808a6922.tar.gz
SERVER-28924 Change DatabasesCloner to use 'nameOnly' version of
listDatabases (3.2 backport of commit 222729e604843568bb7100be1d94b28853c2da8d)
-rw-r--r--src/mongo/db/repl/data_replicator.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mongo/db/repl/data_replicator.cpp b/src/mongo/db/repl/data_replicator.cpp
index aed481df509..145ffc2e92c 100644
--- a/src/mongo/db/repl/data_replicator.cpp
+++ b/src/mongo/db/repl/data_replicator.cpp
@@ -386,10 +386,12 @@ Status DatabasesCloner::start() {
_status = Status::OK();
log() << "starting cloning of all databases";
- // Schedule listDatabase command which will kick off the database cloner per result db.
+ // Schedule listDatabase command which will kick off the database cloner per result db. We only
+ // retrieve database names since computing & fetching all database stats can be costly on the
+ // remote node when there are a large number of collections.
Request listDBsReq(_source,
"admin",
- BSON("listDatabases" << true),
+ BSON("listDatabases" << true << "nameOnly" << true),
rpc::ServerSelectionMetadata(true, boost::none).toBSON());
CBHStatus s = _exec->scheduleRemoteCommand(
listDBsReq,