flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tzu-Li (Gordon) Tai (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (FLINK-6191) Make non-primitive, internal built-in serializers reconfigurable
Date Mon, 27 Mar 2017 06:08:41 GMT

     [ https://issues.apache.org/jira/browse/FLINK-6191?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Tzu-Li (Gordon) Tai updated FLINK-6191:
---------------------------------------
    Description: 
This sub-task follows after FLINK-6190.

For non-primitive type serializers internally created by Flink, we need to allow them to be
reconfigurable whenever we detect a change between the previous and current serializer configuration.

Most notably, this is relevant for the {{KryoSerializer}} and {{PojoSerializer}} which are
affected by the configuration, as well as composite types which can potentially have nested
serializers (e.g. {{GenericArraySerializer}}).

Since not all serializers require / reconfiguration, we propose to have a extended abstract
base class for these:

{code}
@Internal
public abstract class ReconfigurableTypeSerializer<T> extends TypeSerializer<T>
{

    void abstract reconfigure(SerializersConfig serializersConfig);
}
{code}

This class is also used as a tag, to check if a serializer needs to be reconfigured when serializer
configuration change is detected.

Note that type serializer reconfiguration is only a mechanic internal to Flink. User custom
serializers cannot rely on reconfiguration to bridge upgrades; they should be responsible
that the {{deserialize}} method is able to read old state.

  was:
This sub-task follows after FLINK-6190.

For non-primitive type serializers internally created by Flink, we need to allow them to be
reconfigurable whenever we detect a change between the previous and current serializer configuration.

Most notably, this is relevant for the {{KryoSerializer}} and {{PojoSerializer}} which are
affected by the configuration, as well as composite types which can potentially have nested
serializers (e.g. {{GenericArraySerializer}}).

Since not all serializers require / reconfiguration, we propose to have a extended abstract
base class for these:

{code}
@Internal
public abstract class ReconfigurableTypeSerializer<T> extends TypeSerializer<T>
{

    void abstract reconfigure(SerializersConfig serializersConfig);
}
{code}

This class is also used as a tag, to check if a serializer needs to be reconfigured when serializer
configuration change is detected.

Note that type serializer reconfiguration is only a Flink internal mechanic. User custom serializers
cannot rely on reconfiguration to bridge upgrades; they should be responsible that the `deserialize`
method is able to read old state.


> Make non-primitive, internal built-in serializers reconfigurable
> ----------------------------------------------------------------
>
>                 Key: FLINK-6191
>                 URL: https://issues.apache.org/jira/browse/FLINK-6191
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Type Serialization System
>            Reporter: Tzu-Li (Gordon) Tai
>            Assignee: Tzu-Li (Gordon) Tai
>
> This sub-task follows after FLINK-6190.
> For non-primitive type serializers internally created by Flink, we need to allow them
to be reconfigurable whenever we detect a change between the previous and current serializer
configuration.
> Most notably, this is relevant for the {{KryoSerializer}} and {{PojoSerializer}} which
are affected by the configuration, as well as composite types which can potentially have nested
serializers (e.g. {{GenericArraySerializer}}).
> Since not all serializers require / reconfiguration, we propose to have a extended abstract
base class for these:
> {code}
> @Internal
> public abstract class ReconfigurableTypeSerializer<T> extends TypeSerializer<T>
{
>     void abstract reconfigure(SerializersConfig serializersConfig);
> }
> {code}
> This class is also used as a tag, to check if a serializer needs to be reconfigured when
serializer configuration change is detected.
> Note that type serializer reconfiguration is only a mechanic internal to Flink. User
custom serializers cannot rely on reconfiguration to bridge upgrades; they should be responsible
that the {{deserialize}} method is able to read old state.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message