Conversation
This was referenced Sep 29, 2026
zzylol
force-pushed
the
split/462-c-summary-kernels
branch
2 times, most recently
from
September 29, 2026 21:19
11fb8fa to
c6961a8
Compare
Start `asap-physical-operators` with thin summary kernels over `asap_sketchlib`, the kernel capability checks and the typed value model. The boundary is: - `asap_sketchlib` owns sketch algorithms and their state encodings. - Kernels hold one population's in-memory state. They expose `merge`, a typed sketch readout (`estimate(&SketchQuery)`) and memory accounting. Exact states answer a typed `ExactReadout`; empty MIN/MAX read as `None`. - Group-by belongs to physical operators. - Deployments own wire decoding, delta frames, edge sampling and storage statistics. So wire decoding, `SerializableToSink`, `AggregationType`, `aux_stats`, `reset_to_empty` and the keyed/sum/min/max kernels are not carried over from ASAPQuery-backend. The `asap_sketch_codec` crate is not carried over either; it moves to `asap_sketchlib`. Hydra KLL remains as the Hydra shared-grouping kernel. HLL uses sketchlib's classic estimator. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
zzylol
force-pushed
the
split/462-c-summary-kernels
branch
from
September 29, 2026 22:56
c6961a8 to
83ccc49
Compare
This was referenced Sep 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part 2 of the #462 split. It starts the
asap-physical-operatorscrate with summary kernels only, and is independent of the other parts.Before this PR
Summary kernels lived only in ASAPQuery-backend (
data_plane/src/precompute_engine/operators/*_accumulator.rs). Each kernel mixed three concerns:asap_sketchlib);sample_p,aux_statsfor the sketch store,AggregationTypeconfig, keyed group-by kernels.Queries were stringly typed (
Statistic+HashMap<String, String>, e.g."quantile" -> "0.99").After this PR
One boundary:
asap_sketchlibmerge, typedestimate(&SketchQuery), memory accounting. Exact states answerExactAccumulator::readout(statistic, range_ms, key); an empty MIN/MAX reads asNone.Kernels: exact (Sum/Count/Min/Max/Rate/Increase), KLL, DDSketch, HLL, Count-Min, CountSketch (both with or without heap), UnivMon, weighted frequency, and Hydra KLL (the Hydra shared-grouping strategy).
Not carried over from Backend:
SerializableToSink,AggregationType,aux_stats,reset_to_empty,sample_p;asap_sketch_codec.HLL uses sketchlib's classic estimator. It differs from the removed Backend copy only for precision ≤ 6 (alpha constants) and in the 32-bit large-range correction, which sketchlib's 64-bit hashing does not need.
Backend is expected to align with this model when it moves its Planner pin.
data_planethen also drops theextra_debuggingfeature reference.Validation:
cargo test -p asap-physical-operators(32 passed) andcargo clippy --workspace --all-targets -D warnings.Split stack: #472 (merged) · this PR · #474 · #475.
🤖 Generated with Claude Code