You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ratis.apache.org by "Song Ziyang (Jira)" <ji...@apache.org> on 2023/11/14 01:46:00 UTC

[jira] [Resolved] (RATIS-1864) Support leader lease

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

Song Ziyang resolved RATIS-1864.
--------------------------------
    Resolution: Implemented

The feature 'lease-read' is now implemented and will be released in 3.0.0.

> Support leader lease
> --------------------
>
>                 Key: RATIS-1864
>                 URL: https://issues.apache.org/jira/browse/RATIS-1864
>             Project: Ratis
>          Issue Type: New Feature
>          Components: client, gRPC, Linearizable Read, server
>            Reporter: Song Ziyang
>            Assignee: Song Ziyang
>            Priority: Major
>          Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> h2. Proposal: Introducing Leader Lease Read into Ratis
> h3. Objective:
> The primary objective of this proposal is to introduce the Leader Lease Read feature into Ratis, enhancing the read capabilities and addressing the existing limitations in the current implementation.
> h3. Current Implementation:
> At present, Ratis supports two read operations:
>  # Leader Bypass Read: This type of read operation offers improved latency and throughput. However, it is constrained to the leader and may produce inconsistent results.
>  # Server Linearizable Read (ReadIndex): This type allows clients to read from any server, ensuring linearizability but suffers from suboptimal latency. Experiments from Alluxio [~liuyaolong]  shows a 20-30% dropdown in throughput when switch to ReadIndex from bypass read. 
> h3. Reasons for the Proposed Feature:
> To address the limitations, I propose to incorporate the Leader Lease Read type into Ratis.
> This feature has already been validated by other communities, such as Sofa-Jraft, where it resulted in a remarkable 15% improvement in throughput performance.
> Additionally, some of our downstream dependents, like IoTDB, demand low-latency read capabilities to efficiently serve time-series queries.
> h3. References:
>  # Previous community discussions on Leader Lease in RATIS-1273 and relevant contributions on [https://github.com/apache/ratis/pull/383|https://github.com/apache/ratis/pull/383.]
>  # Quantitative results showcasing the benefits of Leader Lease Read can be found at [https://www.sofastack.tech/en/projects/sofa-jraft/jraft-user-guide/ |https://www.sofastack.tech/en/projects/sofa-jraft/jraft-user-guide/]in Section 5. Linearizable read.



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