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