Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-62829

query_hash_stability.js should not run in passthrough suites that do downgrades

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 5.3.0, 5.2.1
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None
    • Fully Compatible
    • ALL
    • v5.2
    • QE 2022-02-07, QE 2022-01-24
    • 50

      The query_hash_stability.js integration test verifies that the "planCacheKey" as reported by explain remains stable for a given set of indexes. However, the plan cache key encoding is permitted to change between different versions of the server. One recent example is that the plan cache key is encoded slightly differently for queries using the SBE execution engine than for queries using the classic execution engine. Therefore, if a user downgrades from 5.2 (where SBE is enabled) to 5.0 (where SBE is disabled), then the "planCacheKey" will change for queries eligible for SBE.

      This means that query_hash_stability.js cannot run in test passthrough suites that perform downgrades while the test is running. The test could obtain the plan cache key for a query on 5.2, then a downgrade could occur, and then the test obtains the plan cache key again and expects it to remain the same as before. To prevent this from occurring we should blocklist this test from passthrough suites that involve downgrades. This includes at least the following suites:

      • change_streams_downgrade
      • retryable_writes_downgrade
      • sharded_retryable_writes_downgrade

            Assignee:
            david.storch@mongodb.com David Storch
            Reporter:
            david.storch@mongodb.com David Storch
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: