THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
Instead a protocol similar to that used for config changes will be used. To start a reassignment (of a single partition, or a collection of partitions) a persistent sequenced znode will be created in /admin/reassignment_requests
. The controller will be informed of this new request via a ZooKeeper watch. It will initiate the reassignment, create a znode /admin/reassignments/$topic-/$partition
and then delete the /admin/reassignment_requests/request_NNNN
znode.
...
- If the reassignment was via the legacy path:
- The controller removes partition from
/admin/reassign_partitions
, or if this is the last partition being reassigned by a change to/admin/reassign_partitions
, then/admin/reassign_partitions
is deleted.
- The controller removes partition from
- The controller removes
/admin/reassignmentreassignments/$topic/$partition
On controller failover
...
- A similar protocol based on just just
/admin/reassignments
without the the/admin/reassignment_requests
was initially considered, but that required a ZK watch per reassignment, which would not scale well. This proposal
requires only 1 more watch than the current version of the broker.