Hi Salva, I already answered on SO [1], but I'll replicate it here:
With Flink 1.9, you cannot dynamically broadcast to all channels anymore. Your StreamPartitioner has to statically specify if it's a broadcast with isBroadcast. Then, selectChannel is never invoked. Do you have a specific use case, where you'd need to dynamically switch? Best, Arvid [1] https://stackoverflow.com/questions/59485064/migrating-custom-dynamic-partitioner-from-flink-1-7-to-flink-1-9 On Sat, Jan 4, 2020 at 7:00 AM Salva Alcántara <salcantara...@gmail.com> wrote: > Thanks Chesnay! Just to be clear, this how my current code looks like: > > ``` > unionChannel = broadcastChannel.broadcast().union(singleChannel) > > result = new DataStream<>( > unionChannel.getExecutionEnvironment(), > new PartitionTransformation<>(unionChannel.getTransformation(), new > MyDynamicPartitioner()) > ) > ``` > > The problem when migrating to Flink 1.9 is that MyDynamicPartitioner cannot > handle broadcasted elements as explained in the question description. So, > based on your reply, I guess I could do something like this: > > ``` > resultSingleChannel = new DataStream<>( > singleChannel.getExecutionEnvironment(), > new PartitionTransformation<>(singleChannel.getTransformation(), new > MyDynamicPartitioner()) > ) > > result = broadcastChannel.broadcast().union(resultSingleChannel) > ``` > > I will give it a try and see if it works. > > > > > -- > Sent from: > http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/ >