-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Query Execution
-
Minor Change
-
v8.0
-
QE 2024-08-05, QE 2024-08-19, QE 2024-09-02, QE 2024-09-16, QE 2024-09-30
Currently the only user-available means to get ahold of the query shape hash for a given query, one can either:
- Wait & spot the query shape hash in the slow query log.
- Invoke setQuerySettings on the given query, and later query via the $querySettings aggregation stage to see the query shape hash.
To improve user experience, we should make that the query shape hash is readily available in the explain output via a new queryShapeHash, if present.
The new field queryShapeHash should be available on top-level explain output (i.e. accessible via explain.queryShapeHash), and would ideally be positioned under explain.command.
—
To minimise confusion going forward, We need to make sure to rename every occurrence of the plan-cache specific shape hash:
- from: "queryHash"
- to: "planCacheShapeHash"
This change should be done for both code naming conventions, and especially for field names in user-facing output such as: explain, plan cache stats, currop.
Note: This change will require downstream attention.
- is depended on by
-
COMPASS-8319 Investigate changes in SERVER-91954: Add 'queryShapeHash' to explain, rename 'queryHash' to 'planCacheShapeHash'
- Needs Triage
-
SERVER-93881 Introduce query shape hash stability passthrough suite
- Closed
- is related to
-
SERVER-95051 Add query settings tests to 'etc/backports_required_for_multiversion_tests.yml'
- Closed
- related to
-
SERVER-93305 Remove deprecated 'queryHash' usages
- Open