Hi everyone,

Following a face-to-face discussion with Ron and Colin,
I have just made further improvements to this KIP:


1. Every log directory gets a random UUID assigned, even if just one
   log dir is configured in the Broker.

2. All online log directories are registered, even if just one if configured.

3. Partition-to-directory assignments are only performed if more than
   one log directory is configured/registered.

4. A successful reply from the Controller to a AssignReplicasToDirsRequest
   is taken as a guarantee that the metadata changes are
   successfully persisted.

5. Replica assignments that refer log directories pending a failure
   notification are prioritized to guarantee the Controller and Broker
   agree on the assignments before acting on the failure notification.

6. The transition from one log directory to multiple log directories
   relies on a logical update to efficiently update directory assignments
   to the previously registered single log directory when that's possible.

I have also introduced a configuration for the maximum time the broker
will keep trying to send a log directory notification before shutting down.

https://cwiki.apache.org/confluence/display/KAFKA/KIP-858%3A+Handle+JBOD+broker+disk+failure+in+KRaft

Best,

--
Igor

Reply via email to