[ 
https://issues.apache.org/jira/browse/RATIS-574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16851522#comment-16851522
 ] 

Siddharth Wagle edited comment on RATIS-574 at 5/30/19 5:25 AM:
----------------------------------------------------------------

Added a unit test which exactly reproduces the exception. The fix is for the 
retry policy to not honor the timeout if NotLeaderException.

01 => The patch can be improved further by enhancing the ability to handle 
other exceptions too, by the RetryPolicy. We delegate sleepTime behavior based 
on an exception to the RetryPolicy.

02 => Minified change with custom handling on NotLeaderException localized to 
RaftClientImpl.


was (Author: swagle):
Added a unit test which exactly reproduces the exception. The fix is for the 
retry policy to not honor the timeout if NotLeaderException.

The patch can be improved further by enhancing the ability to handle other 
exceptions too, by the RetryPolicy.

> Ratis should not use configured sleep interval in RetryPolicy when it gets 
> LeaderNotException without an actual Leader election going on
> ----------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: RATIS-574
>                 URL: https://issues.apache.org/jira/browse/RATIS-574
>             Project: Ratis
>          Issue Type: Bug
>            Reporter: Aravindan Vijayan
>            Assignee: Siddharth Wagle
>            Priority: Major
>         Attachments: RATIS-574.01.patch, RATIS-574.02.patch
>
>
> While doing performance tests with Ozone, it was observed that the client 
> always waits for retry timeout when a NotLeaderException is logged. This 
> bears a performance penalty for the client who cannot try the next Ratis 
> server in the ring.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to