[
https://issues.apache.org/jira/browse/FLINK-2398?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14660134#comment-14660134
]
ASF GitHub Bot commented on FLINK-2398:
---------------------------------------
Github user gyfora commented on the pull request:
https://github.com/apache/flink/pull/988#issuecomment-128404999
It would be good to get some feedback from the others as well, but in
general my arguments are the following:
1. Getting exceptions after non-parallel sources just because you didn't
rebalance (or in any other case), is very confusing for the user and seems
unintuitive. Therefore I vote for fixing the current behaviour and keeping
rebalance implied.
2. There is probably a good reason why a user implements an operator (maybe
some outside world communication), so not executing it (for instance no sink
attached) will lead to incorrect behaviour. Also we cannot force someone to
always use a sink in this case as they might need some special behaviour
implemented by some other operator.
> Decouple StreamGraph Building from the API
> ------------------------------------------
>
> Key: FLINK-2398
> URL: https://issues.apache.org/jira/browse/FLINK-2398
> Project: Flink
> Issue Type: Improvement
> Components: Streaming
> Reporter: Aljoscha Krettek
> Assignee: Aljoscha Krettek
>
> Currently, the building of the StreamGraph is very intertwined with the API
> methods. DataStream knows about the StreamGraph and keeps track of splitting,
> selected names, unions and so on. This leads to the problem that is is very
> hard to understand how the StreamGraph is built because the code that does it
> is all over the place. This also makes it hard to extend/change parts of the
> Streaming system.
> I propose to introduce "Transformations". A transformation hold information
> about one operation: The input streams, types, names, operator and so on. An
> API method creates a transformation instead of fiddling with the StreamGraph
> directly. A new component, the StreamGraphGenerator creates a StreamGraph
> from the tree of transformations that result from program specification using
> the API methods. This would relieve DataStream from knowing about the
> StreamGraph and makes unions, splitting, selection visible transformations
> instead of being scattered across the different API classes as fields.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)