diff options
author | Eric Milkie <milkie@10gen.com> | 2015-01-30 10:06:35 -0500 |
---|---|---|
committer | Eric Milkie <milkie@10gen.com> | 2015-01-30 10:06:35 -0500 |
commit | 8e11987b6f7f393bbf1c468f7626d2a4993ae0cb (patch) | |
tree | a907167a9ed72616a704830bfb01d0efd541db38 /src/mongo/db/instance.cpp | |
parent | 94cb08d1d1a14733ebe875f941f4ec1eb8a44b91 (diff) | |
download | mongo-8e11987b6f7f393bbf1c468f7626d2a4993ae0cb.tar.gz |
SERVER-17129 check canAcceptWrites before implicitly creating ns for legacy upsert
Diffstat (limited to 'src/mongo/db/instance.cpp')
-rw-r--r-- | src/mongo/db/instance.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/instance.cpp b/src/mongo/db/instance.cpp index 1a72346d9a9..d8f8c26fba6 100644 --- a/src/mongo/db/instance.cpp +++ b/src/mongo/db/instance.cpp @@ -634,6 +634,10 @@ namespace mongo { ScopedTransaction transaction(txn, MODE_IX); Lock::DBLock dbLock(txn->lockState(), ns.db(), MODE_X); Client::Context ctx(txn, ns); + uassert(ErrorCodes::NotMaster, + str::stream() << "Not primary while performing update on " << ns.ns(), + repl::getGlobalReplicationCoordinator()->canAcceptWritesForDatabase(ns.db())); + Database* db = ctx.db(); if ( db->getCollection( ns ) ) { // someone else beat us to it, that's ok |