Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

- User specifies a list of log directories, one log directory per replica, for each topic partition in the reassignment json file that is provided to kafka-reassignemnt-partitions.shThe log directory specified by user must be either "any", or absolute path which begins with '/'. See Scripts section for the format of this json file.
- In addition to creating znode at /admin/reassign_partitions with the replica assignment, the script will also send ChangeReplicaDirRequest to the leader brokers of partitions for which the log directory path in the assignment is not "any". The script needs to retry up to a configured amount of time if ChangeReplicaDirResponse shows ReplicaNotAvailableException. This is needed to wait for controller to send LeaderAndIsrRequest to the broker if replica hasn't already been created there.
- Broker handles ChangeReplicaDirRequest as specified in the section "How to move replica between log directories on the same broker".

...

Code Block
{
  "version" : int,
  "partitions" : [
    {
      "topic" : str,
      "partition" : int,
      "replicas" : [int],
      "log_dirs" : [str]    <-- NEW. A log directory can be either "any", or a valid absolute path that begins with '/'
    },
    ...
  ]
}

 

3) Add optional argument --timeout to kafka-reassignemnt-partitions.sh. This is because kafka-reassignemnt-partitions.sh may need to re-send ChangeReplicaDirRequest to broker if replica hasn't already been created there.

 

Changes in Operational Procedures

...