Hey!

Now that we are implementing more and more applications for streaming that
use iterations we realized a huge shortcoming of the current iteration api.
Currently it only allows to feedback data of the same type to the iteration
head.

This makes sense because the operators are typed but makes it awkward if we
indeed want to use a different feedback (such as a model syncing for
 machine learning applications). To do this developers need to use wrapper
types and flags to distinguish the inputs.

I propose to add the possibility to tread the original input of the
iteration head operator and the feedback stream as a ConnectedDataStream so
we can apply operators such as CoMap, CoFlatMap etc. This helps
distinguishing the inputs and also allows different feedback types to be
used. I believe this change is inevitable if we want to write elegant
applications without unnecessary wrapper types.

I made a PR <https://github.com/apache/flink/pull/870> already that
introduces this functionality (it is a very small change in fact).

Cheers,
Gyula

Reply via email to