leerho opened a new issue, #186:
URL: https://github.com/apache/datasketches-go/issues/186

   The Theta ".sk" files of the same base name created by the different 
languages should be byte identical. In my testing so far the images generated 
by C++ and Java are byte identical. The Go Theta images fail at n = 0, byte 6 
(1 based, Flags byte 1), when comparing with either C++ or Java images. If you 
skip the check at n = 0, all values of n > 0 pass. The culprit is that the 
seedHash should not be stored in bytes (6,7) when serializing an empty 
CompactSketch.  The seedHash bytes (6,7) are ignored on reading an 
EmptyCompactSketch, so no historical images with these bits in the seedHash 
bytes will cause a read error.  Nonetheless, all languages should be generating 
the exact same bytes for the deterministic sketches.
   
   [RemoteTestNG] detected TestNG version 7.12.0
   PASSED: CLB: theta_n0_cpp.sk vs theta_n0_java.sk, n: 0
   PASSED: CLB: theta_n1_cpp.sk vs theta_n1_java.sk, n: 1
   PASSED: CLB: theta_n10_cpp.sk vs theta_n10_java.sk, n: 10
   PASSED: CLB: theta_n100_cpp.sk vs theta_n100_java.sk, n: 100
   PASSED: CLB: theta_n1000_cpp.sk vs theta_n1000_java.sk, n: 1000
   PASSED: CLB: theta_n10000_cpp.sk vs theta_n10000_java.sk, n: 10000
   PASSED: CLB: theta_n100000_cpp.sk vs theta_n100000_java.sk, n: 100000
   PASSED: CLB: theta_n1000000_cpp.sk vs theta_n1000000_java.sk, n: 1000000
   PASSED: 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.serializeNonEmptyNoEntries
   PASSED: 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.serializeSketches
   PASSED: org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.checkJava
   PASSED: 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.serializeCompressedSketches
   PASSED: org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.checkCpp
   PASSED: 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.checkBinaries1
   PASSED: org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.checkGo
   FAILED: 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.checkBinaries3
   org.apache.datasketches.common.SketchesArgumentException: CLB: 
theta_n0_go.sk vs theta_n0_cpp.sk, n: 0
   java.lang.AssertionError: arrays differ firstly at element [6]; expected 
value is <0> but was <-52>. 
        at 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.deserializeSketchesFromFile_crossBinary(ThetaSketchCrossLanguageTest.java:137)
        at 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.checkBinaries3(ThetaSketchCrossLanguageTest.java:122)
        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.theta.ThetaSketchCrossLanguageTest.checkBinaries2
   org.apache.datasketches.common.SketchesArgumentException: CLB: 
theta_n0_go.sk vs theta_n0_java.sk, n: 0
   java.lang.AssertionError: arrays differ firstly at element [6]; expected 
value is <0> but was <-52>. 
        at 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.deserializeSketchesFromFile_crossBinary(ThetaSketchCrossLanguageTest.java:137)
        at 
org.apache.datasketches.theta.ThetaSketchCrossLanguageTest.checkBinaries2(ThetaSketchCrossLanguageTest.java:117)
        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)


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