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

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

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

Tsz-wo Sze edited comment on RATIS-1714 at 10/9/22 10:50 AM:
-------------------------------------------------------------

[~tison], thanks a lot for reviewing the pull request!

Since this new feature only has a small change, we can include it in the next 2.x release.


was (Author: szetszwo):
[~tison], thanks a lot for reviewing the pull request!

Since this is only a small new feature, we can include it in the next 2.x release.

> 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
>            Assignee: Tsz-wo Sze
>            Priority: Major
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> 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. 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)