diff options
author | Jack Mulrow <jack.mulrow@mongodb.com> | 2018-05-10 10:39:04 -0400 |
---|---|---|
committer | Jack Mulrow <jack.mulrow@mongodb.com> | 2018-05-14 11:17:11 -0400 |
commit | 15d7cab640425bcb4de62e6b3c13d9188181f5ce (patch) | |
tree | 00f0d5c9b7ffdad41eae1eabed904bd82dec97db /src | |
parent | 8e27c2b49ba17fe9b02695efb29a6322b56c2f23 (diff) | |
download | mongo-15d7cab640425bcb4de62e6b3c13d9188181f5ce.tar.gz |
SERVER-34674 Remove _isEnabled invariants from the logical clock
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/logical_clock.cpp | 6 | ||||
-rw-r--r-- | src/mongo/db/logical_clock.h | 9 | ||||
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_impl.cpp | 2 | ||||
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp | 2 |
4 files changed, 9 insertions, 10 deletions
diff --git a/src/mongo/db/logical_clock.cpp b/src/mongo/db/logical_clock.cpp index efa2d55831b..4a68e0db200 100644 --- a/src/mongo/db/logical_clock.cpp +++ b/src/mongo/db/logical_clock.cpp @@ -107,7 +107,6 @@ LogicalTime LogicalClock::getClusterTime() { Status LogicalClock::advanceClusterTime(const LogicalTime newTime) { stdx::lock_guard<stdx::mutex> lock(_mutex); - invariant(_isEnabled); auto rateLimitStatus = _passesRateLimiter_inlock(newTime); if (!rateLimitStatus.isOK()) { @@ -126,7 +125,6 @@ LogicalTime LogicalClock::reserveTicks(uint64_t nTicks) { invariant(nTicks > 0 && nTicks <= kMaxSignedInt); stdx::lock_guard<stdx::mutex> lock(_mutex); - invariant(_isEnabled); LogicalTime clusterTime = _clusterTime; @@ -209,9 +207,9 @@ bool LogicalClock::isEnabled() const { return _isEnabled; } -void LogicalClock::setEnabled(bool isEnabled) { +void LogicalClock::disable() { stdx::lock_guard<stdx::mutex> lock(_mutex); - _isEnabled = isEnabled; + _isEnabled = false; } } // namespace mongo diff --git a/src/mongo/db/logical_clock.h b/src/mongo/db/logical_clock.h index e0f5c135c1c..4145185fc6f 100644 --- a/src/mongo/db/logical_clock.h +++ b/src/mongo/db/logical_clock.h @@ -58,7 +58,7 @@ public: static LogicalTime getClusterTimeForReplicaSet(OperationContext* opCtx); /** - * Creates an instance of LogicalClock. + * Creates an instance of LogicalClock. */ LogicalClock(ServiceContext*); @@ -89,14 +89,15 @@ public: void setClusterTimeFromTrustedSource(LogicalTime newTime); /** - * Returns true if the clock is enabled and can be used. + * Returns true if the clock is enabled and can be used. Defaults to true. */ bool isEnabled() const; /** - * Passing "true" enables the clock. + * Disables the logical clock. A disabled clock won't process logical times and can't be + * re-enabled. */ - void setEnabled(bool isEnabled); + void disable(); private: /** diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp index a36e5207767..210c65c13af 100644 --- a/src/mongo/db/repl/replication_coordinator_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_impl.cpp @@ -564,7 +564,7 @@ void ReplicationCoordinatorImpl::_finishLoadLocalConfig( } } else { // The node is an arbiter hence will not need logical clock for external operations. - LogicalClock::get(getServiceContext())->setEnabled(false); + LogicalClock::get(getServiceContext())->disable(); auto validator = LogicalTimeValidator::get(getServiceContext()); if (validator) { validator->resetKeyManager(); diff --git a/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp b/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp index 849fc58cdc1..200d9984dd1 100644 --- a/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp +++ b/src/mongo/db/repl/replication_coordinator_impl_heartbeat.cpp @@ -531,7 +531,7 @@ void ReplicationCoordinatorImpl::_heartbeatReconfigStore( newConfig.getMemberAt(myIndex.getValue()).isArbiter(); if (isArbiter) { - LogicalClock::get(getGlobalServiceContext())->setEnabled(false); + LogicalClock::get(getGlobalServiceContext())->disable(); if (auto validator = LogicalTimeValidator::get(getGlobalServiceContext())) { validator->resetKeyManager(); } |