Hi all,
I’m not very familiar with the network part of Flink. And a question occurs to 
me after I read most related source codes about network. I’ve seen that Flink 
uses the credit-based machanism to solve the blocking problem from receivers’ 
side, which means that one “slow” input channel won’t block other input 
channels’ consumption because of their own exclusive credits.
However, from the sender’s side, I find that memory segments sent to all 
receivers’ channels share the same local segment pool(LocalBufferPool), which 
may cause a problem here. Assume that we have a non-parallel source, which is 
partitioned into a map operator, whose parallelism is two, and one of the map 
tasks is consuming very slow. Is there any possibility that the memory segments 
which should be sent to the slower receiver fill the whole local segment pool, 
which blocks the data which should be sent to the faster receiver?
I appreciate any comments or answers, and please correct me if I am wrong about 
this.




Best Regards,
Jiayi Liao

Reply via email to