Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-57231

[ephemeralForTest] index build cleanup fails with invariant if WUOW throws WCE at commit time

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.0.0-rc2, 5.1.0-rc0
    • Affects Version/s: None
    • Component/s: Storage
    • Labels:
    • Fully Compatible
    • ALL
    • v5.0
    • Execution Team 2021-05-31
    • 129

      When an index build is aborted, it removes the temporary record stores for the hybrid index build.

      If the storage transaction for removing the temporary record store is interrupted, the TemporaryKVRecordStore should reset its internal "finalized" flag in a rollback handler. However, the internal flag may not get reset if we get a WriteConflictException while trying to committing a WriteUnitOfWork in the ephemeralForTest storage engine (this is not possible with the default WiredTiger storage engine).

      On a subsequent attempt to finalize the temporary record store, the server will fail this invariant.

            benety.goh@mongodb.com Benety Goh
            benety.goh@mongodb.com Benety Goh
            0 Vote for this issue
            0 Start watching this issue