kafka/clients
chern eeb1e702eb
KAFKA-13879: Reconnect exponential backoff is ineffective in some cases (#12131)
When a client connects to a SSL listener using PLAINTEXT security protocol, after the TCP connection is setup, the client considers the channel setup is complete. In reality the channel setup is not complete yet. The client then resets reconnect exponential backoff and issues API version request. Since the broker expects SSL handshake, the API version request will cause the connection to disconnect. Client reconnects without exponential backoff since it has been reset.

This commit removes the reset of reconnect exponential backoff when sending API version request. In the good case where the channel setup is complete, reconnect exponential backoff will be reset when the node becomes ready, which is after getting the API version response. Inter-broker clients which do not send API version request and go directly to ready state continue to reset backoff before any  successful requests.

Reviewers: Rajini Sivaram <rajinisivaram@googlemail.com>
2022-05-10 11:36:42 +01:00
..
src KAFKA-13879: Reconnect exponential backoff is ineffective in some cases (#12131) 2022-05-10 11:36:42 +01:00
.gitignore