Hello,

There’s now a proposal to address ZK to KRaft migration — KIP-866 — but 
currently it doesn't address JBOD so I've decided to update this proposal to 
address that migration scenario.

So given that:

- When migrating from a ZK cluster running JBOD to KRaft, brokers registering 
in KRaft mode will need to be able to register all configured log directories.
- As part of the migration, the mapping of partition to log directory will have 
to be learnt by the active controller and persisted into the cluster metadata.
- It isn’t safe to allow for leadership from replicas without this mapping, as 
if the hosting log directory fails there will be no failover mechanism.

I have updated the proposal to reflect that:

- Multiple log directories may be indicated in the first broker registration 
referencing log directory UUIDs. We no longer require a single log directory to 
start with.
- The controller must never assign leadership to a replica in a broker 
registered with multiple log directories, unless the partition to log directory 
assignment is already in the cluster metadata.
- The broker should not be unfenced until all of its partition to log directory 
mapping is persisted into cluster metadata

I've also added details as to how the ZK to KRaft migration can work in a 
cluster that is already operating with JBOD. 

Please have a look and share your thoughts.

--
Igor


Reply via email to