[ https://issues.apache.org/jira/browse/FLINK-6482?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16015315#comment-16015315 ]
ASF GitHub Bot commented on FLINK-6482: --------------------------------------- GitHub user tzulitai opened a pull request: https://github.com/apache/flink/pull/3937 [FLINK-6482] [core] Add nested serializers to config snapshots of composite serializers This commit adds also the nested serializers themselves to the configuration snapshots of composite serializers. This opens up the opportunity to use the previous nested serializer as the convert deserializer in the case that a nested serializer in the new serializer determines that state migration is required. Take for example a Tuple serializer. If any one of the nested field serializers is not compatible, then the whole Tuple serializer will need to be migrated. Prior to this PR, this means that all serializers would need to be able to be either compatible or provide a convert deserializer. With this change, this relaxes this by opening up the opportunity to just use the previous serializer of fields as the convert deserializer. Only the composite serializers are affected by this change. This commit also consolidates all TypeSerializer-related serialization proxies into a single utility class. A few renamings are included, namely: 1. `ClassNotFoundDummyTypeSerializer` --> `UnloadableDummyTypeSerializer` 2. `TypeSerializerUtil` --> `TypeSerializerSerializationUtil` (because that's all its used for) 3. `TypeSerializerSerializationProxy` --> functionality moved to a static method of `TypeSerializerSerializationUtil` 4. `StateMigrationUtil` --> moved to flink-core and renamed to `CompatibilityUtil`. You can merge this pull request into a Git repository by running: $ git pull https://github.com/tzulitai/flink FLINK-6482 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/flink/pull/3937.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #3937 ---- commit a189999f799fe943f2297293a2f74707b9c4188d Author: Tzu-Li (Gordon) Tai <tzuli...@apache.org> Date: 2017-05-18T06:51:33Z [FLINK-6482] [core] Add nested serializers to config snapshots of composite serializers This commit adds also the nested serializers themselves to the configuration snapshots of composite serializers. This opens up the oppurtunity to use the previous nested serializer as the convert deserializer in the case that a nested serializer in the new serializer determines that state migration is required. This commit also consolidate all TypeSerializer-related serialization proxies into a single utility class. ---- > Add nested serializers into configuration snapshots of composite serializers > ---------------------------------------------------------------------------- > > Key: FLINK-6482 > URL: https://issues.apache.org/jira/browse/FLINK-6482 > Project: Flink > Issue Type: Improvement > Components: State Backends, Checkpointing, Type Serialization System > Reporter: Tzu-Li (Gordon) Tai > Assignee: Tzu-Li (Gordon) Tai > Priority: Critical > Fix For: 1.3.0 > > > Currently, the composite serializers' configuration snapshots only wrap the > config snapshots of nested serializers. > We should also consider adding serialization of the nested serializers into > the config snapshot, so that in the case where only some nested serializer > cannot be loaded (class missing / implementation changed), we can also > provide a path for serializer upgrades. > This applies for all composite serializers that have nested serializers. -- This message was sent by Atlassian JIRA (v6.3.15#6346)