You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2022/11/01 12:20:00 UTC

[jira] [Updated] (IGNITE-17963) Use smarter logic for read-only recipient node evaluation

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

Vyacheslav Koptilin updated IGNITE-17963:
-----------------------------------------
    Labels: ignite-3  (was: )

> Use smarter logic for read-only recipient node evaluation
> ---------------------------------------------------------
>
>                 Key: IGNITE-17963
>                 URL: https://issues.apache.org/jira/browse/IGNITE-17963
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>
> h3. Motivation
> It's possible for an end user to run read-only reads using KeyValueView and RecordView endpoints with the help of get(), getAll() and similar methods propagating read-only transaction as a first parameter. Internally such requests will be routed to  some recipient node that will process given reads. Despite read-write actions that are processed on primary replica only, it's possible to handle read-only actions on any replica of a corresponding replication group. Thus some internal processor should define a node that will process read-only action. Currently primary replica is always selected, so that it's required to upgrade read-only recipient node evaluator with some smarter logic. As a starting point we may consider local read-result processing as preferable.
> h3. Definition of Done
> KeyValueView and RecordView read-only reads processed locally if there's a local replica of a corresponding group. 
> h3. Implementation Notes
> Generally speaking we should try to reuse sql engine logic here. Probably it'll lead to exacting some sort of common planner for all table access endpoints. However it might be rather tough improvement to implement, so within the scope of given ticket let's do some initial research of how sql engine targets requests to the nodes and add locality based recipient node evaluation.
> Currently it's all about InternalTableImpl#evaluateReadOnlyRecipientNode  



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