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

Alexander Lapin updated IGNITE-20005:
-------------------------------------
    Summary: Move commitTimestamp generation to the txn coordinator side.  
(was: Handle commitPartition primaryReplica lease expiration)

> Move commitTimestamp generation to the txn coordinator side.
> ------------------------------------------------------------
>
>                 Key: IGNITE-20005
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20005
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3, transaction, transaction3_recovery
>
> h3. Motivation
> It's possible that commit partition primary replica lease will expire in the 
> following phases:
>  * Before txnState change
>  * During txnState change. Meaning that it's actually before or after, 
> however we don't know an actual state before interaction.
>  * After txnState change.
> Last part is covered with https://issues.apache.org/jira/browse/IGNITE-20002 
> and https://issues.apache.org/jira/browse/IGNITE-20004 So, given ticket is 
> about lease expiration during first and second phases. In both cases it's 
> required to send rollback that will change txnState to ABORTED if it wasn't 
> already setted to terminal state previously and return actual terminal state. 
> Meaning that it's possible to send rollback to a previously committed 
> transaction, and that rollback won't have any effect, but will return 
> COMMITED to the TxCoordinator and thus client.
> h3. Definition of Done
>  * It's required to verify that we properly handle commit partition primary 
> replica expiration and commit partition primary replica failure by sending 
> rollback request to the new commit partition primary.
>  * It's required to slightly adjust 
> org.apache.ignite.internal.tx.impl.TxManagerImpl#finish along with 
> corresponding internals that will return actual txnState. Meaning that we 
> should complete user's commit successfully if we send inner rollback after 
> unnoticeable previous commit.
>  



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

Reply via email to