In SERVER-57231, we updated the finalization logic in TemporaryKVRecordStore so that the finalization flag is updated in a commit handler when we are running within a WriteConflictException retry loop with an active WriteUnitOfWork.
However, the RecoveryUnit in a ephemeralForTest storage engine never returns true for the RecoveryUnit::isActive() function. The implementation transitions the internal state to kInactiveInUnitOfWork but never makes to Active. Most of the server code that queries the active state only cares about !isActive() so this is generally not an issue for test deployments using the ephemeralForTest storage engine.
The impact of this defect is limited to server instances running the non-production ephemeralForTest storage engine.
- is related to
-
SERVER-50293 TemporaryKVRecordStore should reset the _recordStoreHasBeenFinalized flags state on a WriteConflictException
- Closed
-
SERVER-57231 [ephemeralForTest] index build cleanup fails with invariant if WUOW throws WCE at commit time
- Closed
-
SERVER-38397 make WiredTigerRecoveryUnit::State a general concept in RecoveryUnit
- Closed