[ https://issues.apache.org/jira/browse/IGNITE-24361?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Roman Puchkovskiy updated IGNITE-24361: --------------------------------------- Reviewer: Mikhail Efremov > Implement TxRecoveryMessage processing for zone replica > ------------------------------------------------------- > > Key: IGNITE-24361 > URL: https://issues.apache.org/jira/browse/IGNITE-24361 > Project: Ignite > Issue Type: Improvement > Reporter: Alexander Lapin > Assignee: Roman Puchkovskiy > Priority: Major > Labels: ignite-3 > Time Spent: 1h 10m > Remaining Estimate: 0h > > h3. Motivation > Within colocation track we should reasonably move table-not-specific requests > and commands processing from PartitionReplicaListener and PartitionListener > to ZonePartitionReplicaListener and ZonePartitionRaftListener. > TxRecoveryMessage is one of such requests to be moved. In this particular > case TxRecoveryMessage is expected to be moved. > h3. Definition of Done > * Transaction recovery triggered by abandoned tx touch works properly. > h3. Implementation Notes > * As for OrphanDetector#sendTxRecoveryMessage we will have zoneId instead of > tableId because it's retrieved from WI.commitPartitionId. > SeeOrphanDetector#checkTxOrphanedInternal for more details. > {code:java} > partitionOperationsExecutor.execute(() -> > sendTxRecoveryMessage(txState.commitPartitionId(), txId));{code} > However we will need to use proper request to message conversion. Please pay > attention to toTablePartitionIdMessage. > {code:java} > .groupId(toTablePartitionIdMessage(REPLICA_MESSAGES_FACTORY, > cmpPartGrp)){code} > * Copy PartitionReplicaListener#processTxRecoveryMessage along with > corresponding trigger to ZonePartitionReplicaListener. > * Hide original PartitionReplicaListener#processTxRecoveryMessage under > colocation feature flag. > * Implement corresponding smoke test to ensure that transaction recovery > works properly. -- This message was sent by Atlassian Jira (v8.20.10#820010)