Index build lock acquisitions should be interruptible

XMLWordPrintableJSON

    • 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
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      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:
            Eric Milkie
            Reporter:
            Siyuan Zhou
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: