Java builder API fails when default value does not match the first type in a 
union
----------------------------------------------------------------------------------

                 Key: AVRO-1057
                 URL: https://issues.apache.org/jira/browse/AVRO-1057
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.6.3
            Reporter: Christophe Taton
            Priority: Minor


The following definition works fine with the builder:
record Rec {
  union { boolean, null } field = false;
}

but this one fails:
record Rec {
  union { boolean, null } field = null;
}

Rec.newBuilder().build() fails with this error:

org.apache.avro.AvroRuntimeException: org.apache.avro.AvroTypeException: 
Non-boolean default for boolean: null
        at Rec$Builder.build
Caused by: org.apache.avro.AvroTypeException: Non-boolean default for boolean: 
null
        at 
org.apache.avro.io.parsing.ResolvingGrammarGenerator.encode(ResolvingGrammarGenerator.java:393)
        at 
org.apache.avro.io.parsing.ResolvingGrammarGenerator.encode(ResolvingGrammarGenerator.java:350)
        at 
org.apache.avro.data.RecordBuilderBase.defaultValue(RecordBuilderBase.java:178)
        at Rec$Builder.build



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to