[ 
https://issues.apache.org/jira/browse/KAFKA-14010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Luke Chen updated KAFKA-14010:
------------------------------
    Fix Version/s: 3.3.0
                   3.2.1

> alterISR request won't retry when receiving retriable error
> -----------------------------------------------------------
>
>                 Key: KAFKA-14010
>                 URL: https://issues.apache.org/jira/browse/KAFKA-14010
>             Project: Kafka
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 3.2.0
>            Reporter: Luke Chen
>            Assignee: Luke Chen
>            Priority: Major
>             Fix For: 3.3.0, 3.2.1
>
>
> When submitting the AlterIsr request, we register a future listener to handle 
> the response 
> [here|https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/cluster/Partition.scala#L1585-L1610].
>  When receiving retriable error, we expected the AlterIsr request will get 
> retried. And then, we'll re-submit the request again. 
> However, before the future listener got called, we didn't clear the 
> `unsentIsrUpdates`, which causes we failed to "enqueue" the request because 
> we thought there's an in-flight request. We use "try/finally" to make sure 
> the unsentIsrUpdates got cleared 
> ([here|https://github.com/apache/kafka/blob/trunk/core/src/main/scala/kafka/server/AlterPartitionManager.scala#L362-L370]),
>  but it happened "after" we retry the request
> Although the AlterIsr request will get sent next time when the follower sent 
> next fetch request to the leader, we still need to fix this issue to make 
> sure the AlterIsr request is sent successfully as we expected.



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

Reply via email to