[
https://issues.apache.org/jira/browse/IGNITE-22621?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-22621:
-------------------------------------
Summary: Implement transaction storage for the zone replica listener (was:
Implement transacation storage for the zone replica listener)
> Implement transaction storage for the zone replica listener
> -----------------------------------------------------------
>
> Key: IGNITE-22621
> URL: https://issues.apache.org/jira/browse/IGNITE-22621
> Project: Ignite
> Issue Type: Improvement
> Reporter: Kirill Gusakov
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
> Attachments: Screenshot 2025-01-29 at 10.29.28 AM.png
>
>
> h3. Motivation
> Few words about general context. Tx Finish flow is a crucial step in AI3 Tx
> Protocol. Generally it consists of two phases along with some prerequisites.
> 0. Prerequisites: schema validation, tx state check.
> 1. Txn state switch phase. Atomic transaction commit/rollback implemented
> through replicating persistent txn state(COMMITTED/ABORTED) to
> commitPartition. Once it's done, transaction is considered as finished.
> 2. Cleanup phase. Releasing locks, converting writeIntents to common values
> or removing them depending on whether it's commit or abort.
> h3. !Screenshot 2025-01-29 at 10.29.28 AM.png! Definition of Done
> * Move processing TxFinishReplicaRequest from
> PartitionReplicaListener#processTxFinishAction to
> ZonePartitionRaftListener#processTxFinishAction by introducing corresponding
> method. In order to do that, it's required to add some dependencies to
> ZonePartitionRaftListener:
> *
> ** SchemaCompatibilityValidator
> ** TxStateStorage // Adding the storage isn't trivial.
> ** TxManager
> ** RaftCommandRunner // In order to run TxFinishCommand
--
This message was sent by Atlassian Jira
(v8.20.10#820010)