...
Code Block | ||
---|---|---|
| ||
private def onPartitionReassignment(topicPartition: TopicPartition, reassignedPartitionContext: ReassignedPartitionsContext) { if (zkClient.reassignCancelInPlace()) return // if the ReassignCancelZNode exists , skip reassignment |
In order to support submit submitting extra reassignments while existing reassignments are still in-flight. An extra znode extra znode /admin/reassign_partitions_extra
which has the same JSON format as /admin/reassign_partitions
. Three extra options --generate-extra --verify-extra --execute-extra
are added to kafka-reassign-partitions.sh
. The controller will be informed of the extra reassignments via a ZooKeeper watch. It will get all topic/partitions from /admin/reassign_partitions_extra and add to /admin/reassign_partitions, then trigger the reassignments onPartitionReassignment()
of the topic/partitions.
...