-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Query Execution
-
None
-
None
-
None
-
None
-
None
-
None
-
None
query_settings_index_hints_tests.js module is used as a part of PQS tests passthrough and it checks if plans with and without query settings match.
However, there is a javascript issue in this line:
const {winningPlanWithoutQuerySettings, rejectedPlansWithoutQuerySettings} =
getAllQueryPlans(explainWithoutQuerySettings);
getAllQueryPlans() returns an object {winningPlan, rejectedPlans}, not a tuple, so when JS unwraps it into winningPlanWithoutQuerySettings and rejectedPlansWithoutQuerySettings, they end up just `undefined` and equal, so they always pass any further equality checks.
This bug was introduced in SERVER-98924,
Another thing is that we can't just blindly fix this: if a plan contains "$$NOW", than in explain it will be unwrapped in {$const: <current date>}, which won't be equal between explains, as it will be updated to every time we run explain.
- is related to
-
SERVER-98924 Improve test runtime of setWindowFields/n_accumulators.js when running under PQS fallback
-
- Closed
-