[ 
https://issues.apache.org/jira/browse/AVRO-2366?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Raman Gupta updated AVRO-2366:
------------------------------
    Description: 
Followup to AVRO-2035.

I am testing 1.9 SNAPSHOT. I set `Schema.Parser.setValidateDefaults` to false, 
and still get a failure at compile-time if the default does not match the 
schema. For example, a field definition of:

{"name": "name", "type": "string", "default": null}

Should this definition succeed if `setValidateDefaults(false)` is called? If 
not, should the `setValidateDefaults` method just be removed?

The exception is:

{\{ at org.apache.avro.Schema.validateDefault(Schema.java:1482)}}
 \{{ at org.apache.avro.Schema.access$300(Schema.java:84)}}
 \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:493)}}
 \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:485)}}
 \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:504)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.addStringType(SpecificCompiler.java:689)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.addStringType(SpecificCompiler.java:668)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.compile(SpecificCompiler.java:598)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.compileToDestination(SpecificCompiler.java:527)}}

 

  was:
Followup to AVRO-2035.

I am testing 1.9 SNAPSHOT. I set `Schema.Parser.setValidateDefaults` to false, 
and still get a failure if the default does not match the schema. For example, 
a field definition of:

{"name": "name", "type": "string", "default": null}

Should this definition succeed if `setValidateDefaults(false)` is called? If 
not, should the `setValidateDefaults` method just be removed?

The exception is:

{{Caused by: org.apache.avro.AvroTypeException: Invalid default for field name: 
null not a {"type":"string","avro.java.string":"String"}}}
 \{{ at org.apache.avro.Schema.validateDefault(Schema.java:1482)}}
 \{{ at org.apache.avro.Schema.access$300(Schema.java:84)}}
 \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:493)}}
 \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:485)}}
 \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:504)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.addStringType(SpecificCompiler.java:689)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.addStringType(SpecificCompiler.java:668)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.compile(SpecificCompiler.java:598)}}
 \{{ at 
org.apache.avro.compiler.specific.SpecificCompiler.compileToDestination(SpecificCompiler.java:527)}}

 


> 1.9 
> ----
>
>                 Key: AVRO-2366
>                 URL: https://issues.apache.org/jira/browse/AVRO-2366
>             Project: Apache Avro
>          Issue Type: Bug
>    Affects Versions: 1.9.0
>            Reporter: Raman Gupta
>            Priority: Major
>
> Followup to AVRO-2035.
> I am testing 1.9 SNAPSHOT. I set `Schema.Parser.setValidateDefaults` to 
> false, and still get a failure at compile-time if the default does not match 
> the schema. For example, a field definition of:
> {"name": "name", "type": "string", "default": null}
> Should this definition succeed if `setValidateDefaults(false)` is called? If 
> not, should the `setValidateDefaults` method just be removed?
> The exception is:
> {\{ at org.apache.avro.Schema.validateDefault(Schema.java:1482)}}
>  \{{ at org.apache.avro.Schema.access$300(Schema.java:84)}}
>  \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:493)}}
>  \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:485)}}
>  \{{ at org.apache.avro.Schema$Field.<init>(Schema.java:504)}}
>  \{{ at 
> org.apache.avro.compiler.specific.SpecificCompiler.addStringType(SpecificCompiler.java:689)}}
>  \{{ at 
> org.apache.avro.compiler.specific.SpecificCompiler.addStringType(SpecificCompiler.java:668)}}
>  \{{ at 
> org.apache.avro.compiler.specific.SpecificCompiler.compile(SpecificCompiler.java:598)}}
>  \{{ at 
> org.apache.avro.compiler.specific.SpecificCompiler.compileToDestination(SpecificCompiler.java:527)}}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to