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 <[email protected]>
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.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---