Skip to content

Commit 7431e60

Browse files
lankasMongoDB Bot
authored andcommitted
SERVER-85627 Log thread information when interrupted by repl state change (#18653) (#31321)
GitOrigin-RevId: 06a1b2cb71e67337e1859db7e356d1420e5b601f
1 parent a07fa08 commit 7431e60

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

src/mongo/db/repl/replication_coordinator_impl.cpp

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2662,11 +2662,19 @@ void ReplicationCoordinatorImpl::_killConflictingOpsOnStepUpAndStepDown(
26622662
// Don't kill step up/step down thread.
26632663
if (toKill && !toKill->isKillPending() && toKill->getOpID() != rstlOpCtx->getOpID()) {
26642664
auto locker = toKill->lockState();
2665-
if (toKill->shouldAlwaysInterruptAtStepDownOrUp() ||
2666-
locker->wasGlobalLockTakenInModeConflictingWithWrites() ||
2667-
PrepareConflictTracker::get(toKill).isWaitingOnPrepareConflict()) {
2665+
bool alwaysInterrupt = toKill->shouldAlwaysInterruptAtStepDownOrUp();
2666+
bool globalLockConfict = locker->wasGlobalLockTakenInModeConflictingWithWrites();
2667+
bool isWaitingOnPrepareConflict =
2668+
PrepareConflictTracker::get(toKill).isWaitingOnPrepareConflict();
2669+
if (alwaysInterrupt || globalLockConfict || isWaitingOnPrepareConflict) {
26682670
serviceCtx->killOperation(lk, toKill, reason);
26692671
arsc->incrementUserOpsKilled();
2672+
LOGV2(8562701,
2673+
"Repl state change interrupted a thread.",
2674+
"name"_attr = client->desc(),
2675+
"alwaysInterrupt"_attr = alwaysInterrupt,
2676+
"globalLockConflict"_attr = globalLockConfict,
2677+
"isWaitingOnPrepareConflict"_attr = isWaitingOnPrepareConflict);
26702678
} else {
26712679
arsc->incrementUserOpsRunning();
26722680
}

0 commit comments

Comments
 (0)