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

ReadyIndexesIterator::_advance() does not perform isReady() check

    • Type: Icon: Bug Bug
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • ALL
    • v4.2
    • Execution Team 2019-08-26

      A change for SERVER-37263 removed a check in ReadyIndexesIterator::_advance() that skips indexes returning false for isReady().

      https://github.com/mongodb/mongo/commit/a5ce10b0982c7a0378ba92f1c7d3e02d49d0b18a#diff-d394cc50d8f61537a660446b56f0b5d5L96-L97

      Skipping this check may allow a query to scan an index that is not consistent with the current transaction. We believe the fassert() added by SERVER-40620 (since reverted) is tripping as a result of an index getting used that should have been filtered out by an isReady() check. Let me know if you'd like details on how to reproduce that.

            Assignee:
            daniel.gottlieb@mongodb.com Daniel Gottlieb (Inactive)
            Reporter:
            justin.seyster@mongodb.com Justin Seyster
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: