Add requestedRanker to explain V3 and finalize the rankerChoice object

XMLWordPrintableJSON

    • Type: Sub-task
    • Resolution: Won't Do
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Query Optimization
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Goal

      Finish queryPlanner.rankerChoice after SERVER-132229 (chosenRanker) and SERVER-132377 (reason) land. This is the finishing sub-task of SERVER-132104: when it closes, the parent closes.

      Work items

      1. Populate requestedRanker — the ranker the internal logic understood to be requested, resolved from the dispatch inputs (internalQueryPlanRanker, internalQueryMixedPlanRankingStrategy, featureFlagCostBasedRanker): one of multiPlanning, costBased, Mixed/NoMultiplanningResults, Mixed/EstimateRankingEffort, none.
      2. Remove all remaining empty-string placeholders from the rankerChoice emission and discharge the corresponding TODO markers. Rationale: the final output must honor the design principle "absent, never empty" — a value that was not computed is omitted, not emitted as "".
      3. Add the exhaustive validity-matrix test: assert that only valid (requestedRanker, chosenRanker, reason) triples per the design doc's combination table can be produced, across the planRanker x mixedPlanRankingStrategy configuration space. (Representative per-field tests land with SERVER-132229/SERVER-132377; this matrix asserts the combined object and therefore lives here.)
      4. Record an explicit decision on the optional phases decision trail (the design doc's may-defer enrichment): defer to a new ticket or drop with rationale, so it does not silently evaporate at parent closure.

      Dependencies

      Depends on SERVER-132229 and SERVER-132377 — items 2 and 3 cannot complete before reason is real.

            Assignee:
            Unassigned
            Reporter:
            Nicholas Zolnierz
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: