Hello Ufuk,

thanks for you amazingly quick reply.

I have seen the markFinished in Execution.java, but if I get it right, this is simply used to stop a task. The ScheduleOrUpdateConsumers message in the pipeline case on the other hand is notifying the consumers that a pipelined partition is ready and can now be consumed. Can you give me a hint on how the receiver is notified of a consumable partition in the batch case?

And yeah I would be great if we could have a chat :).

Best,
Niklas

On 09.09.2015 18:11, Ufuk Celebi wrote:
Hey Niklas,

this is very much hidden unfortunately. You can find it in 
Execution#markFinished.

The last partition to be finished triggers the scheduling of the receivers.

 From your comments I see that you have dug through the network stack code 
quite a bit. If you are interested, we can have a chat about refactoring things 
like the scheduling of the receivers to be more accessible/transparent.

– Ufuk

On 09 Sep 2015, at 18:06, Niklas Semmler <nik...@inet.tu-berlin.de> wrote:

Hello Flink community,

what is the equivalent of the ScheduleOrUpdateConsumers message in the pipeline 
execution mode for the batch execution mode?

When I run a WordCount in pipeline mode, the scheduling of the receiving tasks 
is initiated in the ResultPartition class via the function 
notifyPipelinedConsumers*. This leads to a  ScheduleOrUpdateConsumers message 
being sent to the JobManager and the JobManager takes care of the rest.

In the batch mode this does not seem to be the case, as the 
notifyPipelinedConsumers function will only work in the pipeline execution mode:

if (partitionType.isPipelined() && !hasNotifiedPipelinedConsumers)

So then, how is the consumer scheduled, or at least notified of the consumable 
partition?

Cheers,
Niklas

* 
https://github.com/apache/flink/blob/572a45b379ca2231d772db4f115749fa08afcd10/flink-runtime/src/main/java/org/apache/flink/runtime/io/network/partition/ResultPartition.java#L416

Reply via email to