diff options
author | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2019-05-07 17:47:00 -0400 |
---|---|---|
committer | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2019-05-09 13:27:55 -0400 |
commit | 21746d3302f37a9d5716c2f249b99d7f0e273344 (patch) | |
tree | 80149f881582e72dfc7b6bc14148c1c752a8cb7e | |
parent | f8f40d2bc140d4e8cfbc09d934ccb17682ea0d7f (diff) | |
download | mongo-21746d3302f37a9d5716c2f249b99d7f0e273344.tar.gz |
SERVER-41036 Make ReadWriteAbility::_canAcceptNonLocalWrites an AtomicWord<bool>
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_impl.cpp | 8 | ||||
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_impl.h | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp index df7e2ca7c44..1f661c62cf6 100644 --- a/src/mongo/db/repl/replication_coordinator_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_impl.cpp @@ -3927,15 +3927,15 @@ void ReplicationCoordinatorImpl::ReadWriteAbility::setCanAcceptNonLocalWrites( // We must be holding the RSTL in mode X to change _canAcceptNonLocalWrites. invariant(opCtx); invariant(opCtx->lockState()->isRSTLExclusive()); - _canAcceptNonLocalWrites = canAcceptWrites; + _canAcceptNonLocalWrites.store(canAcceptWrites); } bool ReplicationCoordinatorImpl::ReadWriteAbility::canAcceptNonLocalWrites(WithLock) const { - return _canAcceptNonLocalWrites; + return _canAcceptNonLocalWrites.loadRelaxed(); } bool ReplicationCoordinatorImpl::ReadWriteAbility::canAcceptNonLocalWrites_UNSAFE() const { - return _canAcceptNonLocalWrites; + return _canAcceptNonLocalWrites.loadRelaxed(); } bool ReplicationCoordinatorImpl::ReadWriteAbility::canAcceptNonLocalWrites( @@ -3943,7 +3943,7 @@ bool ReplicationCoordinatorImpl::ReadWriteAbility::canAcceptNonLocalWrites( // We must be holding the RSTL. invariant(opCtx); invariant(opCtx->lockState()->isRSTLLocked()); - return _canAcceptNonLocalWrites; + return _canAcceptNonLocalWrites.loadRelaxed(); } bool ReplicationCoordinatorImpl::ReadWriteAbility::canServeNonLocalReads_UNSAFE() const { diff --git a/src/mongo/db/repl/replication_coordinator_impl.h b/src/mongo/db/repl/replication_coordinator_impl.h index 0356b3b77c5..7e003562029 100644 --- a/src/mongo/db/repl/replication_coordinator_impl.h +++ b/src/mongo/db/repl/replication_coordinator_impl.h @@ -681,7 +681,7 @@ private: // it, must have either the RSTL or the replication coordinator mutex. To set it, must have // both the RSTL in mode X and the replication coordinator mutex. // Always true for standalone nodes. - bool _canAcceptNonLocalWrites; + AtomicWord<bool> _canAcceptNonLocalWrites; // Flag that indicates whether reads from databases other than "local" are allowed. Unlike // _canAcceptNonLocalWrites, above, this question is about admission control on secondaries. |