[ https://issues.apache.org/jira/browse/KAFKA-13227?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17405006#comment-17405006 ]
Christo Lolov commented on KAFKA-13227: --------------------------------------- Hello, I would be interested in picking this up, but I would have some questions as to how one would go about replicating and testing the solution to this. > Cancel pending AlterIsr requests after receiving LeaderAndIsr > ------------------------------------------------------------- > > Key: KAFKA-13227 > URL: https://issues.apache.org/jira/browse/KAFKA-13227 > Project: Kafka > Issue Type: Improvement > Reporter: Jason Gustafson > Priority: Major > > Currently we do not cancel pending AlterIsr requests after the state has been > updated through a LeaderAndIsr request received from the controller. This > leads to log messages such as this > {code} > [2021-08-23 18:12:47,317] WARN [Partition __transaction_state-32 broker=3] > Failed to enqueue ISR change state LeaderAndIsr(leader=3, leaderEpoch=3, > isUncleanLeader=false, isr=List(3, 1), zkVersion=3) for partition > __transaction_state-32 (kafka.cluster.Partition) > {code} > I think the only complication here is protecting against the AlterIsr > callback which is executed asynchronously. To address this, we can move the > `zkVersion` field into `IsrState`. When the callback is invoked, we can the > existing state against the response state to decide whether to apply the > change. -- This message was sent by Atlassian Jira (v8.3.4#803005)