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/08/08 21:13:00 UTC

[jira] [Updated] (RATIS-1557) Support linearizable read from followers

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

Tsz-wo Sze updated RATIS-1557:
------------------------------
    Attachment: 700_review.patch

> Support linearizable read from followers
> ----------------------------------------
>
>                 Key: RATIS-1557
>                 URL: https://issues.apache.org/jira/browse/RATIS-1557
>             Project: Ratis
>          Issue Type: New Feature
>            Reporter: Xinyu Tan
>            Priority: Major
>              Labels: gsoc2022, mentor
>         Attachments: 700_review.patch, Proposal-Support leader readIndex.pdf, image-2022-04-03-23-42-58-922.png, image-2022-04-07-12-27-45-677.png, image-2022-04-07-12-28-43-122.png
>
>          Time Spent: 5h 50m
>  Remaining Estimate: 0h
>
> Raft algorithm not only allows linearizable read through Read Index or Lease Read, but also allows linearizable read on the follower nodes, which can increase the read throughput linearly with the number of nodes. Algorithm specific processes can refer to Raft thesis in [section 6.4|https://web.stanford.edu/~ouster/cgi-bin/papers/OngaroPhD.pdf]
> Our project, Apache IoTDB, is trying to build our high availability module using Ratis. We want Ratis to support linearizable follower read so that we can mask the concept of replicas for upper layers, that is, reading the latest data at any node.
> In our survey, sofa-jraft, etcd, tikv-rs and other famous consensus algorithms libraries have supported linearizable follower read. As the only consensus algorithm library under the Apache Foundation, we expect Ratis to support this feature as well, and I'm happy to participate in further discussions and development.



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