You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Dawid Wysakowicz (Jira)" <ji...@apache.org> on 2022/03/31 12:46:00 UTC

[jira] [Updated] (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:all-tabpanel ]

Dawid Wysakowicz updated FLINK-26960:
-------------------------------------
    Description: 
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

  was:
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.


> 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
>
> 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.1#820001)