summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVesselina Ratcheva <vesselina.ratcheva@10gen.com>2019-05-07 17:47:00 -0400
committerVesselina Ratcheva <vesselina.ratcheva@10gen.com>2019-05-09 13:27:55 -0400
commit21746d3302f37a9d5716c2f249b99d7f0e273344 (patch)
tree80149f881582e72dfc7b6bc14148c1c752a8cb7e
parentf8f40d2bc140d4e8cfbc09d934ccb17682ea0d7f (diff)
downloadmongo-21746d3302f37a9d5716c2f249b99d7f0e273344.tar.gz
SERVER-41036 Make ReadWriteAbility::_canAcceptNonLocalWrites an AtomicWord<bool>
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl.cpp8
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl.h2
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.