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

Alexander Lapin updated IGNITE-20041:
-------------------------------------
    Description: 
h3. Motivation

Both to handle commit partition failure and data node restart, it's required to 
cleanup local writeIntents in order to eliminate excessive write intent 
resolutions. It's not a matter of correctness, it's a matter of optimization.
h3. Definition of Done
 * Firstly, after write intent resolution, both coordinator path and commit 
partition path, it's required to change local state fot the corresponding 
transaction to either ABORTED or COMMITED in txnStateMap  if 
writeIntentResolution outcome is ABORTED or COMMITED. That will allow switching 
all further writeIntentResolutions from a given node for corresponding 
transaction to a local path that is of course much faster.
 * An asynchronous task should be scheduled that will clean up given write 
intent by either committing or aborting it.

h3. Implementation Notes
 * Earlier we've agreed that only RW transactions should clean up writeIntents, 
however I believe it's no longer reasonable, meaning that both RW and RO should 
do this.
 * In order to minimize the effect of side transactions write intent resolution 
cleanup we may introduce special pool that will handle all write intents 
cleanup actions, that

  was:
h3. Motivation

Both to handle commit partition failure and data node restart, it's required to 
cleanup local writeIntents in order to eliminate excessive write intent 
resolutions. It's not a matter of correctness, it's a matter of optimization.
h3. Definition of Done
 * Firstly, after write intent resolution, both coordinator path and commit 
partition path, it's required to change local state fot the corresponding 
transaction to either ABORTED or COMMITED in [txnStateMap 
|https://issues.apache.org/jira/browse/IGNITE-20033] if writeIntentResolution 
outcome is ABORTED or COMMITED. That will allow switching all further 
writeIntentResolutions from a given node for corresponding transaction to a 
local path that is of course much faster.


> Cleanup writeIntent on write intent resolution
> ----------------------------------------------
>
>                 Key: IGNITE-20041
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20041
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3, transaction3_recovery, transactions
>
> h3. Motivation
> Both to handle commit partition failure and data node restart, it's required 
> to cleanup local writeIntents in order to eliminate excessive write intent 
> resolutions. It's not a matter of correctness, it's a matter of optimization.
> h3. Definition of Done
>  * Firstly, after write intent resolution, both coordinator path and commit 
> partition path, it's required to change local state fot the corresponding 
> transaction to either ABORTED or COMMITED in txnStateMap  if 
> writeIntentResolution outcome is ABORTED or COMMITED. That will allow 
> switching all further writeIntentResolutions from a given node for 
> corresponding transaction to a local path that is of course much faster.
>  * An asynchronous task should be scheduled that will clean up given write 
> intent by either committing or aborting it.
> h3. Implementation Notes
>  * Earlier we've agreed that only RW transactions should clean up 
> writeIntents, however I believe it's no longer reasonable, meaning that both 
> RW and RO should do this.
>  * In order to minimize the effect of side transactions write intent 
> resolution cleanup we may introduce special pool that will handle all write 
> intents cleanup actions, that



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

Reply via email to