DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
Motivation
, we optimize the beginQuorumEpochRequest timeout,
The controller quorum fetch loop relies on a timing invariant for correctness and liveness: the controller.quorum.fetch.timeout.ms must be significantly larger than Raft maximum fetch wait time(currently current hardcode to 500 ms) must be significantly smaller than half of the controller.quorum.fetch.timeout.ms ) after KAFKA-16926 Optimize BeginQuorumEpoch heartbeat.
In practice, the algorithm makes progress because:
raft_max_fetch_wait_time (500 ms) * 2 <= controller.quorum.fetch.timeout.ms * 2ms
If operators set an unusually small controller.quorum.fetch.timeout.ms raft_max_fetch_wait_time * 2, this invariant can be violated, risking premature timeouts, spurious retries, and degraded stability. To preserve the invariant across configurations and upgrades, we propose to enforce a lower bound of 1000 ms for controller.quorum.fetch.timeout.ms.
...