Versions Compared

Key

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

...

User uses kafka-reassignemnt-partitions.sh to send ChangeReplicaDirRequest to broker to initiate replica movement between its log directories. The flow graph below illustrates how broker handles ChangeReplicaDirRequest.

Note:
- Broker will cancel existing movement of the replica if "any" is specified as destination log directory.
- If broker doesn't not have already replica created for the specified topicParition when it receives ChangeReplicaDirRequest, it will reply ReplicaNotAvailableException AND remember (replica, destination log directory) pair in memory to create the replica in the specified log directory 

View file
nameJBOD-flowgraph.pdf
height250

...

Notes:
- The replica movement will stop if either source or destination replica becomes offline due to log directory failure.
- The RequestHandlerThread or ReplicaFetcherThread needs to grab lock of the Replica instance in order to append data to the Replica. This prevents race condition while ReplicaMoveThread is swapping the Log in the source log directory with the log in the destination log directory.
- The log segments in topicPartition.move directory will be subject to log truncation, log retention and log cleaning in the same way as the log segments in the source log directory.

3. Handle failure that happens broker is moving data or swapping replica

...