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

      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: