You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Igor Soarez (Jira)" <ji...@apache.org> on 2024/03/27 12:11:00 UTC

[jira] [Resolved] (KAFKA-16431) Handle log dir failure in hybrid mode

     [ https://issues.apache.org/jira/browse/KAFKA-16431?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Igor Soarez resolved KAFKA-16431.
---------------------------------
    Resolution: Fixed

Actually this has already been done as part of KAFKA-15357

[https://github.com/apache/kafka/blob/ace2152d229da35263a7e64537ca0d0316415558/core/src/main/scala/kafka/server/ReplicaManager.scala#L2480-L2483]

> Handle log dir failure in hybrid mode
> -------------------------------------
>
>                 Key: KAFKA-16431
>                 URL: https://issues.apache.org/jira/browse/KAFKA-16431
>             Project: Kafka
>          Issue Type: Bug
>          Components: jbod
>    Affects Versions: 3.7.0
>            Reporter: Igor Soarez
>            Assignee: Igor Soarez
>            Priority: Critical
>             Fix For: 3.7.1
>
>
> As part of the KRaft migration, the Controller implements some of the ZK-mode controller functionality that is employed during the migration in what is known as "hybrid mode".
> In hybrid mode some brokers may still be running in ZK-mode and some brokers may have already been restarted into KRaft mode.
> The ZK-mode Controller implementation in KRaft does not implement the ZK-based logic to handle directory failures, so it will be unable to re-elect leaders for partitions led by failed directories.
> This leaves a gap for JBOD during the ZK-KRaft migration. And there are two main ways this can be addressed:
>  # Implement the ZK-mode functionality to handle failed directories. Like in ZK-mode, the controller needs to subscribe to events in the `/log_dir_event_notification` ZNode, and rely on per-partition errors on full LeaderAndIsr responses to detect directory failures.
>  # Another, simpler way to address this, would be to have a migrating ZK broker stop upon any directory failure. This would sacrifice some availability / operational flexibility, but it may be much more straightforward to implement in comparison.
> Without a solution, a directory failure during the migration may lead to indefinite partition unavailability.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)