Marian S created AVRO-2006:
------------------------------

             Summary: Java union index serialization/deserialization is 
incorrect
                 Key: AVRO-2006
                 URL: https://issues.apache.org/jira/browse/AVRO-2006
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.8.1
            Reporter: Marian S


According to the specification "A union is encoded by first writing a long 
value indicating the zero-based position within the union":

However in java implementation index is encoded as an int (which is 32 bits) 
see: 
https://avro.apache.org/docs/1.8.1/api/java/org/apache/avro/io/Encoder.html#writeIndex(int)

This causes inconsistencies betewwn diffrent languages, because for instance I 
can't deserialize avro serialized with Java using Python, because Python 
expects long (64 bits) as an index of an union.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to