writing unions with multiple records, fixed or enums can choose wrong branch 
-----------------------------------------------------------------------------

                 Key: AVRO-656
                 URL: https://issues.apache.org/jira/browse/AVRO-656
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.4.0
            Reporter: Doug Cutting
            Assignee: Doug Cutting


According to the specification, a union may contain multiple instances of a 
named type, provided they have different names.  There are several bugs in the 
Java implementation of this when writing data:
 - for record, only the short-name of the record is checked, so the branch for 
a record of the same name in a different namespace may be used by mistake
 - for enum and fixed, the name of the record is not checked, so the first enum 
or fixed in the union will always be assumed when writing.  in many cases this 
may cause the wrong data to be written, potentially corrupting output.

This is not a regression.  This has never been implemented correctly by Java.  
Python and Ruby never check names, but rather perform a full, recursive 
validation of content.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to