flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tzu-Li (Gordon) Tai (JIRA)" <j...@apache.org>
Subject [jira] [Created] (FLINK-9202) AvroSerializer should not be serializing the target Avro type class
Date Wed, 18 Apr 2018 11:48:00 GMT
Tzu-Li (Gordon) Tai created FLINK-9202:
------------------------------------------

             Summary: AvroSerializer should not be serializing the target Avro type class
                 Key: FLINK-9202
                 URL: https://issues.apache.org/jira/browse/FLINK-9202
             Project: Flink
          Issue Type: Bug
          Components: Type Serialization System
            Reporter: Tzu-Li (Gordon) Tai


The {{AvroSerializer}} contains this field which is written when the serializer is written
into savepoints:
[https://github.com/apache/flink/blob/be7c89596a3b9cd8805a90aaf32336ec2759a1f7/flink-formats/flink-avro/src/main/java/org/apache/flink/formats/avro/typeutils/AvroSerializer.java#L78]

This causes Avro schema evolution to not work properly, because Avro generated classes have
non-fixed serialVersionUIDs. Once a new Avro class is generated with a new schema, that class
can not be loaded on restore due to incompatible UIDs, and thus the serializer can not be
successfully deserialized.

A possible solution would be to only write the classname, and dynamically load the class into
a transient field.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message