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

Ivan Andika updated RATIS-2377:
-------------------------------
    Description: 
Currently linearizable read might block if the read is not ready to be 
processed yet. This might not be desirable in some cases. For example, if a 
server only contains a fixed handler threads, this might block one of the 
thread for too long which can affect other queued writes / reads. 

It might be a good idea to have a mechanism so that the request will return / 
throws exception if the request cannot return immediately (similar to 
RaftServerImpl#staleReadAsync). In this case, the caller can either return the 
exception to client for retry or requeue the call.

  was:
Currently linearizable read might block if the read is not ready to be 
processed yet. This might not be desirable in some cases. For example, if a 
server only contains a fixed handler threads, this might block one of the 
thread for too long which can affect other queued writes / reads. 

It might be a good idea a mechanism so that the request will return / throws 
exception if the request cannot return immediately (similar to 
RaftServerImpl#staleReadAsync). In this case, the caller can either return the 
exception to client for retry or requeue the call.


> Support fail fast linearizable read operations
> ----------------------------------------------
>
>                 Key: RATIS-2377
>                 URL: https://issues.apache.org/jira/browse/RATIS-2377
>             Project: Ratis
>          Issue Type: New Feature
>            Reporter: Ivan Andika
>            Priority: Major
>
> Currently linearizable read might block if the read is not ready to be 
> processed yet. This might not be desirable in some cases. For example, if a 
> server only contains a fixed handler threads, this might block one of the 
> thread for too long which can affect other queued writes / reads. 
> It might be a good idea to have a mechanism so that the request will return / 
> throws exception if the request cannot return immediately (similar to 
> RaftServerImpl#staleReadAsync). In this case, the caller can either return 
> the exception to client for retry or requeue the call.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to