-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2026-03-30, CAR Team 2026-04-13, CAR Team 2026-04-27, CAR Team 2026-05-11
-
2
-
🟥 DDL
-
None
-
None
-
None
-
None
-
None
-
None
ConvertToCappedCoordinator has _mustAlwaysMakeProgress() returning false during phases where critical section is already held. If a non-retriable error occurs in these phases AND cleanup fails before persisting the abort reason, the coordinator gives up without cleaning up, leaving critical sections held indefinitely.
Failure scenario
- Coordinator acquires critical section at kAcquireCriticalSectionOnCoordinator.
- Failure occurs at a later phase where _mustAlwaysMakeProgress() is still false.
- triggerCleanup is called but fails before persisting the abort reason.
- Coordinator gives up (no retry because _mustAlwaysMakeProgress() is false).
- Critical section remains held, blocking CRUD operations indefinitely.
- related to
-
SERVER-117615 RefineCollectionShardKeyCoordinator may exit without proper cleanup leaving migrations frozen
-
- Closed
-
-
SERVER-121383 AddShard coordinator may exit without proper cleanup leaving setFCV and user writes blocked
-
- Closed
-
-
SERVER-126244 [TEST ONLY] Remove multiversion_incompatible tag from collmod test
-
- Blocked
-
-
SERVER-117613 CreateCollectionCoordinator may exit without proper cleanup leaving the critical section held
-
- Closed
-