beam-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aviem Zur (JIRA)" <j...@apache.org>
Subject [jira] [Created] (BEAM-626) AvroCoder not deserializing correctly in Kryo
Date Sun, 11 Sep 2016 11:14:20 GMT
Aviem Zur created BEAM-626:
------------------------------

             Summary: AvroCoder not deserializing correctly in Kryo
                 Key: BEAM-626
                 URL: https://issues.apache.org/jira/browse/BEAM-626
             Project: Beam
          Issue Type: Bug
          Components: sdk-java-core
            Reporter: Aviem Zur
            Assignee: Davor Bonaci
            Priority: Minor


Unlike with Java serialization, when deserializing AvroCoder using Kryo, the resulting AvroCoder
is missing all of its transient fields.

The reason it works with Java serialization is because of the usage of writeReplace and readResolve,
which Kryo does not adhere to.

In ProtoCoder for example there are also unserializable members, the way it is solved there
is lazy initializing these members via their getters, so they are initialized in the deserialized
object on first call to the member.

It seems AvroCoder is the only class in Beam to use writeReplace convention.



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

Mime
View raw message