Kirill Sizov created IGNITE-20446:
--------------------------------------

             Summary: 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


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