Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: minor

...

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.

...

  1. If the reassignment was via the legacy path:
    1. 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.
  2. The controller removes /admin/reassignmentreassignments/$topic/$partition

On controller failover

...

  1. 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.