[
https://issues.apache.org/jira/browse/IGNITE-17759?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Uttsel updated IGNITE-17759:
-----------------------------------
Description:
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.
was:
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 Map<String, IgniteBiTuple<ClusterNode, Long>> enlisted = new
ConcurrentSkipListMap<>() 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.
> 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
> Priority: Major
> Labels: ignite-3, transaction3_ro
>
> 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)