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

Vyacheslav Koptilin updated IGNITE-18527:
-----------------------------------------
    Labels: iep-101 ignite-3  (was: ignite-3)

> Inline writeIntents into data storage on primary replica side
> -------------------------------------------------------------
>
>                 Key: IGNITE-18527
>                 URL: https://issues.apache.org/jira/browse/IGNITE-18527
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Assignee: Denis Chudov
>            Priority: Major
>              Labels: iep-101, ignite-3
>             Fix For: 3.0.0-beta2
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In order to have an ability for primary replica not to be collocated with 
> raft leader it's required to populate primary replica's data storage and 
> indices with corresponding updates directly, bypassing the replication 
> protocol. Basically speaking it's required to perform handleUpdateCommand, 
> handleUpdateAllCommand logic from within handling replica request and not 
> raft command itself. It's required in order to perform straight non-raft data 
> reads from primary replica, meaning that if leader ins't collocated with 
> primary replica it's possible that write will be considered as finished 
> without populating primary replica's state machine and thus dataStorage with 
> corresponding write command.
> h3. Definition of Done
>  * It's possible to consistently read data from primary replica event if it's 
> not collocated with the leader.
>  * There are no conflicts during re-applying a writeIntent within in-raft 
> communication on top of the same already existing one that was created during 
> primary replica caching process.
>  * Given write intents are cleaned up on tx rollback. 
> h3. Implementation Notes
> It worth to mention that :
>  * Re-applying a write intents may be tricky.
>  * And besides that we must ensure that adding writeIntent initiated by 
> _replication_ message is linearized with tx cleanup on rollback.
> the rest seems to be quite simple.



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

Reply via email to