Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
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.
Attachments
Issue Links
- is blocked by
-
IGNITE-18524 Placement Driver
- Resolved