We have 1000 topics, 1 partition each. Our kafka connect has the following config:
tasks.max: 10
We expected each each task to handle 100 topics but NO !
Instead, single topics partition will be handled by the first task only. Meaning, the first task will handle ALL the
1000 topics. Why ? RangeAssignor is the default kafka connect partition assingor.
To allow a better even spread across all the workers, I configured our kafka connect with:
"consumer.override.partition.assignment.strategy": "org.apache.kafka.clients.consumer.RoundRobinAssignor"
Once I did that, all workers started handling topics.