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

In SBE sub planner avoid race condition between pinned and non-pinned cache entry

    • Type: Icon: Bug Bug
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • ALL
    • v8.0, v7.0

      Consider the following scenario with SBE sub planner.

      1. Two queries are executing concurrently.
      2. Queries start to choose a plan for subqueries.
      3. For query 1 sub-planning fails and it falls back to multi-planning for the whole query.
      4. Query 1 uses multi-planning and creates a non-pinned cache entry.
      5. Query 2 successfully uses sub planning and tries to create a pinned cache entry.
      6. It fails with code: 6108302 errmsg: Works value is not present in the old cache entry.

      In 8.0+ we are not going to use pure SBE runtime planners and probably going to just delete them: SERVER-88047

      We still need to fix this for 7.0.

            ivan.fefer@mongodb.com Ivan Fefer
            ivan.fefer@mongodb.com Ivan Fefer
            0 Vote for this issue
            5 Start watching this issue