tisonkun commented on PR #772:
URL: 
https://github.com/apache/datasketches-java/pull/772#issuecomment-5881665226

   @leerho Thanks for explaining the throughput and cross-language binary 
compatibility motivation. I’ve updated Rust’s empty compact Theta and Tuple 
serialization to use the canonical zero seed hash, with fixed 8-byte images for 
the empty serialization path: 
https://github.com/apache/datasketches-rust/pull/283.
   
   My preference for the other families is still to preserve the configured 
seed identity and retain compatibility checks, including for empty sketches.
   
   Specifically, for CPC and CountMin, I’d keep writing the configured seed 
hash and validating it against the caller-supplied seed during deserialization, 
even when the sketch is empty. Since the seed hash is only a fingerprint, the 
actual seed still needs to come from the caller. For Bloom filters, I’d keep 
serializing and restoring the full seed unchanged, with seed compatibility 
checked when combining filters.
   
   Does this family-specific contract sound reasonable? Or do you intend 
seed-independent empty encodings to become a cross-language requirement for CPC 
and CountMin as well?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to