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)