You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Lapin (Jira)" <ji...@apache.org> on 2022/10/24 10:07:00 UTC
[jira] [Commented] (IGNITE-17759) Need to pass commitTableId and commitPartitionId to MvPartitionStorage#addWrite
[ https://issues.apache.org/jira/browse/IGNITE-17759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17623091#comment-17623091 ]
Alexander Lapin commented on IGNITE-17759:
------------------------------------------
[~v.pyatkov] LGTM
> Need to pass commitTableId and commitPartitionId to MvPartitionStorage#addWrite
> -------------------------------------------------------------------------------
>
> Key: IGNITE-17759
> URL: https://issues.apache.org/jira/browse/IGNITE-17759
> Project: Ignite
> Issue Type: Improvement
> Reporter: Sergey Uttsel
> Assignee: Vladislav Pyatkov
> Priority: Major
> Labels: ignite-3, transaction3_ro
> Fix For: 3.0.0-beta1
>
>
> Currently when PartitionListener invokes MvPartitionStorage#addWrite it passes
> UUID.randomUUID() as commitTableId and 0 as commitPartitionId. Need pass appropriate values.
>
> For this:
> # Need to create
> {code:java}
> class PartitionId {
> UUID tableId;
> int partId;
> }{code}
> # In InternalTableImpl#enlistInTx need to save PartitionId of the first operation to the Transaction.
> # Need to change {color:#172b4d}Map<String, IgniteBiTuple<ClusterNode, Long>> enlisted = new ConcurrentSkipListMap<>(){color} to Map<PartitionId, IgniteBiTuple<ClusterNode, Long>> enlisted = new ConcurrentHashMap<>();
> # Need to change String groupId to PartitionId groupId in all places.
> # In InternalTableImpl#enlistInTx need to pass PartitionId into ReplicaRequest (ReadWriteSingleRowReplicaRequest, ReadWriteSwapRowReplicaRequest, ReadWriteMultiRowReplicaRequest)
> # In PartitionReplicaListener need to pass PartitionId from ReplicaRequest to UpdateCommand and UpdateAllCommand.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)