leerho commented on issue #191:
URL: 
https://github.com/apache/datasketches-go/issues/191#issuecomment-5985593372

   A note on how this differs from the C++ case (apache/datasketches-cpp#533):
   
   C++ fixed its version by **reverting** the AoS sketch 
(apache/datasketches-cpp#537). That cost nothing because the C++ AoS sketch had 
never been released. Go can't do the same: AoS shipped in **v0.2.0**, so users 
may already have saved Go AoS sketches. Removing the sketch or changing its key 
hashing breaks those saved sketches either way.
   
   So the Go fix has to be a **breaking change in a minor release (v0.3.0)**, 
which a pre-1.0 module allows, with the release notes saying clearly that:
   
   - AoS sketches serialized by v0.2.0 hash their keys differently from the 
fixed version (and from Java), so they can't be combined with sketches built 
after the fix. Users should rebuild them from the source data.
   - Key arrays are joined with `","` without escaping (see the note above).
   
   Which encoding Go switches to (UTF-16LE to match Java, or UTF-8 everywhere) 
still depends on the dev@ discussion: 
https://lists.apache.org/thread/5vlbnodmw8h5s0oc1988f4pdhkjnv8qw
   
   Meanwhile, the datasketches-tck snapshots keep the 27 `aos_*_go.sk` files as 
v0.2.0 writes them. When the fix lands, the next TCK snapshot update will show 
them as deterministic changes, so the format change will be visible in review.
   
   Separately, apache/datasketches-go#193 fixes `make generate-go-snapshots`, 
which currently fails on `main` with `ErrHashExceedsTheta`. It doesn't change 
any hashing.
   


-- 
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