-
Type:
Improvement
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Query Optimization
-
None
-
None
-
None
-
None
-
None
-
None
-
None
SERVER-136737, implemented the logic around inserting baseline metrics into the join plan cache entry. On a cache hit, these metrics (numReads, numIntermediateRowsProduced and numSpills) from the TrialRunTracker should be used to make a decision on whether to initiate replanning for the query. The plan from the cache will be run under a trial period for N number of docs (tuneable) and its metrics will be recorded.
The replanning decision will be based on:
- Did the query start spilling when previously it did not?
- Did numReads exceed k * baseline.numReads?
- Did numIntermediateRowsProduced exceed k * baseline.numIntermediateRowsProduced?
k will be tuneable parameter.
- depends on
-
SERVER-136737 Record baseline metrics and implement cache-eligibility gate for join plan cache entry
-
- In Code Review
-
- is depended on by
-
SERVER-136739 Add finer-grained observability metrics for join plan cache replanning
-
- Backlog
-
-
SERVER-136740 Concurrency testing for join plan cache replanning
-
- Backlog
-
- related to
-
SERVER-136742 Extend join plan cache replanning correctness testing
-
- Backlog
-