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

Aleksandr Polovtcev reassigned IGNITE-18398:
--------------------------------------------

    Assignee:     (was: Aleksandr Polovtcev)

> Use ReplicaService instead of Raft for serving Meta Storage reads
> -----------------------------------------------------------------
>
>                 Key: IGNITE-18398
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18398
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Aleksandr Polovtcev
>            Priority: Major
>              Labels: ignite-3
>
> Meta Storage currently uses Raft to perform read operations. This brings us 
> the ability to read the latest data from the leader (a good thing) but on the 
> other hand Raft reads are single-threaded and linearizable (which Meta 
> Storage reads do not require). In order to make reads concurrent, it is 
> proposed to switch to the Replica approach (currently used to serve partition 
> data reads).
> TBD: Design of this ticket is blocked by the Placement Driver work being done 
> in IGNITE-18524. Here's the vague description of how reads can be done (which 
> should probably change after the Driver is implemented):
> # A node issues a read request to the Meta Storage;
> # Meta Storage Manager goes to the Placement Driver to obtain the Primary 
> Replica Consistent ID;
> # Meta Storage Manager issues a network request to the obtained ID;
> # If the receiver node is still the Primary Replica - the request is served 
> using the local storage;
> # If the Primary Replica has changed - the receiver node re-routes the 
> request to it.



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

Reply via email to