You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "sanghyeok An (Jira)" <ji...@apache.org> on 2026/09/13 06:04: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 ]

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)