You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Till Rohrmann (JIRA)" <ji...@apache.org> on 2017/05/30 14:15:04 UTC

[jira] [Created] (FLINK-6775) StateDescriptor cannot be shared by multiple subtasks

Till Rohrmann created FLINK-6775:
------------------------------------

             Summary: StateDescriptor cannot be shared by multiple subtasks
                 Key: FLINK-6775
                 URL: https://issues.apache.org/jira/browse/FLINK-6775
             Project: Flink
          Issue Type: Bug
          Components: DataStream API
    Affects Versions: 1.2.1, 1.1.4, 1.0.3, 1.3.0, 1.4.0
            Reporter: Till Rohrmann
            Priority: Blocker


The {{StateDescriptor}} contains the {{TypeSerializer}} which is used to serialize the state. The serializer instance won't be duplicated when it is accessed. Therefore, the {{StateDescriptor}} cannot be shared if the {{TypeSerializer}} is stateful as in the case of the {{KryoSerializer}}.

This problem can easily arise when a user defines a stateful operator which defines the {{StateDescriptor}} statically. The work around is to not define a static {{StateDescriptor}}. However, I would still make it a blocker, because it is extremely hard to debug for the user if things fail because the {{TypeSerializer}} is used concurrently.



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