[
https://issues.apache.org/jira/browse/IGNITE-24360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-24360:
-------------------------------------
Epic Link: IGNITE-22115
> Implement TxStateCommitPartitionRequest processing for zone replica
> -------------------------------------------------------------------
>
> Key: IGNITE-24360
> URL: https://issues.apache.org/jira/browse/IGNITE-24360
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexander Lapin
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> Within colocation track we should reasonably move table-not-specific requests
> and commands processing from PartitionReplicaListener and PartitionListener
> to ZonePartitionReplicaListener and ZonePartitionRaftListener.
> ReplicaSafeTimeSyncRequest is one of such requests to be moved. In this
> particular case TxStateCommitPartitionRequest is expected to be moved.
> h3. Definition of Done
> * It's possible to resolve transaction state from the zone's commit
> partition.
> h3. Implementation Notes
> * As for TxMessageSender#resolveTxStateFromCommitPartition we will have
> zoneId instead of tableId because it's retrieved from WI.commitPartitionId.
> See PartitionReplicaListener#resolveWriteIntentReadability for more details.
> However we will need to use proper request to message conversion. Please pay
> attention to toTablePartitionIdMessage.
> {code:java}
> .groupId(toTablePartitionIdMessage(REPLICA_MESSAGES_FACTORY, commitGrpId))
> {code}
> * Check all usages of TxMessageSender#resolveTxStateFromCommitPartition in
> order not to skip places where tableId is used. I assume that we may have
> tests where tableId is explicitly propagated to the method.
> * Copy PartitionReplicaListener#processTxStateCommitPartitionRequest along
> with corresponding trigger to ZonePartitionReplicaListener.
> * Hide original
> PartitionReplicaListener#processTxStateCommitPartitionRequest under
> colocation feature flag.
> * I don't expect any tests here, since it given ticket is a part of WI
> Resolution flow that should be checked when fully moved to zones.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)