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

`IndexCatalogEntryImpl::_catalogIsReady` is unsafe to unconditionally call.

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.0.2, 4.1.2
    • Component/s: Storage
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v4.0
    • Sprint:
      Storage NYC 2018-07-30
    • Linked BF Score:
      17

      Description

      The condition added here is to guard against WT snapshot isolation with read timestamp semantics where a read timestamp of T can sometimes not see committed updates [index build completions] at time < T if the WT transaction were opened before the update [index build] was committed.

      However, while it's possible the timing of events would show storage seeing an index as building, but not complete, it's also possible the storage engine doesn't see the index build having begun. In that circumstance, a call to `_catalogIsReady` is fatal.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: