[ https://issues.apache.org/jira/browse/FLINK-2390?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Fabian Hueske updated FLINK-2390: --------------------------------- Fix Version/s: (was: 0.10.0) 1.0.0 > Replace iteration timeout with algorithm for detecting termination > ------------------------------------------------------------------ > > Key: FLINK-2390 > URL: https://issues.apache.org/jira/browse/FLINK-2390 > Project: Flink > Issue Type: New Feature > Components: Streaming > Reporter: Gyula Fora > Fix For: 1.0.0 > > > Currently the user can set a timeout which will shut down the iteration > source/sink nodes if no new data is received during that time to allow > program termination in iterative streaming jobs. > This method is used due to the non-trivial nature of termination in iterative > streaming jobs. While termination is not a main concern in long running > streaming jobs, this behaviour makes iterative tests non-deterministic and > they often fail on travis due to the timeout. Also setting a timeout can > cause jobs to terminate prematurely. > I propose to remove iteration timeouts and replace it with the following > algorithm for detecting termination: > -We first identify loop edges in the jobgraph (the channels from the > iteration sources to the head operators) > -Once the head operators (the ones with loop input) finish with all their > non-loop inputs they broadcast a marker to their outputs. > -Each operator will broadcast a marker once it received a marker from all its > non-finished inputs > -Iteration sources are terminated when they receive 2 consecutive markers > without receiving any record in-between > The idea behind the algorithm is to find out when no more outputs are > generated from the operators inside an iteration after their normal inputs > are finished. -- This message was sent by Atlassian JIRA (v6.3.4#6332)