Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

This should be improved. New output of improved re-balance (–generaterebalance ("–rebalance" command) algorithm should suite following requirements:

...

  • design an algorithm matching the above requirements;
  • implement this algorithm and unit tests;
  • test it manually using different initial assignments;

Rebalance command

New command "--rebalance" is proposed to be added.
The usage scenario is same as for "--generate" except new command is called "--rebalance".

Scenario:
1. User generates reassignment configuration by running:
--rebalance --topics-to-move-json-file topics.json --broker-list 0,1,2 --zookeeper zk:2181
2. User copies proposed reassignment configuration to reassignment.json file
3. User executes reassignment by running:
--execute --reassignment-json-file reassignment.json --zookeeper zk:2181
4. User verifies status of reassignment by running:
--verify --reassignment-json-file reassignment.json --zookeeper zk:2181

Decommission broker command

...

Compatibility, Deprecation, and Migration Plan

To preserve compatibility old "–generate" command (using old algorithm) is still present. New "–rebalance" command (invoking new rebalance algorithm) is added.

  • What impact (if any) will there be on existing users?
    No impact. Old "–generate" command is preserved for compatibility.
  • If we are changing behavior how will we phase out the older behavior?

...

  • When will we remove the existing behavior?
    Old "–generate" command will be removed in future releases, when decided it is no longer needed.

Rejected Alternatives

If there are alternative ways of accomplishing the same thing, what were they? The purpose of this section is to motivate why the design is the way it is and not some other way.