summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Hernandez <scotthernandez@gmail.com>2016-09-27 10:47:13 -0400
committerScott Hernandez <scotthernandez@gmail.com>2016-09-27 18:17:58 -0400
commit17a1692c440f4af9cf5a60f58947d547d58c3d5e (patch)
tree9627e779ced8277e2f5668edc59b7f3195e6b309
parent4b247082a95c151069d953a435bc450790565d21 (diff)
downloadmongo-17a1692c440f4af9cf5a60f58947d547d58c3d5e.tar.gz
SERVER-26348: Dissallow oplog reads when in startup (like rollback)
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp
index b924c28d564..9b17082429c 100644
--- a/src/mongo/db/repl/replication_coordinator_impl.cpp
+++ b/src/mongo/db/repl/replication_coordinator_impl.cpp
@@ -1952,9 +1952,9 @@ bool ReplicationCoordinatorImpl::canAcceptWritesFor(const NamespaceString& ns) {
Status ReplicationCoordinatorImpl::checkCanServeReadsFor(OperationContext* txn,
const NamespaceString& ns,
bool slaveOk) {
- if (_memberState.rollback() && ns.isOplog()) {
- return Status(ErrorCodes::NotMasterOrSecondary,
- "cannot read from oplog collection while in rollback");
+ if ((_memberState.startup2() || _memberState.rollback()) && ns.isOplog()) {
+ return {ErrorCodes::NotMasterOrSecondary,
+ "Oplog collection reads are not allowed while in the rollback or startup state."};
}
if (txn->getClient()->isInDirectClient()) {
return Status::OK();