scylladb / gemini

Test data integrity by comparing against an Oracle running in parallel
Apache License 2.0
27 stars 16 forks source link

Float type (float32) is shown and compared as a 64-bit number instead of 32-bit #415

Closed roydahan closed 6 months ago

roydahan commented 6 months ago

While investigating this issue: https://github.com/scylladb/scylladb/issues/11103, It looks like the problem comes from Gemini and not from Scylla and for float32 we should expect the shorter version of the number.

I think that the root cause (or at least how we print it) comes from this line: https://github.com/scylladb/gemini/blob/16a7413c7e287a51ee1a0366107f10750da0775b/pkg/typedef/simple_type.go#L88 Do we treat float and double the same as we want to print them?

roydahan commented 6 months ago

@dkropachev can you please take a loot at this?

dkropachev commented 6 months ago

@roydahan , thanks for reporting, gemini has bug that makes it fail to compare maps with complex data types on keys, such as big.Int inf.Dec... etc.

Which is exactly root cause of https://github.com/scylladb/scylladb/issues/11103 I am working on fix, it is going to be ready soon.https://github.com/scylladb/scylladb/issues/11103

dkropachev commented 6 months ago

Dup of https://github.com/scylladb/gemini/issues/405