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

[v7.0] Fix DeleteStage swallowing NEED_YIELD

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.0.12
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • QE 2024-05-27
    • 200

      In v7.0 branch
      https://github.com/mongodb/mongo/blob/48cc91ab2b24c065ce6ff5e4760673e3ed1d0028/src/mongo/db/exec/delete_stage.cpp#L332

      This line should be
      return restoreStateRet;
      instead of
      return ret;
      We don’t correctly pass NEED_YIELD in that case in DeleteStage and it causes mongod to crash.

      In 7.1+ it was fixed indirectly by SERVER-80859, but changes in this ticket are connected to at least 2 other tickets: SERVER-82361 and SERVER-78470, so in this ticket we commit one-line fix directly to v7.0 branch.

      v6.0 itself is not affected, as it explicitly passes NEED_YIELD on WriteConflictException.

            Assignee:
            ivan.fefer@mongodb.com Ivan Fefer
            Reporter:
            ivan.fefer@mongodb.com Ivan Fefer
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: