Hi,

I couldn’t find any information in the documentation on the guarantees about 
the binary format compatibility for any of the sketches in the library.

For example:
Given a KLL sketch generated by v4.2.0 version of the library and serialized 
with the Java API’s `toByteArray()` method we could have the following 
situations:


  *   The sketch is guaranteed to be deserialized correctly by versions >= 4.2.0
  *   The sketch is guaranteed is guaranteed to be deserialized correctly by 
versions >=4.2.0 and <5.0.0
  *   The sketch is guaranteed to be deserialized correctly by versions >=4.2.0 
and <4.3.0
  *   The sketch is guaranteed to be deserialized correctly by the version it 
was introduced to the library and all future versions. In this case that could 
mean if KLL was introduced in v4.0 but generated in v4.2, v4.0 should still be 
able to read it.

Currently, as far as I can tell, the sketches are compatible with all versions 
starting with the version it was introduced but I wanted to get confirmation on 
whether or not this is the case.

Additionally, are there guarantees the library will error or not when faced 
with an incompatible sketch?

The example is posed specifically for KLL but applies to all sketches in the 
library. I am mostly interested in KLL and Theta though. Whatever the answer 
is, I’d happily help document it on the website if it doesn’t exist already.

Cheers,
Zac

Reply via email to