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

Abort active Index Builds when user write blocking is enabled

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 6.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • Security 2022-04-04, Security 2022-04-18

      Index builds are started by users which may or may not have the ability to bypass write blocking. These index builds run for some time, and are eventually committed on primary nodes. However, the node on which the index build is started may not be the node on which it commits. This means that the committing node needs information about the client attached to the durable state of the index build in order to determine whether it should be able to commit.

      To solve this problem, we should abort all active index builds when user write blocking is enabled. This ensures that indexes attempting to commit while write block mode is active had their client's ability to bypass write block mode correctly validated when they started building. All index builds committing in write block mode should thus succeed. This solution allows us to avoid propagating per-client state in startIndexBuild oplog events, and through the catalog for initial sync.

            Assignee:
            gabriel.marks@mongodb.com Gabriel Marks
            Reporter:
            spencer.jackson@mongodb.com Spencer Jackson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: