EOF optimization in MultiPlanner causes profile_find.js to fail due to missing replanReason

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Execution
    • Fully Compatible
    • ALL
    • Hide

      ninja -j128 install-devcore && buildscripts/resmoke.py run --suite core --mongodSetParameters='{logComponentVerbosity: {query: 5}}' --additionalFeatureFlags featureFlagSbeFull,featureFlagClassicRuntimePlanningForSbe jstests/core/administrative/profile/profile_find.js .

      Show
      ninja -j128 install-devcore && buildscripts/resmoke.py run --suite core --mongodSetParameters='{logComponentVerbosity: {query: 5}}' --additionalFeatureFlags featureFlagSbeFull,featureFlagClassicRuntimePlanningForSbe jstests/core/administrative/profile/profile_find.js .
    • QO 2024-03-18
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Failing test: jstests/core/administrative/profile/profile_find.js .

      Problem
      When EOF optimization is available, MultiPlanner constructs the executor with `_multiPlanStage` and returns the executor directly. This causes the jstest failure because the specific stats returned by MultiPlanStats does not have `replanReason` field.

      Approach
      Consolidate both the stats MultiPlanStats and CachedPlanStats to have `replanReason` field and allow passing the replanReason into `_multiPlanStage`.

      Note
      After addressing the issue, re-enable the test core/administrative/profile/profile_find.js .

              Assignee:
              Chi-I Huang
              Reporter:
              Chi-I Huang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: