I am using com.typesafe.akka:akka-stream-kafka:0.17 which relies on kafka-clients:0.11.0.0.
I have set the reconnect.backoff.max.ms property to 60000.
When I start the application without kafka running, I see a flood of the following log message:
[warn] o.a.k.c.NetworkClient - Connection to node -1 could not be established. Broker may not be available.
The log messages occur several times a second and the frequency of these messages does not decrease over time as would be expected if exponential backoff was working properly.
I set a breakpoint in the debugger in ClusterConnectionStates:188 and noticed that every time this breakpoint is hit, nodeState.failedAttempts is always 0. This is why the delay does not increase exponentially. It also appears that every time the breakpoint is hit, it is on a different instance, so even though the number of failedAttempts is incremented, we never get the breakpoint for the same instance more than one time.