-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Replication
-
ALL
-
Repl 2024-09-30, Repl 2024-10-14, Repl 2024-10-28, Repl 2024-11-11
The OldestActiveTxnTimestamp thread takes a db lock in IS mode, which results in it taking the global lock in IS mode as well as the RSTL in IX mode.
The AutoGetRSTLForStepUpStepDown only kills conflicting operations if they took the global lock in X, IX, or S mode, so it wouldn't kill this thread. It seems like we should mark the OldestActiveTxnTimestamp thread as interruptible during stepup/stepdown, and additionally check for interrupt in this loop, since it's possible that going through all the active transactions would take longer than the RSTL timeout period of 30 seconds, causing the AutoGetRSTLForStepUpStepDown to fassert.