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

 Kirill Sizov resolved IGNITE-20446.
------------------------------------
    Fix Version/s: None
       Resolution: Duplicate

> Perform read before executing the Upsert operation
> --------------------------------------------------
>
>                 Key: IGNITE-20446
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20446
>             Project: Ignite
>          Issue Type: Task
>            Reporter:  Kirill Sizov
>            Assignee:  Kirill Sizov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: None
>
>
> If a transaction was committed/aborted, but for any reason the cleanup 
> operation was not performed on a node, the write intent entries would still 
> be present in the storage.
> When an RO transaction sees write intents, no matter on primary or on any 
> other node, it performs write intent resolution and returns the correct 
> result.
> When an RW transaction sees write intents (happens on primary only), it also 
> performs write intent resolution and cleanup (done in IGNITE-20395, 
> IGNITE-20445), so we are safe.
> But it works only for those RW transactions that perform READ operation 
> before making any changes. This is not the case for Upsert. So we need to 
> change it to read data (hence write intent resolution and cleanup).
> *Definition of Done*
> Upsert operation execution should result in write intent resolution and 
> cleanup if the affected rows still contain write intents of a finished 
> transaction.



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

Reply via email to