[
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)