Uploaded image for project: 'Kafka'
  1. Kafka
  2. KAFKA-7311

Sender should reset next batch expiry time between poll loops

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.1.0
    • 2.1.0
    • clients
    • None

    Description

      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).

      Attachments

        Issue Links

          Activity

            People

              rohanpd Rohan Desai
              desai.p.rohan Rohan Desai
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: