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

adjust startup to resume index build from phase 2 (bulk load index table from sorted keys)

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: Storage
    • None
    • Fully Compatible
    • Execution Team 2020-07-27, Execution Team 2020-08-10

      Currently, index builds are restarted from the beginning. To be able to resume an index build, we require the temporary tables used by the hybrid index build to be preserved on startup and the progress information in the internal index build table (one table per index build).

      This ticket implements the resumable index build logic for index builds that were shut down during the bulk load phase. The internal ident for the index build should have the following phase:

      { _id: <build uuid>,
       phase: "bulk load",
       ...
      }
      

       

      If shutdown is initiated in the second phase (where the bulk loader is being used to build each index table, serially), the bulk load will be aborted and the same information, other than the "phase" value, is saved as from the first phase. On restart, the bulk load of all the tables will begin anew.  We must ensure the unfinished index tables are empty before starting a new bulk load, by dropping and recreating the tables.

      If the second phase completes successfully, each Sorter temporary file is deleted.

            Assignee:
            gregory.noma@mongodb.com Gregory Noma
            Reporter:
            benety.goh@mongodb.com Benety Goh
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: