rollback persists resumable index info before index build thread is cleaned up

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.9.0
    • Affects Version/s: None
    • Component/s: Storage
    • Fully Compatible
    • ALL
    • Execution Team 2020-10-19
    • 37
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      When an index build is interrupted for shutdown, the index build thread is responsible for persisting the resumable information to disk. This is done in the IndexBuildsCoordinator::_cleanUpTwoPhaseAfterFailure() function.

      For rollback, the resumable index build information is written to disk in the thread (typically BackgroundSync) that is stopping the index build before starting the rollback process. The state of the index build thread is unclear at this point. In most cases, the index build is in a valid state for us to extract the resumable index build information

      This inconsistency between rollback and shutdown with respect to writing out the resumable index information means that we would either have to:

      • synchronize the shutdown of the index build thread with the rollback abort thread; or
      • have the index build thread write out the resumable index build state under both rollback and shutdown scenarios.

            Assignee:
            Benety Goh
            Reporter:
            Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: