[
https://issues.apache.org/jira/browse/FLINK-11327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Chesnay Schepler updated FLINK-11327:
-------------------------------------
Issue Type: Improvement (was: Task)
> Migrate all remaining Flink serializers' snapshot classes to the new
> TypeSerializerSnapshot / TypeSerializerSchemaCompatibility abstractions
> --------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-11327
> URL: https://issues.apache.org/jira/browse/FLINK-11327
> Project: Flink
> Issue Type: Improvement
> Components: API / Type Serialization System, Runtime / State Backends
> Reporter: Tzu-Li (Gordon) Tai
> Priority: Critical
> Fix For: 1.8.0
>
>
> There are still a few serializers in Flink that needs to be upgraded to use
> the new serialization compatibility APIs ({{TypeSerializerSnapshot}} and
> {{TypeSerializerSchemaCompatibility}}).
> By doing this as soon as possible (ideally all are migrated for the 1.8
> release), state serializers would no longer be written via Java serialization
> into savepoints, and in general allowing serializer upgrades more
> future-proof.
> To split up the efforts, the remaining serializers can be categorized as
> follows.
> They are categorized because some are fairly straightforward, while some are
> more complex and involves reconfiguration / migration cases.
> We should have an independent sub-task JIRA for each category:
> * Parameterless serializers / subclasses of {{TypeSerializerSingleton}}
> * Simple composite serializers that contain nested serializers
> * Scala-macro generated serializers
> * {{POJOSerializer}}
> * Kryo-related serializers
> * Enum serializers
> After upgrading a serializers' snapshot, the following should be achieved to
> consider the migration completed:
> * The serializer should now return a {{TypeSerializerSnapshot}}, and not a
> subclass of the legacy {{TypeSerializerConfigSnapshot}} as its snapshot.
> * Check whether or not the legacy {{TypeSerializer#ensureCompatibility}}
> method can be removed from the serializer class.
> * There is a corresponding test specification for the migrated serializer
> that uses the {{TypeSerializerSnapshotMigrationTestBase}}.
> Ideally, to complete this JIRA, we should also have some utilities /
> meta-tests:
> * A test that verifies ALL serializers in the Flink codebase have a
> corresponding migration test that uses the
> {{TypeSerializerSnapshotMigrationTestBase}}.
> * A utility script that generates test data and snapshots of all serializers
> in the Flink codebase, to be used by the migration tests. This script should
> be used every time we release a Flink major version.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)