Uploaded image for project: 'Compass '
  1. Compass
  2. COMPASS-8319

Investigate changes in SERVER-91954: Add 'queryShapeHash' to explain, rename 'queryHash' to 'planCacheShapeHash'

    • Type: Icon: Investigation Investigation
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None

      Original Downstream Change Summary

      Changes to the Explain output:

      • Renamed 'queryHash' to 'planCacheShapeHash'.
      • Added 'queryShapeHash' on root-level explain.

      Description of Linked Ticket

      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.

            Assignee:
            Unassigned Unassigned
            Reporter:
            backlog-server-pm Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: