Hello all,

I have been looking into different StreamPartitioner<T> implementations of 
Flink, and I noticed they come with an implementation of selectChannel(), as 
defined in the ChannelSelector<T> interface. In order to understand better the 
actions of a StreamPartitioner during execution, I set up Flink on a single 
server with one TaskManager that had 16 slots. Then, I submitted a job, with a 
HashPartitioner (through a keyBy() transformation), and remote debugged it to 
see when the HashPartitioner's selectChannel() method is called. Unfortunately, 
the breakpoint is never reached and the job completes successfully. Is the 
previous behavior normal? If yes, why is the breakpoint never reached? Does it 
have to do with running the job in an environment with local slots? Also, what 
determines the number of channels when a job is executed? Does it have to do 
with the number of available slots in the downstream operation of the 
partitioner?

Thank you for your time and I appreciate any answers/comments/indications.

Kind Regards.

Nikos R. Katsipoulakis
Department of Computer Science,
University of Pittsburgh

Reply via email to