[
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)