[ 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)