You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Uttsel (Jira)" <ji...@apache.org> on 2022/10/05 09:06:00 UTC
[jira] [Assigned] (IGNITE-17637) Implement a commit partition path write intent resolution logic for RO reads
[ https://issues.apache.org/jira/browse/IGNITE-17637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Uttsel reassigned IGNITE-17637:
--------------------------------------
Assignee: Sergey Uttsel
> Implement a commit partition path write intent resolution logic for RO reads
> ----------------------------------------------------------------------------
>
> Key: IGNITE-17637
> URL: https://issues.apache.org/jira/browse/IGNITE-17637
> Project: Ignite
> Issue Type: Improvement
> Reporter: Sergey Uttsel
> Assignee: Sergey Uttsel
> Priority: Major
> Labels: ignite-3, transaction3_ro
>
> Need to perform writeIntent resolution by commit partition path if a coordinator path was not able to resolve the intent.
> # A write intent contains a commit partition id \{UUID tableId, int partId}.
> # Need to create a PlacementDriver which contains a map of assignments \{UUID tableId, int partId} -> Set<ClusterNode>
> # Assignments are updated in TableManager#updateAssignmentInternal.
> # PartitionReplicaListener contains placementDriver and replicaService.
> # PartitionReplicaListener read a write intent, get a commit partition id, get assignments and send TxStateReq to first ClusterNode by ReplicaService.
> ## On receiving a cluster node check that it is a leader, read the txn state from the persistent storage and send response with tx state. If txState not found, return NULL outcome in a TxStateResp.
> ## If the node isn't a leader, then it send response with leader and PartitionReplicaListener resend TxStateReq to the leader.
> ## If leader is unknown then PartitionReplicaListener send TxStateReq to another ClusterNode
> # If txState is found, validate a commit timestamp (only for committed state).
> # Retry commit partition path until a success or timeout.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)