Hi Paris!

The Streaming API allows you to define iterations, where parts of the
stream are fed back. Do those work for you?

In general, cyclic flows are a tricky thing, as the topological order of
operators is needed for scheduling (may not be important for continuous
streams) but also for a clear producer/consumer relationship, which is
important for fault tolerance techniques.

Currently, the JobManager topologically sorts the job graph and starts
scheduling operators. I am surprised to hear that a graph with cyclic
dependencies works...


Stephan




Stephan


On Wed, Jan 21, 2015 at 2:57 AM, Paris Carbone <par...@kth.se> wrote:

> Hello,
>
> While implementing the SAMOA adapter for Flink-Streaming we stumbled upon
> the need to allow loops (or circular dependencies) in the job graph. Many
> incremental machine learning tasks define loops already  and there is no
> trivial way of getting around it. In the streaming job graph builder there
> is only a check that does not allow the user to submit graphs with loops,
> however, from what Gyula told me, if the check is removed the streaming job
> runs as expected. Is there (still) a major reason for having this check, at
> least in the streaming component?
>
> Paris

Reply via email to