You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Guozhang Wang (JIRA)" <ji...@apache.org> on 2018/08/20 19:43:00 UTC
[jira] [Resolved] (KAFKA-7311) Sender should reset next batch
expiry time between poll loops
[ https://issues.apache.org/jira/browse/KAFKA-7311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Guozhang Wang resolved KAFKA-7311.
----------------------------------
Resolution: Fixed
> Sender should reset next batch expiry time between poll loops
> -------------------------------------------------------------
>
> Key: KAFKA-7311
> URL: https://issues.apache.org/jira/browse/KAFKA-7311
> Project: Kafka
> Issue Type: Bug
> Components: clients
> Affects Versions: 2.1.0
> Reporter: Rohan Desai
> Assignee: Rohan Desai
> Priority: Major
> Fix For: 2.1.0
>
>
> Sender/RecordAccumulator never resets the next batch expiry time. Its always computed as the min of the current value and the expiry time for all batches being processed. This means that its always set to the expiry time of the first batch, and once that time has passed Sender starts spinning on epoll with a timeout of 0, which consumes a lot of CPU. This patch updates Sender to reset the next batch expiry time on each poll loop so that a new value reflecting the expiry time for the current set of batches is computed. We observed this running KSQL when investigating why throughput would drop after about 10 minutes (the default delivery timeout).
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)