Marcos Lopez Gonzalez created AVRO-2140:

             Summary: Validation of Union Schemas
                 Key: AVRO-2140
             Project: Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.8.2
            Reporter: Marcos Lopez Gonzalez

When validating a union Schema in the method
Schema.isValidDefault(Schema schema, JsonNode defaultValue){code}
for the case of UNION it only validates the first type of the union:

case UNION: // union default: first branch
return isValidDefault(schema.getTypes().get(0), defaultValue);
This leads to some warnings that can create confusion.


For example, if you have a field like this:

  "name" : "synonym",
  "type" : [ "null", "boolean" ],
  "default" : false
{{and you assign it false as default you get this warning because it only 
validates that false is not null:}}
[WARNING] Avro: Invalid default for field synonym: false not a 

I think in this cases the validation should check all the types of the union to 
avoid these warnings.

I would be happy to create a PR to improve this if you think we should go for 



This message was sent by Atlassian JIRA

Reply via email to