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
{{ message }}
Repository navigation
Fail loudly when accumulator serialization fails #673
Accumulator serialization failures are converted into empty byte buffers or null-like values. In particular, a failed sketch serialization can look like a valid empty sketch and continue through storage or transport.
What I expected
Serialization failure should be propagated as an error with accumulator and aggregation context. No corrupt or ambiguous empty representation should be emitted.
Steps to reproduce
Exercise serialization for a sketch accumulator whose underlying serialization returns an error.
Observe that the caller receives empty bytes or an absent value instead of an error.
Confirm that downstream code cannot distinguish this from legitimate empty state.
Additional context
Change serialization boundaries to return a result type, or use a contextual fail-fast assertion as an interim measure. Add negative tests covering serialization failure and verifying that no output is persisted.
Concrete example
A KLL or HLL accumulator is serialized before being written to the store:
The empty payload is indistinguishable from a legitimate empty accumulator. A later reader may either accept it as empty state or fail far away from the original error. The expected result is an immediate serialization error containing the aggregation type and ID; no payload should be emitted or persisted.
Activity
fix(query-engine): fail loudly on accumulator serialization errors
fix(query-engine): fail loudly on accumulator serialization errors (#711