-
Type: Improvement
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Replication
Currently, internal operations rely on callingĀ setSystemOperationKillable() to allow themselves to be killed by the RstlKillOpThread on step up/down. This design is error-prone and has resulted in bugs like SERVER-40594 and SERVER-43174.
Instead, we should somehow make the RstlKillOpThread more intelligent on what operations to kill without relying on clients setting the flag. I think we should always kill operations that have intention to acquire strong locks (Mode X/S) because they could be blocked on prepared transactions while holding onto RSTL, preventing step up/down from proceeding.
- depends on
-
SERVER-43174 Designate the MigrationDestinationManager's migrateThread as system operation killable
- Closed
- related to
-
SERVER-43216 Invariant internal operations that acquire strong locks are marked killable
- Closed