Bill Bejeck created KAFKA-21338:
-----------------------------------

             Summary: Use exponential backoff with jitter for internal topic 
retries in InternalTopicManager
                 Key: KAFKA-21338
                 URL: https://issues.apache.org/jira/browse/KAFKA-21338
             Project: Kafka
          Issue Type: Bug
          Components: streams
            Reporter: Bill Bejeck
             Fix For: 4.5.0


In Kafka Streams the InternalTopicManager retries internal topic
describe/create/validate on a fixed \{{retry.backoff.ms}} (default 100 ms) until
{\{max.poll.interval.ms}} / 2 (default 150 s). The backoff never grows and has 
no jitter. During a
broker outage that is up to ~1,500 retry rounds per application, and 
applications on the same
cluster that rebalance after the same outage retry in lockstep.

The producer, consumer and admin clients already back off exponentially with 
jitter (KIP-580,
{\{org.apache.kafka.common.utils.ExponentialBackoff}}). InternalTopicManager 
should do the same.

Out of scope: the streams rebalance protocol (KIP-1071), where the broker 
creates internal topics.

Depends on KAFKA-21033 (https://github.com/apache/kafka/pull/23363), which 
moves the backoff back
to one sleep per round in maybeSleep and switches it to time.sleep. This change 
should build on
that.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to