[
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)