From cdbba3fb930e692d7a14a5d64f8ee038adc5db5a Mon Sep 17 00:00:00 2001 From: zz_y Date: Wed, 13 May 2026 08:19:03 -0600 Subject: [PATCH] refactor(sketch_db): move timeline_dispatch + window_merger to sketch_db/query/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Post-M2.3 reorg #6 of 8. Moves `query_engines/{timeline_dispatch.rs, window_merger.rs}` → `storage_engines/sketch_db/query/`. Both files are warm-tier driver primitives — `timeline_dispatch` combines per-segment results across reconfigure boundaries that only exist *within* a SketchStore; `window_merger` stitches per- window results from the same. Neither belongs to the backend-agnostic orchestration layer (`query_engines/`). `query_engines/mod.rs` re-exports both modules under their legacy paths via `pub use crate::storage_engines::sketch_db::query::*`, so existing consumers (in `engine.rs`, `http.rs`, schema docs) compile unchanged. 783/783 lib tests pass. Co-Authored-By: Claude Opus 4.7 (1M context) --- data_plane/src/query_engines/mod.rs | 11 +++++++++-- data_plane/src/storage_engines/sketch_db/query/mod.rs | 2 ++ .../sketch_db/query}/timeline_dispatch.rs | 0 .../sketch_db/query}/window_merger.rs | 0 4 files changed, 11 insertions(+), 2 deletions(-) rename data_plane/src/{query_engines => storage_engines/sketch_db/query}/timeline_dispatch.rs (100%) rename data_plane/src/{query_engines => storage_engines/sketch_db/query}/window_merger.rs (100%) diff --git a/data_plane/src/query_engines/mod.rs b/data_plane/src/query_engines/mod.rs index f1d9f70e7..a0b6dd746 100644 --- a/data_plane/src/query_engines/mod.rs +++ b/data_plane/src/query_engines/mod.rs @@ -23,8 +23,15 @@ pub mod no_data_archive; pub mod query_result; pub mod routing; pub mod thanos_query_engine; -pub mod timeline_dispatch; -pub mod window_merger; + +// Post-M2.3 reorg: timeline_dispatch + window_merger are warm-tier driver +// primitives (they reason about reconfigure boundaries that only exist +// inside a SketchStore). They moved into `sketch_db::query`. The +// orchestration layer consumes them through the canonical path; these +// aliases keep legacy `query_engines::timeline_dispatch::*` callers +// compiling. +pub use crate::storage_engines::sketch_db::query::timeline_dispatch; +pub use crate::storage_engines::sketch_db::query::window_merger; pub use asap_query_engine::ASAPQueryEngine; pub use no_data_archive::{NoDataArchiveEngine, DATA_SOURCE_ID_NO_DATA_ARCHIVE}; diff --git a/data_plane/src/storage_engines/sketch_db/query/mod.rs b/data_plane/src/storage_engines/sketch_db/query/mod.rs index 9f9a77c97..75278e8a2 100644 --- a/data_plane/src/storage_engines/sketch_db/query/mod.rs +++ b/data_plane/src/storage_engines/sketch_db/query/mod.rs @@ -68,6 +68,8 @@ pub mod decoders; pub mod delta_apply; pub mod sketch_reducer; +pub mod timeline_dispatch; +pub mod window_merger; #[cfg(test)] pub mod tests; diff --git a/data_plane/src/query_engines/timeline_dispatch.rs b/data_plane/src/storage_engines/sketch_db/query/timeline_dispatch.rs similarity index 100% rename from data_plane/src/query_engines/timeline_dispatch.rs rename to data_plane/src/storage_engines/sketch_db/query/timeline_dispatch.rs diff --git a/data_plane/src/query_engines/window_merger.rs b/data_plane/src/storage_engines/sketch_db/query/window_merger.rs similarity index 100% rename from data_plane/src/query_engines/window_merger.rs rename to data_plane/src/storage_engines/sketch_db/query/window_merger.rs