GitHub user tzulitai opened a pull request:
https://github.com/apache/flink/pull/4090
[FLINK-6869] [scala] Specify serialVersionUID for all Scala serializers
This PR fixes 2 issues:
1. Configuration snapshots of Scala serializers were not readable:
Prior to this PR, the configuration snapshot classes of Scala serializers
did not have the proper default empty constructor that is used for
deserializing the configuration snapshot.
Since some Scala serializers' config snapshots extend the Java
`CompositeTypeSerializerConfigSnapshot`, their config snapshot classes are also
changed to be implemented in Java since in Scala we can only call a single base
class constructor from subclasses.
2. Scala serializers did not specify the serialVersionUID:
Previously, Scala serializers did not specify the `serialVersionUID`, and
therefore prohibited restore from previous Flink version snapshots because the
serializers' implementations changed in 1.3.
The `serialVersionUID`s added in this PR are identical to what they were
(as generated by Java) in Flink 1.2, so that we can at least restore state that
were written with the Scala serializers as of 1.2.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/tzulitai/flink FLINK-6869
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/4090.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 #4090
commit 416bd3b122e79bdd8b5876e8d645b346110b67f0
Author: Tzu-Li (Gordon) Tai
Date: 2017-06-08T06:52:04Z
[hotfix] [scala] Fix instantiation of Scala serializers' config snapshot
classes
Prior to this commit, the configuration snapshot classes of Scala
serializers did not have the proper default empty constructor that is
used for deserializing the configuration snapshot.
Since some Scala serializers' config snapshots extend the Java
CompositeTypeSerializerConfigSnapshot, their config snapshot classes are
also changed to be implemented in Java since in Scala we can only call a
single base class constructor from subclasses.
commit 16574c6623dd64846c888e6a608deb9ae3f081bd
Author: Tzu-Li (Gordon) Tai
Date: 2017-06-08T13:29:45Z
[FLINK-6869] [scala] Specify serialVersionUID for all Scala serializers
Previously, Scala serializers did not specify the serialVersionUID, and
therefore prohibited restore from previous Flink version snapshots
because the serializers' implementations changed.
The serialVersionUIDs added in this commit are identical to what they
were (as generated by Java) in Flink 1.2, so that we can at least
restore state that were written with the Scala serializers as of 1.2.
---
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 infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---