[ 
https://issues.apache.org/jira/browse/KAFKA-15475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17805289#comment-17805289
 ] 

Lianet Magrans commented on KAFKA-15475:
----------------------------------------

Regarding your previous question about the retriable behaviour, short answer 
would be that yes, we do want to retry internally, but it depends on the 
request. Ex. TopicMetadata requests are retried internally by the manager 
whenever they fail on a Retriable error, also sync offset Commit and 
offsetFetch. But, the CommitRequestManager also supports asyn commits, where we 
do not want to retry. Probably the commitRequestManager is the more complex one 
in that sense, as there are many different ways of committing, and they have 
different retry expectations, other managers might be simpler, like the 
TopicMetadata one. 

> Timeout request might retry forever even if the user API times out in 
> PrototypeAsyncConsumer
> --------------------------------------------------------------------------------------------
>
>                 Key: KAFKA-15475
>                 URL: https://issues.apache.org/jira/browse/KAFKA-15475
>             Project: Kafka
>          Issue Type: Bug
>          Components: clients, consumer
>            Reporter: Philip Nee
>            Assignee: Philip Nee
>            Priority: Minor
>              Labels: consumer-threading-refactor, kip-848-preview
>             Fix For: 3.8.0
>
>
> If the request timeout in the background thread, it will be completed with 
> TimeoutException, which is Retriable.  In the TopicMetadataRequestManager and 
> possibly other managers, the request might continue to be retried forever.
>  
> There are two ways to fix this
>  # Pass a timer to the manager to remove the inflight requests when it is 
> expired.
>  # Pass the future to the application layer and continue to retry.



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

Reply via email to