Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Docs Required, Release Notes Required
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
class PartitionId { UUID tableId; int partId; }
- 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.
Attachments
Issue Links
- is fixed by
-
IGNITE-17967 RO writeIntent resolution tests hang up in case of multi node cluster
- Resolved
- links to