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