[
https://issues.apache.org/jira/browse/FLINK-2294?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14608195#comment-14608195
]
Gyula Fora commented on FLINK-2294:
-----------------------------------
Every stream operator has a context and since the call to processElement
happens outside of the operator implementation (inside the streamtask or
collector) we can set it there. (thats 2 places)
Setting it inside the processElement means that we need to set it in each
operator implementation (Map, Filter etc) and the user needs to be aware of
setting it in custom operator implementations (infinite places).
So I will probably stick with the current solution.
> Keyed State does not work with DOP=1
> ------------------------------------
>
> Key: FLINK-2294
> URL: https://issues.apache.org/jira/browse/FLINK-2294
> Project: Flink
> Issue Type: Bug
> Components: Streaming
> Affects Versions: 0.10
> Reporter: Aljoscha Krettek
> Assignee: Gyula Fora
> Priority: Blocker
>
> When changing the DOP from 3 to 1 in StatefulOperatorTest.apiTest() the test
> fails. The reason seems to be that the element is not properly set when
> chaining is happening.
> Also, requiring this:
> {code}
> headContext.setNextInput(nextRecord);
> streamOperator.processElement(nextRecord);
> {code}
> to be called seems rather fragile. Why not set the element in
> {{processElement()}}. This would also make for cleaner encapsulation, since
> now all outside code must assume that operators have a
> {{StreamingRuntimeContext}} on which they set the next element.
> The state/keyed state machinery seems dangerously undertested.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)