...
Metadata records
RegisterBrokerRecord
will and and BrokerRegistrationChangeRecord
will both have two new fields:
...
- Persist a
BrokerRegistrationChange
record, with the new list of online and offline log directories - Update the Leader and ISR for all the replicas assigned to the failed log directories, persisting PartitionChangeRecords, in similar way to how leadership and ISR is updated when a broker becomes fenced, unregistered or shuts down.
Handling replica assignments
The controller accepts the AssignReplicasToDirectories RPC and persists the assignment into metadata records. If the indicated log directory UUID is not a registered log directory then the call fails with an error. If the indicated log directory UUID is listed as offline, then the replica is considered offline and the leader and ISR is updated accordingly, same as when the BrokerHeartbeat indicates a new offline log directory.
Broker registration
Upon a broker registration request the controller will persist the broker registration as cluster metadata including the online and offline log directories for that broker. The controller may receive a new list of online and offline log directories — different from what was previously persisted in the cluster metadata for the requesting broker.
...