diff --git a/data_plane/src/query_engines/asap_query_engine/engine.rs b/data_plane/src/query_engines/asap_query_engine/engine.rs index 2211cbaa..79b1ea12 100644 --- a/data_plane/src/query_engines/asap_query_engine/engine.rs +++ b/data_plane/src/query_engines/asap_query_engine/engine.rs @@ -3310,7 +3310,7 @@ impl ASAPQueryEngine { // to the next compatible backend. // --------------------------------------------------------------------------- -/// Adapt a [`crate::query_engines::asap_query_engine::warm_tier::WarmTierResult`] to the engine's +/// Adapt a [`crate::storage_engines::sketch_db::query::WarmTierResult`] to the engine's /// existing `QueryResult` shape. The reducer hands back per-series /// time-stamped scalars; we materialize them as a /// `QueryResult::Matrix` whose [`crate::query_engines::query_result::RangeVectorElement`]s @@ -3382,7 +3382,7 @@ fn stitch_warm_and_archive( } fn warm_tier_result_to_query_result( - result: crate::query_engines::asap_query_engine::warm_tier::WarmTierResult, + result: crate::storage_engines::sketch_db::query::WarmTierResult, _now_ms: u64, ) -> crate::query_engines::query_result::QueryResult { use crate::storage_engines::types::KeyByLabelValues; @@ -3502,14 +3502,14 @@ impl crate::query_engines::routing::query_engine_routing::QueryEngine for ASAPQu // for instant-vector candidates (range_seconds == 0). const DEFAULT_LOOKBACK_MS: u64 = 5 * 60 * 1000; - let reducer = crate::query_engines::asap_query_engine::warm_tier::SketchReducer::new(idx); + let reducer = crate::storage_engines::sketch_db::query::SketchReducer::new(idx); // Multi-candidate aggregation is deferred (single-result // shapes today). On the first reducer error we surface // CapabilityMiss; on Ok we keep the result for the // hybrid-stitch path below. (When more than one // candidate is supported, a follow-up will fold // per-candidate WarmTierResults.) - let mut combined_result: Option = + let mut combined_result: Option = None; let mut combined_t0: u64 = u64::MAX; @@ -3594,7 +3594,7 @@ impl crate::query_engines::routing::query_engine_routing::QueryEngine for ASAPQu ) { Ok(r) => r, Err( - crate::query_engines::asap_query_engine::warm_tier::WarmTierError::UnsupportedFunction( + crate::storage_engines::sketch_db::query::WarmTierError::UnsupportedFunction( name, ), ) => { @@ -3606,7 +3606,7 @@ impl crate::query_engines::routing::query_engine_routing::QueryEngine for ASAPQu ), )); } - Err(crate::query_engines::asap_query_engine::warm_tier::WarmTierError::UnsupportedCapability { + Err(crate::storage_engines::sketch_db::query::WarmTierError::UnsupportedCapability { function, capability}) => { return Err(crate::query_engines::EngineError::capability_miss( @@ -3617,7 +3617,7 @@ impl crate::query_engines::routing::query_engine_routing::QueryEngine for ASAPQu ), )); } - Err(crate::query_engines::asap_query_engine::warm_tier::WarmTierError::DeserializeFailure { + Err(crate::storage_engines::sketch_db::query::WarmTierError::DeserializeFailure { sid, encoding, reason}) => { @@ -3630,7 +3630,7 @@ impl crate::query_engines::routing::query_engine_routing::QueryEngine for ASAPQu ), )); } - Err(crate::query_engines::asap_query_engine::warm_tier::WarmTierError::NoData { + Err(crate::storage_engines::sketch_db::query::WarmTierError::NoData { metric_name: m}) => { return Err(crate::query_engines::EngineError::capability_miss( asap_types::StorageBackend::SketchStore.data_source_id(), @@ -3640,7 +3640,7 @@ impl crate::query_engines::routing::query_engine_routing::QueryEngine for ASAPQu ), )); } - Err(crate::query_engines::asap_query_engine::warm_tier::WarmTierError::MissingHeap { + Err(crate::storage_engines::sketch_db::query::WarmTierError::MissingHeap { sid, sketch_kind}) => { return Err(crate::query_engines::EngineError::capability_miss( diff --git a/data_plane/src/query_engines/asap_query_engine/mod.rs b/data_plane/src/query_engines/asap_query_engine/mod.rs index cf475a2f..24e712d0 100644 --- a/data_plane/src/query_engines/asap_query_engine/mod.rs +++ b/data_plane/src/query_engines/asap_query_engine/mod.rs @@ -10,7 +10,10 @@ //! the JSONL leg has been deleted). pub mod engine; -pub mod warm_tier; + +// Phase-5 reorg: warm-tier reducer moved to `sketch_db::query`. The +// engine still consumes it via that canonical path. +pub use crate::storage_engines::sketch_db::query as warm_tier; #[cfg(test)] pub mod tests; diff --git a/data_plane/src/storage_engines/sketch_db/mod.rs b/data_plane/src/storage_engines/sketch_db/mod.rs index a0b7ba41..7075eda8 100644 --- a/data_plane/src/storage_engines/sketch_db/mod.rs +++ b/data_plane/src/storage_engines/sketch_db/mod.rs @@ -34,6 +34,7 @@ pub mod data; pub mod index; pub mod metrics; pub mod persistence; +pub mod query; pub mod schema; pub use accuracy::{AccuracyEnvelope, AccuracyKind, AccuracyProfile, PerSegmentAccuracy}; diff --git a/data_plane/src/query_engines/asap_query_engine/warm_tier/decoders.rs b/data_plane/src/storage_engines/sketch_db/query/decoders.rs similarity index 98% rename from data_plane/src/query_engines/asap_query_engine/warm_tier/decoders.rs rename to data_plane/src/storage_engines/sketch_db/query/decoders.rs index a9fa8dd0..9fd02a76 100644 --- a/data_plane/src/query_engines/asap_query_engine/warm_tier/decoders.rs +++ b/data_plane/src/storage_engines/sketch_db/query/decoders.rs @@ -1,7 +1,7 @@ //! Per-sketch-kind decoder helpers — out-of-line wrappers around //! `asap_sketchlib` deserialize / proto-decode paths. //! -//! Lifted from the inline closures in [`crate::query_engines::asap_query_engine::warm_tier::sketch_reducer`] +//! Lifted from the inline closures in [`crate::storage_engines::sketch_db::query::sketch_reducer`] //! once the reducer started decoding CMS / CountSketch / CMS-with-heap //! payloads in addition to DDSketch / KLL / HLL. The CMS / CountSketch //! / CMS-with-heap decoders mirror diff --git a/data_plane/src/query_engines/asap_query_engine/warm_tier/delta_apply.rs b/data_plane/src/storage_engines/sketch_db/query/delta_apply.rs similarity index 99% rename from data_plane/src/query_engines/asap_query_engine/warm_tier/delta_apply.rs rename to data_plane/src/storage_engines/sketch_db/query/delta_apply.rs index 706b5a31..6f66e13e 100644 --- a/data_plane/src/query_engines/asap_query_engine/warm_tier/delta_apply.rs +++ b/data_plane/src/storage_engines/sketch_db/query/delta_apply.rs @@ -9,7 +9,7 @@ //! format ships a sparse-but-mergeable sketch fragment. //! //! Two reducer modes, picked by the PromQL function name in -//! [`crate::query_engines::asap_query_engine::warm_tier::sketch_reducer`]: +//! [`crate::storage_engines::sketch_db::query::sketch_reducer`]: //! //! * **per-window** (`quantile`, `histogram_quantile`, //! `cardinality_estimate`): emit one scalar per window. A `Full` diff --git a/data_plane/src/query_engines/asap_query_engine/warm_tier/mod.rs b/data_plane/src/storage_engines/sketch_db/query/mod.rs similarity index 100% rename from data_plane/src/query_engines/asap_query_engine/warm_tier/mod.rs rename to data_plane/src/storage_engines/sketch_db/query/mod.rs diff --git a/data_plane/src/query_engines/asap_query_engine/warm_tier/sketch_reducer.rs b/data_plane/src/storage_engines/sketch_db/query/sketch_reducer.rs similarity index 99% rename from data_plane/src/query_engines/asap_query_engine/warm_tier/sketch_reducer.rs rename to data_plane/src/storage_engines/sketch_db/query/sketch_reducer.rs index b615ebd6..064b20d2 100644 --- a/data_plane/src/query_engines/asap_query_engine/warm_tier/sketch_reducer.rs +++ b/data_plane/src/storage_engines/sketch_db/query/sketch_reducer.rs @@ -57,11 +57,11 @@ use asap_sketchlib::sketches::ddsketch::DdSketch; use asap_sketchlib::sketches::hll::HllSketch; use asap_sketchlib::sketches::kll::KllSketch; -use crate::query_engines::asap_query_engine::warm_tier::decoders::{ +use crate::storage_engines::sketch_db::query::decoders::{ decode_cms_from_msgpack, decode_cms_from_proto, decode_cms_with_heap_from_msgpack, decode_cs_from_msgpack, decode_cs_from_proto, }; -use crate::query_engines::asap_query_engine::warm_tier::delta_apply::{ +use crate::storage_engines::sketch_db::query::delta_apply::{ cumulative_evaluate, per_window_evaluate, DeltaSketchKind, }; use crate::storage_engines::sketch_db::index::{ diff --git a/data_plane/src/query_engines/asap_query_engine/warm_tier/tests.rs b/data_plane/src/storage_engines/sketch_db/query/tests.rs similarity index 99% rename from data_plane/src/query_engines/asap_query_engine/warm_tier/tests.rs rename to data_plane/src/storage_engines/sketch_db/query/tests.rs index dfda1c38..e17d9e0c 100644 --- a/data_plane/src/query_engines/asap_query_engine/warm_tier/tests.rs +++ b/data_plane/src/storage_engines/sketch_db/query/tests.rs @@ -15,7 +15,7 @@ use std::collections::{BTreeMap, BTreeSet}; use asap_sketchlib::sketches::ddsketch::DdSketch; use asap_sketchlib::sketches::hll::{HllSketch, HllVariant}; -use crate::query_engines::asap_query_engine::warm_tier::{SketchReducer, WarmTierError}; +use crate::storage_engines::sketch_db::query::{SketchReducer, WarmTierError}; use crate::storage_engines::sketch_db::index::{ AccuracyBound, AggKind, Capability, SketchConfig, SketchEncoding, SketchStore, SketchInstanceMetadata, SketchKindHandle, SketchSampleState,