[ 
https://issues.apache.org/jira/browse/FLINK-6869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16046533#comment-16046533
 ] 

ASF GitHub Bot commented on FLINK-6869:
---------------------------------------

Github user aljoscha commented on a diff in the pull request:

    https://github.com/apache/flink/pull/4090#discussion_r121384869
  
    --- Diff: 
flink-core/src/main/java/org/apache/flink/api/common/typeutils/TypeSerializerSerializationUtil.java
 ---
    @@ -362,8 +407,14 @@ public void read(DataInputView in) throws IOException {
                        int serializerBytes = in.readInt();
                        byte[] buffer = new byte[serializerBytes];
                        in.readFully(buffer);
    -                   try {
    -                           typeSerializer = 
InstantiationUtil.deserializeObject(buffer, userClassLoader);
    +
    +                   ClassLoader old = 
Thread.currentThread().getContextClassLoader();
    --- End diff --
    
    Maybe rename to `previousClassLoader`


> Scala serializers do not have the serialVersionUID specified
> ------------------------------------------------------------
>
>                 Key: FLINK-6869
>                 URL: https://issues.apache.org/jira/browse/FLINK-6869
>             Project: Flink
>          Issue Type: Bug
>          Components: Scala API, Type Serialization System
>    Affects Versions: 1.3.0
>            Reporter: Tzu-Li (Gordon) Tai
>            Assignee: Tzu-Li (Gordon) Tai
>            Priority: Blocker
>              Labels: flink-rel-1.3.1-blockers
>             Fix For: 1.3.1
>
>
> Currently, all Scala serializers, e.g. {{OptionSerializer}}, 
> {{CaseClassSerializer}}, {{TrySerializer}} etc. do not have the 
> serialVersionUID specified.
> In 1.3, the Scala serializer (all serializers in general) implementations had 
> to be changed since implementation of the compatibility methods 
> {{snapshotConfiguration}}, {{ensureCompatibility}} had to be implemented, 
> resulting in a new serialVersionUID.
> This means that when restoring from a snapshot pre-1.3 that contains Scala 
> types as state, the previous serializer in the snapshot cannot be 
> deserialized (due to UID mismatch).
> To fix this, we should specify the serialVersionUIDs of the Scala serializers 
> to be what they originally were pre-1.3. This would then allow users with 
> Scala types as state to restore from older versions.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to