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

Index build lock acquisitions should be interruptible

    • Fully Compatible
    • Storage NYC 2018-12-31, Storage NYC 2019-01-14, Storage NYC 2019-01-28, Storage NYC 2019-02-11, Storage NYC 2019-03-25, Storage NYC 2019-04-08, Storage NYC 2019-04-22, Storage NYC 2019-05-06, Storage NYC 2019-05-20, Execution Team 2019-06-03
    • 13

      Index build avoids interruptions in several places, especially for background index build. They will conflict with prepared transactions on stepdown and shutdown. We can either make index build interruptible, or use IX or IS locks instead of X or S locks.

      Here's a list of all occurrences of UninterruptibleLockGuard for index build.
      src/mongo/db/catalog/multi_index_block_impl.cpp:156
      src/mongo/db/commands/create_indexes.cpp:325
      src/mongo/db/index_builder.cpp:195
      src/mongo/db/index_builder.cpp:299

            Assignee:
            milkie@mongodb.com Eric Milkie
            Reporter:
            siyuan.zhou@mongodb.com Siyuan Zhou
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: