diff options
Diffstat (limited to 'src/mongo/db/ops/insert.cpp')
-rw-r--r-- | src/mongo/db/ops/insert.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/ops/insert.cpp b/src/mongo/db/ops/insert.cpp index dfc841588dc..4267cffe015 100644 --- a/src/mongo/db/ops/insert.cpp +++ b/src/mongo/db/ops/insert.cpp @@ -35,6 +35,7 @@ #include "mongo/bson/bson_depth.h" #include "mongo/db/logical_clock.h" #include "mongo/db/logical_time.h" +#include "mongo/db/repl/replication_coordinator.h" #include "mongo/db/views/durable_view_catalog.h" #include "mongo/util/str.h" @@ -183,6 +184,9 @@ Status userAllowedWriteNS(StringData db, StringData coll) { if (coll == "system.profile") { return Status(ErrorCodes::InvalidNamespace, str::stream() << "cannot write to '" << db << ".system.profile'"); + } else if (db == "local" && coll == "oplog.rs" && + repl::ReplicationCoordinator::get(getGlobalServiceContext())->isReplEnabled()) { + return Status(ErrorCodes::InvalidNamespace, "cannot write to 'local.oplog.rs'"); } return userAllowedCreateNS(db, coll); } |