You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Alyssa Huang (Jira)" <ji...@apache.org> on 2025/12/08 22:23:00 UTC

[jira] [Created] (KAFKA-19975) Reassignment completion blocked by non-ISR replicas

Alyssa Huang created KAFKA-19975:
------------------------------------

             Summary: Reassignment completion blocked by non-ISR replicas
                 Key: KAFKA-19975
                 URL: https://issues.apache.org/jira/browse/KAFKA-19975
             Project: Kafka
          Issue Type: Improvement
            Reporter: Alyssa Huang


The reassignment completion logic currently enforces that all target replicas are present in the in-sync replica set (ISR). When an unhealthy broker (unable to keep up with replication and remain in ISR) is in both the current and target replica sets, and is not added/removed in the reassignment, it still prevents the reassignment from completing. 

 

e.g. the following reassignments are examples of what would fail to complete if replica 2 were unhealthy and unable to join ISR (even though completing the reassignment would not change the number of replicas in ISR)
[0, 1, 2] ->  [0, 1, 2, 3] 

[0, 1, 2] ->  [1, 2, 3] 

[0, 1, 2] ->  [2, 3, 4] 

 

We should allow reassignments to complete if there are replicas in the target replica set that are not in ISR and not part of the adding set. This should be safe because the reassignment completing would not cause the ISR size to shrink. (If the target replica set size is smaller than the current replica set size, then we will continue to enforce all replicas in the target replica set are in ISR to avoid accidentally shrinking the ISR due to reassignment completing)



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