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