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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.1.0, 5.0.0-rc2
    • Component/s: Storage
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v5.0
    • Sprint:
      Execution Team 2021-05-31
    • Linked BF Score:
      129

      Description

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              benety.goh Benety Goh
              Reporter:
              benety.goh Benety Goh
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: