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

Make PlanYieldPolicy::yieldOrInterrupt() safer

    • Type: Icon: Improvement Improvement
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • 200

      This block of code assumes that the only place where a StorageUnavailableException can be thrown is in restoreState(), which re-sets the objects _yieldable pointer. If somewhere else were to throw, the invariant (now tassert) around _yieldable would trip.

      While in practice we do not believe it is possible for any other code to throw StorageUnavailableException, we should nevertheless make the code safe in this situation.

            Assignee:
            kevin.cherkauer@mongodb.com Kevin Cherkauer
            Reporter:
            ian.boros@mongodb.com Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:
              Resolved: