You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Mukul Kumar Singh (JIRA)" <ji...@apache.org> on 2019/06/20 14:56:00 UTC
[jira] [Commented] (RATIS-601) Fix NotLeaderException handling
[ https://issues.apache.org/jira/browse/RATIS-601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16868596#comment-16868596 ]
Mukul Kumar Singh commented on RATIS-601:
-----------------------------------------
The attached patch provides the following improvement, The ratio of SUCCESS to FAILURE in client due to NotLeaderException improves.
{code}
HW15866:integration-test msingh$ less /tmp/2019-06-20--20-01-21-IST.MiniOzoneChaosCluster.log
HW15866:integration-test msingh$ egrep FAILED /tmp/2019-06-20--20-01-21-IST.MiniOzoneChaosCluster.log | grep -v ContainerNot | wc -l
53
{code}
{code}
HW15866:integration-test msingh$ egrep SUCCESS /tmp/2019-06-20--20-01-21-IST.MiniOzoneChaosCluster.log | wc -l
38710
{code}
> Fix NotLeaderException handling
> -------------------------------
>
> Key: RATIS-601
> URL: https://issues.apache.org/jira/browse/RATIS-601
> Project: Ratis
> Issue Type: Bug
> Components: server
> Reporter: Mukul Kumar Singh
> Assignee: Mukul Kumar Singh
> Priority: Major
>
> 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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)