[
https://issues.apache.org/jira/browse/KAFKA-15475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17805287#comment-17805287
]
Lianet Magrans commented on KAFKA-15475:
----------------------------------------
Sure, TopicMetadataManager
[here|https://github.com/apache/kafka/blob/fbbfafe1f556f424bf511697db6f399e5a622aa3/clients/src/main/java/org/apache/kafka/clients/consumer/internals/TopicMetadataRequestManager.java#L212]
and CommitRequestManager
[here|https://github.com/apache/kafka/blob/fbbfafe1f556f424bf511697db6f399e5a622aa3/clients/src/main/java/org/apache/kafka/clients/consumer/internals/CommitRequestManager.java#L561].
Both include similar logic to make sure that requests are retried but within
the timeout boundaries.
> 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)