leerho opened a new pull request, #772:
URL: https://github.com/apache/datasketches-java/pull/772
## Summary
Four independent fixes found while getting `mvn clean test` green again.
1. **BloomFilterTest.basicDifferenceTest** — the test (added with
`difference()` in c20bd8031) could essentially never pass: with 8192 bits, the
right filter's load was ~46.5%, so only ~4.4% of left-only items can survive
`difference()`, far below the test's 25% threshold. Raised `numBits` to 65536
(~7.5% load, ~68% expected retention). No library change.
2. **pom.xml** — the composite `testng.*` group properties added in
9951cf834 were concatenated without commas, so `excludedGroups` only matched
`generate_java_files` and `check_java_files`; every
C++/Go/Rust/CL-binary/historical cross-language group ran on a plain `mvn test`
(the source of the "File not found" warnings). Also pointed the
`check_CL_binary_files` and `check_cpp_historical_files` profiles at the
renamed properties (they referenced undefined ones and selected nothing).
3. **TDigestDouble.merge** — 9bf19ff6b moved the min/max update ahead of the
`Math.addExact` overflow check, so a merge that throws `ArithmeticException`
still mutated the digest (caught by `weightOverflowDoesNotChangeDigest`). Moved
the check back first.
4. **CompactTupleSketch** — a serialized empty compact tuple sketch (8
bytes, preLongs = 1) now writes a zero seed hash, following the theta rule. C++
`compact_tuple_sketch` already does this; no Java or C++ tuple reader checks
the seed hash of an empty image. ArrayOfDoubles is a separate, older format and
is intentionally left for later.
## Testing
- `mvn clean test`: 2286 tests, 0 failures.
- `mvn clean test -Pcheck_all_language_files` (with current C++ snapshots
from datasketches-cpp master): 5 known failures, not addressed here:
- `HllSketchCrossLanguageTest.checkBinaries2/3` and
`ThetaSketchCrossLanguageTest.checkBinaries2/3`: Go-generated
`hll6_n1000_go.sk` and `theta_n0_go.sk` differ from Java and C++ (being fixed
by the Go team).
- `AodSketchCrossLanguageTest.checkCpp`: C++ writes a zero seed hash for
an empty ArrayOfDoubles compact image, which the Java AoD reader rejects.
Deferred until the AoD format is revisited.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
--
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]