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.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/mongo/db/repl/master_slave.cpp b/src/mongo/db/repl/master_slave.cpp
index 6929d5be297..82233f36753 100644
--- a/src/mongo/db/repl/master_slave.cpp
+++ b/src/mongo/db/repl/master_slave.cpp
@@ -1315,7 +1315,8 @@ static void replMasterThread() {
// when things are idle.
const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext();
OperationContext& txn = *txnPtr;
- AuthorizationSession::get(txn.getClient())->grantInternalAuthorization();
+ AuthorizationSession::get(txn.getClient())->grantInternalAuthorization(txnPtr.get());
+
Lock::GlobalWrite globalWrite(txn.lockState(), 1);
if (globalWrite.isLocked()) {
@@ -1341,7 +1342,7 @@ static void replSlaveThread() {
const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext();
OperationContext& txn = *txnPtr;
- AuthorizationSession::get(txn.getClient())->grantInternalAuthorization();
+ AuthorizationSession::get(txn.getClient())->grantInternalAuthorization(txnPtr.get());
DisableDocumentValidation validationDisabler(&txn);
while (1) {
@@ -1368,7 +1369,7 @@ void startMasterSlave(OperationContext* txn) {
if (!replSettings.isSlave() && !replSettings.isMaster())
return;
- AuthorizationSession::get(txn->getClient())->grantInternalAuthorization();
+ AuthorizationSession::get(txn->getClient())->grantInternalAuthorization(txn);
{
ReplSource temp(txn); // Ensures local.me is populated