diff options
Diffstat (limited to 'src/mongo/client/replica_set_monitor.cpp')
-rw-r--r-- | src/mongo/client/replica_set_monitor.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/mongo/client/replica_set_monitor.cpp b/src/mongo/client/replica_set_monitor.cpp index 8b126fc00f2..3a2276c252f 100644 --- a/src/mongo/client/replica_set_monitor.cpp +++ b/src/mongo/client/replica_set_monitor.cpp @@ -495,6 +495,18 @@ void ReplicaSetMonitor::cleanup() { seedServers = StringMap<set<HostAndPort>>(); } +bool ReplicaSetMonitor::isKnownToHaveGoodPrimary() const { + boost::mutex::scoped_lock lk(_state->mutex); + + for (const auto& node : _state->nodes) { + if (node.isMaster) { + return true; + } + } + + return false; +} + Refresher::Refresher(const SetStatePtr& setState) : _set(setState), _scan(setState->currentScan), _startedNewScan(false) { if (_scan) |