diff options
author | Benety Goh <benety@mongodb.com> | 2016-07-21 14:56:34 -0400 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2016-07-22 14:39:49 -0400 |
commit | dfe5d4b0b4986c18e8eff3634a3f44b28d4a2197 (patch) | |
tree | 11c7b3b8299c9b218929adf2529c7be94bc42d85 /src/mongo/db/repl/databases_cloner.cpp | |
parent | 9a8cc7728527c33bb6d0ecdddd0952ce22b61d2a (diff) | |
download | mongo-dfe5d4b0b4986c18e8eff3634a3f44b28d4a2197.tar.gz |
SERVER-25197 DataReplicator tests should explicitly override CollectionCloner db work scheduler for deterministic behavior.
Diffstat (limited to 'src/mongo/db/repl/databases_cloner.cpp')
-rw-r--r-- | src/mongo/db/repl/databases_cloner.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mongo/db/repl/databases_cloner.cpp b/src/mongo/db/repl/databases_cloner.cpp index cb41c33611e..dd7e8e6996c 100644 --- a/src/mongo/db/repl/databases_cloner.cpp +++ b/src/mongo/db/repl/databases_cloner.cpp @@ -179,6 +179,11 @@ Status DatabasesCloner::startup() { return _status; } +void DatabasesCloner::setScheduleDbWorkFn_forTest(const CollectionCloner::ScheduleDbWorkFn& work) { + LockGuard lk(_mutex); + _scheduleDbWorkFn = work; +} + void DatabasesCloner::_onListDatabaseFinish(const CommandCallbackArgs& cbd) { Status respStatus = cbd.response.getStatus(); if (respStatus.isOK()) { @@ -250,6 +255,9 @@ void DatabasesCloner::_onListDatabaseFinish(const CommandCallbackArgs& cbd) { _storage, // use storage provided. onCollectionFinish, onDbFinish)); + if (_scheduleDbWorkFn) { + dbCloner->setScheduleDbWorkFn_forTest(_scheduleDbWorkFn); + } // Start database cloner. startStatus = dbCloner->start(); } catch (...) { |