[
https://issues.apache.org/jira/browse/KAFKA-21084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
sanghyeok An updated KAFKA-21084:
---------------------------------
Component/s: clients
consumer
> Async consumer busy-loops when paused fetches are requeued into FetchBuffer
> ---------------------------------------------------------------------------
>
> Key: KAFKA-21084
> URL: https://issues.apache.org/jira/browse/KAFKA-21084
> Project: Kafka
> Issue Type: Bug
> Components: clients, consumer
> Reporter: sanghyeok An
> Assignee: sanghyeok An
> Priority: Major
>
> {*}Description{*}{*}{*}
> AsyncKafkaConsumer.poll() can busy-loop when buffered fetches belong to
> paused partitions and no records can be returned.
> FetchCollector.collectFetch() preserves paused fetches by requeuing them
> through FetchBuffer.addAll(). However, addAll() also sets wokenup = true. The
> subsequent awaitWakeup() consumes this signal and returns without blocking.
>
> Repeated collection of the same paused fetches regenerates the signal,
> allowing the application thread to spin in poll() until its timeout expires,
> without new fetch responses or consumption progress.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)