avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joey Echeverria (JIRA)" <j...@apache.org>
Subject [jira] [Resolved] (AVRO-1588) ReflectData.AllowNull incorrectly handles primitive types.
Date Mon, 22 Sep 2014 22:30:34 GMT

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

Joey Echeverria resolved AVRO-1588.
-----------------------------------
    Resolution: Duplicate

> ReflectData.AllowNull incorrectly handles primitive types.
> ----------------------------------------------------------
>
>                 Key: AVRO-1588
>                 URL: https://issues.apache.org/jira/browse/AVRO-1588
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.7.7
>            Reporter: Joey Echeverria
>
> When doing the following:
> {code:java}
> private static class PoJo {
>   private long id;
>   private String name;
> }
> ReflectData.AllowNull.get().getSchema(PoJo.class);
> {code}
> I'd expect a schema like this:
> {code:javascript}
> {
>   "type" : "record",
>   "name" : "PoJo",
>   "namespace" : "MyObject$",
>   "fields" : [ {
>     "name" : "id",
>     "type" : "long",
>   }, {
>     "name" : "name",
>     "type" : [ "null", "string" ],
>     "default" : null
>   } ]
> }
> {code}
> But instead I get:
> {code:javascript}
> {
>   "type" : "record",
>   "name" : "PoJo",
>   "namespace" : "MyObject$",
>   "fields" : [ {
>     "name" : "id",
>     "type" : [ "null", "long" ],
>     "default" : null
>   }, {
>     "name" : "name",
>     "type" : [ "null", "string" ],
>     "default" : null
>   } ]
> }
> {code}
> This will later result in an NullPointerException when you try to deserialize bytes where
id was null when it tries to convert the Long to a long.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message