summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/master_slave.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/master_slave.cpp')
-rw-r--r--src/mongo/db/repl/master_slave.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
index ed212ec276f..77a4b09e9d2 100644
--- a/src/mongo/db/repl/master_slave.cpp
+++ b/src/mongo/db/repl/master_slave.cpp
@@ -163,12 +163,10 @@ namespace repl {
void ReplSource::ensureMe(OperationContext* txn) {
string myname = getHostName();
- bool exists = false;
- {
- Client::ReadContext ctx(txn, "local");
- // local.me is an identifier for a server for getLastError w:2+
- exists = Helpers::getSingleton(txn, "local.me", _me);
- }
+
+ // local.me is an identifier for a server for getLastError w:2+
+ bool exists = Helpers::getSingleton(txn, "local.me", _me);
+
if (!exists || !_me.hasField("host") || _me["host"].String() != myname) {
Client::WriteContext ctx(txn, "local");
// clean out local.me
@@ -1375,9 +1373,10 @@ namespace repl {
BSONObjBuilder b;
b.append(_id);
BSONObj result;
- Client::ReadContext ctx(txn, ns );
- if( Helpers::findById(txn, ctx.ctx().db(), ns, b.done(), result) )
+ AutoGetCollectionForRead ctx(txn, ns );
+ if (Helpers::findById(txn, ctx.getDb(), ns, b.done(), result)) {
_dummy_z += result.objsize(); // touch
+ }
}
}
catch( DBException& ) {