You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scope: actually serving queries correctly against sliding-window aggregations — the execution-side work, separate from generating valid candidates (#554's other sub-issue, #556).
Concretely:
Relax capability_matching.rs's window_compatible() Sliding rule beyond exact-match (data_range_ms == window_size_ms) to allow data_range_ms a multiple of window_size_ms, mirroring Tumbling's existing rule.
Implement merge (mergeable sketch types) / subtract (subtractable types) across multiple stored sliding-window buckets in simple_engine's query-serving path (create_store_query_plan/execute_and_merge_store_queries in simple_engine/mod.rs, which today unconditionally does a single exact-match lookup for Sliding and explicitly skips merging).
Update planner/cleanup.rs's WindowType::Sliding branch to be window-count-aware instead of hardcoding read_count_threshold = 1.
Resolve the epoch/slide-interval alignment question for exact-match lookups (align_end_timestamp_promql only aligns to the scrape interval, not the aggregation's slide_interval_ms).
Sub-issue of #554.
Scope: actually serving queries correctly against sliding-window aggregations — the execution-side work, separate from generating valid candidates (#554's other sub-issue, #556).
Concretely:
capability_matching.rs'swindow_compatible()Sliding rule beyond exact-match (data_range_ms == window_size_ms) to allowdata_range_msa multiple ofwindow_size_ms, mirroring Tumbling's existing rule.simple_engine's query-serving path (create_store_query_plan/execute_and_merge_store_queriesinsimple_engine/mod.rs, which today unconditionally does a single exact-match lookup for Sliding and explicitly skips merging).planner/cleanup.rs'sWindowType::Slidingbranch to be window-count-aware instead of hardcodingread_count_threshold = 1.align_end_timestamp_promqlonly aligns to the scrape interval, not the aggregation'sslide_interval_ms).Needs its own design session — not scoped further here. See #554 and the design docs linked there for context.