Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 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 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)

 
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB