Guozhang, is this reply ok with you?

If you insist on the byte[] comparison directly, then I would need some 
suggestions on how to represent a "version" with it, and then the KIP could be 
changed to that.
    On Tuesday, April 17, 2018, 2:44:16 PM GMT+2, Luís Cabral 
<luis_cab...@yahoo.com> wrote:  
 
 Oops, missed that email...

bq. It is because when we compare the bytes we do not treat them as longs 
atall, so we just compare them based on bytes; I admit that if users's 
headertypes have some semantic meanings (e.g. it is encoded from a long) they 
weare forcing them to choose the encoder that obeys key lexicographicordering; 
but I felt it is more general than enforcing any fields that maybe used for log 
cleaner to be defined as a special type.

Yes, you can compare bytes between each other (its what that code does). You 
can then assume (or infer) that the encoding used allows for lexicographic 
ordering, which I hope you do not do a lot of. This is (logically) the same as 
converting to String and then comparing the strings, except that it allows for 
abstracting from the String encoding (again, either with assumptions or with 
inferred knowledge).
This is purely academic, however, as the versioning is based on a long, which 
is not compatible with this approach. So, is this comment a fact-check stating 
that it is possible to compare byte[] overall, or is it about trying to use it 
in this KIP?

Cheers

PS (because I'm stubborn): It is still not comparable, this comparison is all 
based on assumptions about the content of the byte array, but I hope we can 
leave this stuff to Stack Overflow instead of debating it here :)
  

Reply via email to