diff options
author | Geert Bosch <geert@mongodb.com> | 2014-11-20 14:26:43 -0500 |
---|---|---|
committer | Geert Bosch <geert@mongodb.com> | 2014-11-21 13:18:53 -0500 |
commit | e7f6c56327afa51847a95d9d5bc6399209856c10 (patch) | |
tree | 93a6f8b98d13ff81bd21a2ffc9f312e4ff662123 /src/mongo/db/repl/minvalid.cpp | |
parent | e5644e2ca12a60df677cb8e8dfc70f19a9423b0a (diff) | |
download | mongo-e7f6c56327afa51847a95d9d5bc6399209856c10.tar.gz |
SERVER-16192: Add ScopedTransaction to automatically commitAndRestart()
Diffstat (limited to 'src/mongo/db/repl/minvalid.cpp')
-rw-r--r-- | src/mongo/db/repl/minvalid.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/repl/minvalid.cpp b/src/mongo/db/repl/minvalid.cpp index 30a22a611ea..0005f364963 100644 --- a/src/mongo/db/repl/minvalid.cpp +++ b/src/mongo/db/repl/minvalid.cpp @@ -50,17 +50,20 @@ namespace { } // namespace void clearInitialSyncFlag(OperationContext* txn) { + ScopedTransaction transaction(txn, MODE_IX); Lock::DBLock lk(txn->lockState(), "local", MODE_X); Helpers::putSingleton(txn, minvalidNS, BSON("$unset" << initialSyncFlag)); } void setInitialSyncFlag(OperationContext* txn) { + ScopedTransaction transaction(txn, MODE_IX); Lock::DBLock lk(txn->lockState(), "local", MODE_X); Helpers::putSingleton(txn, minvalidNS, BSON("$set" << initialSyncFlag)); } bool getInitialSyncFlag() { OperationContextImpl txn; + ScopedTransaction transaction(&txn, MODE_IX); Lock::DBLock lk(txn.lockState(), "local", MODE_X); BSONObj mv; bool found = Helpers::getSingleton( &txn, minvalidNS, mv); @@ -72,11 +75,13 @@ namespace { } void setMinValid(OperationContext* ctx, OpTime ts) { + ScopedTransaction transaction(ctx, MODE_IX); Lock::DBLock lk(ctx->lockState(), "local", MODE_X); Helpers::putSingleton(ctx, minvalidNS, BSON("$set" << BSON("ts" << ts))); } OpTime getMinValid(OperationContext* txn) { + ScopedTransaction transaction(txn, MODE_IS); Lock::DBLock lk(txn->lockState(), "local", MODE_S); BSONObj mv; bool found = Helpers::getSingleton(txn, minvalidNS, mv); |