Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Avro, mail # dev - [jira] [Created] (AVRO-1449) Check default value's type matches union at schema parse time


Copy link to this message
-
[jira] [Created] (AVRO-1449) Check default value's type matches union at schema parse time
"Tom White 2014-01-29, 15:16
Tom White created AVRO-1449:
-------------------------------

             Summary: Check default value's type matches union at schema parse time
                 Key: AVRO-1449
                 URL: https://issues.apache.org/jira/browse/AVRO-1449
             Project: Avro
          Issue Type: Improvement
          Components: java
    Affects Versions: 1.7.6
            Reporter: Tom White
A common Avro mistake is to declare optional fields as follows:

{noformat}
"type": ["string", "null"], "default": null
{noformat}

This fails at runtime since the default value's type (null) doesn't match the type of the first type in the union (string). The correct declaration is:

{noformat}
"type": ["null", "string"], "default": null
{noformat}

Doug [suggested|https://groups.google.com/a/cloudera.org/forum/#!msg/cdk-dev/Xgo5YKEcQ1Q/VkyWP2gnOEMJ] that we throw an exception at schema parse time for cases like this. To ensure backwards compatibility we could make it optional; tools could emit a warning.

--
This message was sent by Atlassian JIRA
(v6.1.5#6160)