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]
