proost commented on issue #170: URL: https://github.com/apache/datasketches-rust/issues/170#issuecomment-5105929688
@tisonkun In datasketches-go, when we add serialization/deserialization support, we generally include cross-language compatibility test code and snapshot generation code. We may also include generated sketch binaries, although committing the binaries themselves is optional as long as they can be reproduced from the generator. The compatibility test code is the important part. It should include the snapshot generation logic so that we can understand how each snapshot was produced and regenerate it when necessary. I think implementing the snapshot generation code itself is relatively straightforward. The more difficult part for a first-time contributor is figuring out which cases need to be covered and why. That usually requires understanding the sketch's internal, serialization format, and the cases that may affect cross-language compatibility. That said, I do not think all of this work necessarily needs to be included in a single PR. Serialization/deserialization support, snapshot generation, generated binaries, and cross-language compatibility tests can be split into separate PRs or issues, as long as maintainers track the related work. However, all of them should be completed before the first release that includes the new serialization/deserialization support. Cross-language compatibility is one of the core properties of DataSketches. If serialization support is released before the compatibility tests are in place, we may release an incompatible binary format and discover the problem only after users have already produced release. So I think this can be a good first issue if maintainers provide guidance about the required test cases and make sure the remaining compatibility work is tracked as a release requirement. ------ However, datasketches-rust has not released v1.0.0 yet, so I think it is reasonable to be somewhat less strict during the pre-1.0 development phase. User and community understand that point :) -- 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]
