You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Gaël Renoux (Jira)" <ji...@apache.org> on 2022/05/18 14:31:00 UTC

[jira] [Comment Edited] (FLINK-26960) Make it possible to drop an old unused registered Kryo serializer

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

Gaël Renoux edited comment on FLINK-26960 at 5/18/22 2:30 PM:
--------------------------------------------------------------

We hit this issue today. I had a serializer for a custom class in the past. Following some refactoring, the class was no longer needed, so we removed it (and its serializer) from the job. When we deployed the new version of the job from a savepoint produced by the old version (because there was a lot of state we wanted to keep), we got the error (joined the stack-trace).

[^stack-trace.log]


was (Author: gael):
We hit thaht issue today. I had a serializer for a custom class in the past. Following some refactoring, the class was no longer needed, so we removed it (and its serializer) from the job. When we deployed the new version of the job from a savepoint produced by the old version (because there was a lot of state we wanted to keep), we got the error (joined the stack-trace).

[^stack-trace.log]

> Make it possible to drop an old unused registered Kryo serializer
> -----------------------------------------------------------------
>
>                 Key: FLINK-26960
>                 URL: https://issues.apache.org/jira/browse/FLINK-26960
>             Project: Flink
>          Issue Type: Bug
>          Components: API / Type Serialization System
>    Affects Versions: 1.15.0, 1.12.7, 1.13.6, 1.14.4
>            Reporter: Dawid Wysakowicz
>            Priority: Critical
>         Attachments: stack-trace.log
>
>
> If users register a Kryo serializer e.g. via:
> {code}
> env.registerTypeWithKryoSerializer(ClassA. ClassASerializer.class);
> {code}
> and then use a Kryo serializer for serializing state objects, the registered serializer is written into the KryoSerializer snapshot. Even if Kryo is used for serializing classes other than ClassA. This makes it impossible to remove {{ClassASerializer}} from the classpath, because it is required for reading the savepoint.
> This problem has been reported by users before e.g.
> https://lists.apache.org/thread/989mfrxqznvzpmhm0315kv23bxh1ln8y



--
This message was sent by Atlassian Jira
(v8.20.7#820007)