avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Kasper (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AVRO-1865) GenericData.Array class missing no arg constructor for Kryo serialization
Date Mon, 20 Jun 2016 15:37:05 GMT

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

Alexander Kasper updated AVRO-1865:
-----------------------------------
    Description: 
When trying to serialize Java classes generated by Avro that contain a field as follows:
{{array<MyClass> myclasses = []}}

serialization fails with the following error message
{{com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor)}}

This is a common enough issue with Kryo that they have a dedicated section on their website
on it: http://docs.datatorrent.com/troubleshooting/#application-throwing-following-kryo-exception

The attached patch adds a no args constructor for the inner class Array of GenericData with
zero entries and a dummy schema. My personal tests for serialization with Kryo were successful
when using it. Since I do not have complete insight into Avro I'd like to know if this could
be a breaking change and how to test it if so.

  was:
When trying to serialize Java classes generated by Avro that contain a field as follows:
`array<MyClass> myclasses = []`

serialization fails with the following error message
`com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor)`

This is a common enough issue with Kryo that they have a dedicated section on their website
on it: http://docs.datatorrent.com/troubleshooting/#application-throwing-following-kryo-exception

The attached patch adds a no args constructor for the inner class Array of GenericData with
zero entries and a dummy schema. My personal tests for serialization with Kryo were successful
when using it. Since I do not have complete insight into Avro I'd like to know if this could
be a breaking change and how to test it if so.


> GenericData.Array class missing no arg constructor for Kryo serialization
> -------------------------------------------------------------------------
>
>                 Key: AVRO-1865
>                 URL: https://issues.apache.org/jira/browse/AVRO-1865
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.8.1
>            Reporter: Alexander Kasper
>              Labels: newbie, patch
>         Attachments: add-no-arg-ctor-genericdata-array.diff
>
>
> When trying to serialize Java classes generated by Avro that contain a field as follows:
> {{array<MyClass> myclasses = []}}
> serialization fails with the following error message
> {{com.esotericsoftware.kryo.KryoException: Class cannot be created (missing no-arg constructor)}}
> This is a common enough issue with Kryo that they have a dedicated section on their website
on it: http://docs.datatorrent.com/troubleshooting/#application-throwing-following-kryo-exception
> The attached patch adds a no args constructor for the inner class Array of GenericData
with zero entries and a dummy schema. My personal tests for serialization with Kryo were successful
when using it. Since I do not have complete insight into Avro I'd like to know if this could
be a breaking change and how to test it if so.



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

Mime
View raw message