Description
There are 3 issues with leader election
a) OrderedAsync#sendRequest doesn't handle NotLeaderException
b) RaftServerImpl#generateNotLeaderException should not guess current leader when it does not has information about it. This leads to client retrying aggressively which leads into RetryException.
c) RaftClient right now changes leader for AlreadyClosedException and TimeoutIOException, these events do not trigger leader election and hence the leader should not be changed.
Attachments
Attachments
Issue Links
- is related to
-
RATIS-690 RaftClient should reconnect and change leader on TimeoutIOException, AlreadyClosedException
- Resolved