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)