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

Relax invariants in SBE save/restore logic

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.2.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • 159

      There is a recently-added invariant in SBE's PlanStage::saveState() checking that the stage is not already in a "saved" state.

      It is possible to get a WCE while restoring() a plan executor. If this happens, the plan will actually be left in a "partially" restored state, with some stages still in a "saved" state. When retrying the save/restore, the invariant in saveState() about the stage not already being in a saved state will trip.

      We should delete this invariant and relax others as necessary.

            Assignee:
            ian.boros@mongodb.com Ian Boros
            Reporter:
            ian.boros@mongodb.com Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: