You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Lianet Magrans (Jira)" <ji...@apache.org> on 2026/10/14 13:47:00 UTC
[jira] [Updated] (KAFKA-21084) Async consumer busy-loops when paused fetches are requeued into FetchBuffer
[ https://issues.apache.org/jira/browse/KAFKA-21084?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lianet Magrans updated KAFKA-21084:
-----------------------------------
Fix Version/s: 4.5.0
> 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
> Fix For: 4.5.0
>
>
> {*}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)