Skip to content

feat(engine): migrate cross-reconfigure dispatch to sid-level timeline - #185

Merged
zzylol merged 1 commit into
mainfrom
feat/schema-retire-3-engine-timeline
May 13, 2026
Merged

zzylol merged 1 commit into
mainfrom
feat/schema-retire-3-engine-timeline

Conversation

@zzylol

@zzylol zzylol commented May 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Schema retirement #3 — repoint ASAPQueryEngine::timeline_for_query
from SchemaRegistry::timeline_for_metric to the sid-level
storage_engines::sketch_db::query::timeline::timeline_for_metric
landed in #183.

Test plan

🤖 Generated with Claude Code

Schema retirement #3. Repoint `ASAPQueryEngine::timeline_for_query`
from `SchemaRegistry::timeline_for_metric` to the sid-level
`storage_engines::sketch_db::query::timeline::timeline_for_metric`
landed in #183. The cross-reconfigure dispatcher
(`try_handle_query_promql_via_timeline`) now reads its segments from
the sid catalog rather than from `SchemaRegistry`.

The sid-level timeline populates `TimelineSegment.agg_id` with a
content-hash of `(metric, agg_kind, group_by_keys)` rather than a
`StreamingConfig.aggregation_id`. Until schema retirement #5 ports
the per-segment dispatch to sid-level evaluation, the
segment-→-aggregation_config lookup inside the dispatcher is
best-effort: when no segment resolves to an in-config aggregation
the dispatcher returns `None` so the caller falls back to the
default single-agg path instead of regressing cross-reconfigure
queries to empty-result-plus-warnings.

The schema retirement plan keeps the `schema_registry` field on
`ASAPQueryEngine` alive for now — it's still referenced by the
ingest barrier and the swap-handler driver. Both go away in
retirements #4 + #5.

Two tests in `tests/schema_timeline_dispatch_tests.rs` are marked
`#[ignore]`: they build two distinct `AggregationConfig`s with
identical content (same metric / Sum / `host` grouping). In the
sid catalog those collapse to one signature group → one segment,
so the dispatcher can no longer reproduce the
schema-boundary-stitch scenario from a SchemaRegistry-shaped
fixture. The third single-schema regression test still passes
unchanged. Re-enabling these is part of retirement #5 (sid-level
dispatch) or a fixture rewrite that uses two genuinely distinct
signatures.

787/787 lib tests pass; 5 ignored.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@zzylol
zzylol merged commit 117d7b3 into main May 13, 2026
@zzylol
zzylol deleted the feat/schema-retire-3-engine-timeline branch July 17, 2026 20:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant