[
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)