[
https://issues.apache.org/jira/browse/FLINK-6141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konstantin Knauf updated FLINK-6141:
------------------------------------
Labels: (was: stale-major)
Removed "stale-critical|major|minor" label in line with
https://issues.apache.org/jira/browse/FLINK-22429.
> Add buffering service for stream operators
> ------------------------------------------
>
> Key: FLINK-6141
> URL: https://issues.apache.org/jira/browse/FLINK-6141
> Project: Flink
> Issue Type: Sub-task
> Components: API / DataStream
> Reporter: Aljoscha Krettek
> Priority: Major
>
> As mentioned in
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-17+Side+Inputs+for+DataStream+API
> we need a way of buffering incoming elements until a side input that is
> required for processing them is ready.
> There has to be an implementation for non-keyed operators and for keyed
> operators because in keyed operators we need to ensure that we store the
> buffered elements in the correct key group when checkpointing.
> For the interface, I propose this:
> {code}
> @PublicEvolving
> public interface ElementBuffer<T, N> {
> /**
> * Adds the given element to the buffer for the given namespace.
> */
> void add(N namespace, T element);
> /**
> * Returns an {@code Iterable} over all buffered elements for the given
> namespace.
> */
> Iterable<T> values(N namespace);
> /**
> * Clears all buffered elements for the given namespace.
> */
> void clear(N namespace);
> }
> {code}
> {{AbstractStreamOperator}} would provide a method {{getElementBuffer()}} that
> would return the appropriate implementation for a non-keyed or keyed operator.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)