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

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

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

      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@mongodb.com Benety Goh
            Reporter:
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: