You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Zili Chen (Jira)" <ji...@apache.org> on 2022/10/02 09:54:00 UTC

[jira] [Created] (RATIS-1714) Support unordered async read

Zili Chen created RATIS-1714:
--------------------------------

             Summary: Support unordered async read
                 Key: RATIS-1714
                 URL: https://issues.apache.org/jira/browse/RATIS-1714
             Project: Ratis
          Issue Type: New Feature
          Components: client, server
            Reporter: Zili Chen


Mailing list thread: https://lists.apache.org/thread/rg65qoph54hlpdhmoc3p80sd0z6wzwjm

File an issue to track it. I may take a look deeply later.

From [~szetszwo]:

Since Ratis server is asynchronous event-driven. We may implement "watch a
key" using the AsyncApi [1]:
1. Client sends a "watch a key" request by client.async().sendReadOnly(..).
2. StateMachine won't complete the future until the key satisfies the watch
condition.

One problem is that the async read calls in Ratis are ordered. Thus,
the other ordered async calls sent by the same client would not be
completed before the "watch a key" request is completed. Of course, we may
work around it by creating a new client. A better solution is to support
unordered async read (a new feature) in Ratis.

Note that Ratis already supports unordered AsyncApi.watch(..), which can
watch for the replication level of the given log index. Therefore, it is
easy to add the new feature for supporting unordered async read.



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