Hi,

So basically, one of the examples of how we could violate such an invariant
is that when, f.e., `controller.quorum.fetch.timeout.ms = 800ms`:

T=0ms:     Follower sends fetch request and starts 800ms *fetchTimer*
T=100ms: Leader receives request (100ms network latency)
...
T=600ms: Leader waits 500ms for new data (MAX_FETCH_WAIT_MS)
T=600ms: Leader sends response
T=700ms: Response arrives at follower (100ms network latency)
...
T=800ms: Follower *fetchTimer *expires.

then the follower transitions to the *Prospective state*, and it triggers
election... (wasted resources even leader is working fine).

Is my understanding correct? If so, maybe adding such an example would be
great to add to KIP?

Maros.

Reply via email to