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

Allow timeseries queries to run in SBE

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Query Execution
    • Fully Compatible
    • 109

      In mongo::getExecutor() we checks whether the canonical query is SBE compatible and the check currently rejects any query that runs against a TS bucket collection (see isQuerySbeCompatible). This guard triggers even if the canonical query is empty. The guard should be augmented with a check for the feature flag for allowing to lower TS queries to SBE.

      We will need more elaborate heuristics for whether to run a TS query in SBE but while under the feature flag we can start with a blanket acceptance and file separate tickets for each query shape we'd want to block as they would likely require modifying different places in the code. Allowing the TS queries through will let us start end-to-end testing right away.

      Note: we should block non-inclusion queries as part of this ticket because we simply cannot lower bucket unpacking in this case (the above comment is about potentially losing perf but lowering of a partial pipeline would "just work" from the correctness point of view)

            irina.yatsenko@mongodb.com Irina Yatsenko (Inactive)
            ian.boros@mongodb.com Ian Boros
            0 Vote for this issue
            4 Start watching this issue