summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/noop_writer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/noop_writer.cpp')
-rw-r--r--src/mongo/db/repl/noop_writer.cpp27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/mongo/db/repl/noop_writer.cpp b/src/mongo/db/repl/noop_writer.cpp
index c12425fd423..f127b236614 100644
--- a/src/mongo/db/repl/noop_writer.cpp
+++ b/src/mongo/db/repl/noop_writer.cpp
@@ -77,8 +77,8 @@ private:
void run(Seconds waitTime, NoopWriteFn noopWrite) {
Client::initThread("NoopWriter");
while (true) {
- const ServiceContext::UniqueOperationContext txnPtr = cc().makeOperationContext();
- OperationContext& txn = *txnPtr;
+ const ServiceContext::UniqueOperationContext opCtxPtr = cc().makeOperationContext();
+ OperationContext& opCtx = *opCtxPtr;
{
stdx::unique_lock<stdx::mutex> lk(_mutex);
_cv.wait_for(lk, waitTime.toSystemDuration(), [&] { return _inShutdown; });
@@ -86,7 +86,7 @@ private:
if (_inShutdown)
return;
}
- noopWrite(&txn);
+ noopWrite(&opCtx);
}
}
@@ -126,7 +126,7 @@ Status NoopWriter::startWritingPeriodicNoops(OpTime lastKnownOpTime) {
invariant(!_noopRunner);
_noopRunner = stdx::make_unique<PeriodicNoopRunner>(
- _writeInterval, [this](OperationContext* txn) { _writeNoop(txn); });
+ _writeInterval, [this](OperationContext* opCtx) { _writeNoop(opCtx); });
return Status::OK();
}
@@ -135,20 +135,20 @@ void NoopWriter::stopWritingPeriodicNoops() {
_noopRunner.reset();
}
-void NoopWriter::_writeNoop(OperationContext* txn) {
- ScopedTransaction transaction(txn, MODE_IX);
+void NoopWriter::_writeNoop(OperationContext* opCtx) {
+ ScopedTransaction transaction(opCtx, MODE_IX);
// Use GlobalLock + lockMMAPV1Flush instead of DBLock to allow return when the lock is not
// available. It may happen when the primary steps down and a shared global lock is acquired.
- Lock::GlobalLock lock(txn->lockState(), MODE_IX, 1);
+ Lock::GlobalLock lock(opCtx->lockState(), MODE_IX, 1);
if (!lock.isLocked()) {
LOG(1) << "Global lock is not available skipping noopWrite";
return;
}
- txn->lockState()->lockMMAPV1Flush();
+ opCtx->lockState()->lockMMAPV1Flush();
- auto replCoord = ReplicationCoordinator::get(txn);
+ auto replCoord = ReplicationCoordinator::get(opCtx);
// Its a proxy for being a primary
- if (!replCoord->canAcceptWritesForDatabase(txn, "admin")) {
+ if (!replCoord->canAcceptWritesForDatabase(opCtx, "admin")) {
LOG(1) << "Not a primary, skipping the noop write";
return;
}
@@ -166,11 +166,12 @@ void NoopWriter::_writeNoop(OperationContext* txn) {
<< "Writing noop to oplog as there has been no writes to this replica set in over "
<< _writeInterval;
MONGO_WRITE_CONFLICT_RETRY_LOOP_BEGIN {
- WriteUnitOfWork uow(txn);
- txn->getClient()->getServiceContext()->getOpObserver()->onOpMessage(txn, kMsgObj);
+ WriteUnitOfWork uow(opCtx);
+ opCtx->getClient()->getServiceContext()->getOpObserver()->onOpMessage(opCtx,
+ kMsgObj);
uow.commit();
}
- MONGO_WRITE_CONFLICT_RETRY_LOOP_END(txn, "writeNoop", rsOplogName);
+ MONGO_WRITE_CONFLICT_RETRY_LOOP_END(opCtx, "writeNoop", rsOplogName);
}
}