[ 
https://issues.apache.org/jira/browse/RATIS-836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

runzhiwang updated RATIS-836:
-----------------------------
    Description: 
*What's the problem ?*
Before send normal request, ratis client will send an [empty 
request|https://github.com/apache/incubator-ratis/blob/master/ratis-client/src/main/java/org/apache/ratis/client/impl/OrderedAsync.java#L235]
 to server to check the leader state,  which cost about 5 millseconds. 

*How to improve ?*
I think it can be improved by send normal request directly to server, if the 
server was not leader, response client with the NotLeaderException and client 
retry the request.

  was:Before send normal request, ratis client will send an [empty 
request|https://github.com/apache/incubator-ratis/blob/master/ratis-client/src/main/java/org/apache/ratis/client/impl/OrderedAsync.java#L235]
 to server to check the leader state,  which cost about 5 millseconds. I think 
it can be improved by send normal request directly to server, if the server was 
not leader, response client with the NotLeaderException and client retry the 
request.


> It's a waste to send an empty request to check leader state
> -----------------------------------------------------------
>
>                 Key: RATIS-836
>                 URL: https://issues.apache.org/jira/browse/RATIS-836
>             Project: Ratis
>          Issue Type: Improvement
>            Reporter: runzhiwang
>            Priority: Major
>
> *What's the problem ?*
> Before send normal request, ratis client will send an [empty 
> request|https://github.com/apache/incubator-ratis/blob/master/ratis-client/src/main/java/org/apache/ratis/client/impl/OrderedAsync.java#L235]
>  to server to check the leader state,  which cost about 5 millseconds. 
> *How to improve ?*
> I think it can be improved by send normal request directly to server, if the 
> server was not leader, response client with the NotLeaderException and client 
> retry the request.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to