[
https://issues.apache.org/jira/browse/KAFKA-19975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Deepak Goyal reassigned KAFKA-19975:
------------------------------------
Assignee: Deepak Goyal
> 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
> Assignee: Deepak Goyal
> Priority: Major
>
> 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)