flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-9034) State Descriptors drop TypeInformation on serialization
Date Wed, 21 Mar 2018 20:17:00 GMT

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

ASF GitHub Bot commented on FLINK-9034:

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

    --- Diff: flink-core/src/main/java/org/apache/flink/api/common/state/StateDescriptor.java
    @@ -77,18 +80,22 @@
     	/** The serializer for the type. May be eagerly initialized in the constructor,
     	 * or lazily once the type is serialized or an ExecutionConfig is provided. */
    +	@Nullable
     	protected TypeSerializer<T> serializer;
    +	/** The type information describing the value type. Only used to lazily create the serializer
    --- End diff --
    nit: I think this was also a copying error in the original comment, but this is not necessarily
a "value", unless we simply thing of all state as a value, in which case I'm fine with this.

> State Descriptors drop TypeInformation on serialization
> -------------------------------------------------------
>                 Key: FLINK-9034
>                 URL: https://issues.apache.org/jira/browse/FLINK-9034
>             Project: Flink
>          Issue Type: Bug
>          Components: State Backends, Checkpointing
>    Affects Versions: 1.5.0, 1.4.2
>            Reporter: Stephan Ewen
>            Assignee: Stephan Ewen
>            Priority: Major
>             Fix For: 1.6.0
> The following code currently causes problems
> {code}
> public class MyFunction extends RichMapFunction<A, B>  {
>     private final ValueStateDescriptor<MyType> descr = new ValueStateDescriptor<>("state
name", MyType.class);
>     private ValueState<MyType> state;
>     @Override
>     public void open() {
>         state = getRuntimeContext().getValueState(descr);
>     }
> }
> {code}
> The problem is that the state descriptor drops the type information and creates a serializer
before serialization as part of shipping the function in the cluster. To do that, it initializes
the serializer with an empty execution config, making serialization inconsistent.
> This is mainly an artifact from the days when dropping the type information before shipping
was necessary, because the type info was not serializable. It now is, and we can fix that

This message was sent by Atlassian JIRA

View raw message