You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2017/01/22 22:13:27 UTC
[jira] [Resolved] (FLINK-5590) Create a proper internal state
hierarchy
[ https://issues.apache.org/jira/browse/FLINK-5590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephan Ewen resolved FLINK-5590.
---------------------------------
Resolution: Fixed
Fixed in 3b97128f05bacfb80afe4a2a49741c31ff306cd2
> Create a proper internal state hierarchy
> ----------------------------------------
>
> Key: FLINK-5590
> URL: https://issues.apache.org/jira/browse/FLINK-5590
> Project: Flink
> Issue Type: Improvement
> Components: State Backends, Checkpointing
> Affects Versions: 1.2.0
> Reporter: Stephan Ewen
> Assignee: Stephan Ewen
> Fix For: 1.3.0
>
>
> Currently, the state interfaces (like {{ListState}}, {{ValueState}}, {{ReducingState}}) are very sparse and contain only methods exposed to the users. That makes sense to keep the public stable API minimal
> At the same time, the runtime needs more methods for its internal interaction with state, such as:
> - setting namespaces
> - accessing raw values
> - merging namespaces
> These are currently realized by re-creating or re-obtaining the state objects from the KeyedStateBackend. That method causes quite an overhead for each access to the state
> The KeyedStateBackend tries to do some tricks to reduce that overhead, but does it only partially and induces other overhead in the course.
> The root cause of all these issues is a problem in the design: There is no proper "internal state abstraction" in a similar way as there is an external state abstraction (the public state API).
> We should add a similar hierarchy of states for the internal methods. It would look like in the example below:
> {code}
> * State
> * |
> * +-------------------InternalKvState
> * | |
> * MergingState |
> * | |
> * +-----------------InternalMergingState
> * | |
> * +--------+------+ |
> * | | |
> * ReducingState ListState +-----+-----------------+
> * | | | |
> * +-----------+ +----------- -----------------InternalListState
> * | |
> * +---------InternalReducingState
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)