dgoyal-confluent opened a new pull request, #21114: URL: https://github.com/apache/kafka/pull/21114
The reassignment completion logic currently requires that all target replicas be present in the in-sync replica set (ISR). If an unhealthy broker exists in both the current and target replica sets (i.e., it is neither added nor removed during the reassignment), it still blocks the reassignment from completing. For example, the following reassignments would fail to complete if replica 2 were unhealthy and unable to join the ISR, even though completing the reassignment would not reduce the number of replicas in the 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 the ISR and are not part of the adding set. This is safe because completing the reassignment would not decrease the ISR size. However, if the target replica set is smaller than the current replica set, we will continue to require that all replicas in the target set are in the ISR to prevent the reassignment from unintentionally shrinking the ISR. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
