Thanks Lee, I'll have a look this weekend or next week.
On Fri, Sep 25, 2026, 7:47 PM leerho (via GitHub) <[email protected]> wrote: > > leerho opened a new issue, #185: > URL: https://github.com/apache/datasketches-go/issues/185 > > The HLL "*.sk" files of the same type created by the different > languages should be identical. In my testing so far the images generated > by C++ and Java are identical. The Go HLL_6 images are identical for n = 0, > 1, 100, but fail starting with n = 1000. I suspect that is just after the > transition from sparse mode to dense mode. The same failure occurs when > comparing C++ to Go, or Java to Go. > > My test output follows: > CLB = Cross-Language Binary > > [RemoteTestNG] detected TestNG version 7.12.0 > PASSED: CLB: hll4_n0_cpp.sk vs hll4_n0_java.sk, HllType: hll4, n: 0 > PASSED: CLB: hll4_n1_cpp.sk vs hll4_n1_java.sk, HllType: hll4, n: 1 > PASSED: CLB: hll4_n10_cpp.sk vs hll4_n10_java.sk, HllType: hll4, n: 10 > PASSED: CLB: hll4_n100_cpp.sk vs hll4_n100_java.sk, HllType: hll4, n: > 100 > PASSED: CLB: hll4_n1000_cpp.sk vs hll4_n1000_java.sk, HllType: hll4, > n: 1000 > PASSED: CLB: hll4_n10000_cpp.sk vs hll4_n10000_java.sk, HllType: hll4, > n: 10000 > PASSED: CLB: hll4_n100000_cpp.sk vs hll4_n100000_java.sk, HllType: > hll4, n: 100000 > PASSED: CLB: hll4_n1000000_cpp.sk vs hll4_n1000000_java.sk, HllType: > hll4, n: 1000000 > PASSED: CLB: hll6_n0_cpp.sk vs hll6_n0_java.sk, HllType: hll6, n: 0 > PASSED: CLB: hll6_n1_cpp.sk vs hll6_n1_java.sk, HllType: hll6, n: 1 > PASSED: CLB: hll6_n10_cpp.sk vs hll6_n10_java.sk, HllType: hll6, n: 10 > PASSED: CLB: hll6_n100_cpp.sk vs hll6_n100_java.sk, HllType: hll6, n: > 100 > PASSED: CLB: hll6_n1000_cpp.sk vs hll6_n1000_java.sk, HllType: hll6, > n: 1000 > PASSED: CLB: hll6_n10000_cpp.sk vs hll6_n10000_java.sk, HllType: hll6, > n: 10000 > PASSED: CLB: hll6_n100000_cpp.sk vs hll6_n100000_java.sk, HllType: > hll6, n: 100000 > PASSED: CLB: hll6_n1000000_cpp.sk vs hll6_n1000000_java.sk, HllType: > hll6, n: 1000000 > PASSED: CLB: hll8_n0_cpp.sk vs hll8_n0_java.sk, HllType: hll8, n: 0 > PASSED: CLB: hll8_n1_cpp.sk vs hll8_n1_java.sk, HllType: hll8, n: 1 > PASSED: CLB: hll8_n10_cpp.sk vs hll8_n10_java.sk, HllType: hll8, n: 10 > PASSED: CLB: hll8_n100_cpp.sk vs hll8_n100_java.sk, HllType: hll8, n: > 100 > PASSED: CLB: hll8_n1000_cpp.sk vs hll8_n1000_java.sk, HllType: hll8, > n: 1000 > PASSED: CLB: hll8_n10000_cpp.sk vs hll8_n10000_java.sk, HllType: hll8, > n: 10000 > PASSED: CLB: hll8_n100000_cpp.sk vs hll8_n100000_java.sk, HllType: > hll8, n: 100000 > PASSED: CLB: hll8_n1000000_cpp.sk vs hll8_n1000000_java.sk, HllType: > hll8, n: 1000000 > PASSED: CLB: hll4_n0_go.sk vs hll4_n0_java.sk, HllType: hll4, n: 0 > PASSED: CLB: hll4_n1_go.sk vs hll4_n1_java.sk, HllType: hll4, n: 1 > PASSED: CLB: hll4_n10_go.sk vs hll4_n10_java.sk, HllType: hll4, n: 10 > PASSED: CLB: hll4_n100_go.sk vs hll4_n100_java.sk, HllType: hll4, n: > 100 > PASSED: CLB: hll4_n1000_go.sk vs hll4_n1000_java.sk, HllType: hll4, n: > 1000 > PASSED: CLB: hll4_n10000_go.sk vs hll4_n10000_java.sk, HllType: hll4, > n: 10000 > PASSED: CLB: hll4_n100000_go.sk vs hll4_n100000_java.sk, HllType: > hll4, n: 100000 > PASSED: CLB: hll4_n1000000_go.sk vs hll4_n1000000_java.sk, HllType: > hll4, n: 1000000 > PASSED: CLB: hll6_n0_go.sk vs hll6_n0_java.sk, HllType: hll6, n: 0 > PASSED: CLB: hll6_n1_go.sk vs hll6_n1_java.sk, HllType: hll6, n: 1 > PASSED: CLB: hll6_n10_go.sk vs hll6_n10_java.sk, HllType: hll6, n: 10 > PASSED: CLB: hll6_n100_go.sk vs hll6_n100_java.sk, HllType: hll6, n: > 100 <- note the go vs java HLL6 test threw after n=100 > PASSED: CLB: hll4_n0_go.sk vs hll4_n0_cpp.sk, HllType: hll4, n: 0 > PASSED: CLB: hll4_n1_go.sk vs hll4_n1_cpp.sk, HllType: hll4, n: 1 > PASSED: CLB: hll4_n10_go.sk vs hll4_n10_cpp.sk, HllType: hll4, n: 10 > PASSED: CLB: hll4_n100_go.sk vs hll4_n100_cpp.sk, HllType: hll4, n: 100 > PASSED: CLB: hll4_n1000_go.sk vs hll4_n1000_cpp.sk, HllType: hll4, n: > 1000 > PASSED: CLB: hll4_n10000_go.sk vs hll4_n10000_cpp.sk, HllType: hll4, > n: 10000 > PASSED: CLB: hll4_n100000_go.sk vs hll4_n100000_cpp.sk, HllType: hll4, > n: 100000 > PASSED: CLB: hll4_n1000000_go.sk vs hll4_n1000000_cpp.sk, HllType: > hll4, n: 1000000 > PASSED: CLB: hll6_n0_go.sk vs hll6_n0_cpp.sk, HllType: hll6, n: 0 > PASSED: CLB: hll6_n1_go.sk vs hll6_n1_cpp.sk, HllType: hll6, n: 1 > PASSED: CLB: hll6_n10_go.sk vs hll6_n10_cpp.sk, HllType: hll6, n: 10 > PASSED: CLB: hll6_n100_go.sk vs hll6_n100_cpp.sk, HllType: hll6, n: > 100 <- note the go vs cpp HLL6 test threw after n=100 > PASSED: > org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkBinaries1 > PASSED: > org.apache.datasketches.hll.HllSketchCrossLanguageTest.generateBinariesForCompatibilityTesting > PASSED: org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkGo > PASSED: org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkJava > PASSED: org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkCpp > FAILED: > org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkBinaries2 > org.apache.datasketches.common.SketchesArgumentException: CLB: > hll6_n1000_go.sk vs hll6_n1000_java.sk, HllType: hll6, n: 1000 > java.lang.AssertionError: arrays differ firstly at element [5]; > expected value is <8> but was <0>. > at > org.apache.datasketches.hll.HllSketchCrossLanguageTest.deserializeHll_crossBinary(HllSketchCrossLanguageTest.java:115) > at > org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkBinaries2(HllSketchCrossLanguageTest.java:93) > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) > at java.base/java.lang.reflect.Method.invoke(Method.java:565) > at > org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:141) > at > org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:697) > at > org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:230) > at > org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:63) > at > org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:1005) > at > org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:203) > at > org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:154) > at > org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:134) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1604) > at org.testng.TestRunner.privateRun(TestRunner.java:744) > at org.testng.TestRunner.run(TestRunner.java:616) > at org.testng.SuiteRunner.runTest(SuiteRunner.java:421) > at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:413) > at org.testng.SuiteRunner.privateRun(SuiteRunner.java:373) > at org.testng.SuiteRunner.run(SuiteRunner.java:312) > at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) > at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95) > at org.testng.TestNG.runSuitesSequentially(TestNG.java:1274) > at org.testng.TestNG.runSuitesLocally(TestNG.java:1208) > at org.testng.TestNG.runSuites(TestNG.java:1112) > at org.testng.TestNG.run(TestNG.java:1079) > at > org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) > at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:293) > at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:91) > > FAILED: > org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkBinaries3 > org.apache.datasketches.common.SketchesArgumentException: CLB: > hll6_n1000_go.sk vs hll6_n1000_cpp.sk, HllType: hll6, n: 1000 > java.lang.AssertionError: arrays differ firstly at element [5]; > expected value is <8> but was <0>. > at > org.apache.datasketches.hll.HllSketchCrossLanguageTest.deserializeHll_crossBinary(HllSketchCrossLanguageTest.java:115) > at > org.apache.datasketches.hll.HllSketchCrossLanguageTest.checkBinaries3(HllSketchCrossLanguageTest.java:98) > at > java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) > at java.base/java.lang.reflect.Method.invoke(Method.java:565) > at > org.testng.internal.invokers.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:141) > at > org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:697) > at > org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:230) > at > org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:63) > at > org.testng.internal.invokers.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:1005) > at > org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:203) > at > org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:154) > at > org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:134) > at java.base/java.util.ArrayList.forEach(ArrayList.java:1604) > at org.testng.TestRunner.privateRun(TestRunner.java:744) > at org.testng.TestRunner.run(TestRunner.java:616) > at org.testng.SuiteRunner.runTest(SuiteRunner.java:421) > at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:413) > at org.testng.SuiteRunner.privateRun(SuiteRunner.java:373) > at org.testng.SuiteRunner.run(SuiteRunner.java:312) > at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) > at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95) > at org.testng.TestNG.runSuitesSequentially(TestNG.java:1274) > at org.testng.TestNG.runSuitesLocally(TestNG.java:1208) > at org.testng.TestNG.runSuites(TestNG.java:1112) > at org.testng.TestNG.run(TestNG.java:1079) > at > org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:115) > at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:293) > at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:91) > > > =============================================== > Default test > Tests run: 7, Failures: 2, Skips: 0 > =============================================== > > > > > -- > 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] > >
