radai rosenblatt created AVRO-2035:
--------------------------------------

             Summary: default value for boolean field cannot be a string
                 Key: AVRO-2035
                 URL: https://issues.apache.org/jira/browse/AVRO-2035
             Project: Avro
          Issue Type: Bug
          Components: java
    Affects Versions: 1.8.1
            Reporter: radai rosenblatt


suppose i have the following schema evolution:
{code}
{
  "name": "Bob",
  "type": "record",
  "fields": [
    {"name": "f1", "type": "int"}
  ]
}
{code}
and then:
{code}
{
  "name": "Bob",
  "type": "record",
  "fields": [
    {"name": "f1", "type": "int"},
    {"name": "f2", "type": "boolean", "default": "true"}
  ]
}
{code}

the default value for "f2" is specified as the _STRING_ "true" (and not the 
literal boolean true). 

if this default value is ever accessed (when reading a gen1-serialized object 
as a gen2) we get this:

{code}
org.apache.avro.AvroTypeException: Non-boolean default for boolean: "true"

        at 
org.apache.avro.io.parsing.ResolvingGrammarGenerator.encode(ResolvingGrammarGenerator.java:408)
        at 
org.apache.avro.io.parsing.ResolvingGrammarGenerator.getBinary(ResolvingGrammarGenerator.java:307)
        at 
org.apache.avro.io.parsing.ResolvingGrammarGenerator.resolveRecords(ResolvingGrammarGenerator.java:285)
        at 
org.apache.avro.io.parsing.ResolvingGrammarGenerator.generate(ResolvingGrammarGenerator.java:118)
        at 
org.apache.avro.io.parsing.ResolvingGrammarGenerator.generate(ResolvingGrammarGenerator.java:50)
        at org.apache.avro.io.ResolvingDecoder.resolve(ResolvingDecoder.java:85)
        at org.apache.avro.io.ResolvingDecoder.<init>(ResolvingDecoder.java:49)
        at 
org.apache.avro.io.DecoderFactory.resolvingDecoder(DecoderFactory.java:307)
        at 
org.apache.avro.generic.GenericDatumReader.getResolver(GenericDatumReader.java:127)
        at 
org.apache.avro.generic.GenericDatumReader.read(GenericDatumReader.java:142)
{code}

yet Schema.parse() passes for this



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

Reply via email to