[ 
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 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.

  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 class

{code:java}
PartitionId {
    UUID tableId;
    int partId
}{code}

 # In InternalTableImpl#enlistInTx need to save PartitionId of the first 
operation to the transaction.
 # In InternalTableImpl#enlistInTx need to pass commitTableId and 
commitPartitionId into ReplicaRequest (ReadWriteSingleRowReplicaRequest, 
ReadWriteSwapRowReplicaRequest, ReadWriteMultiRowReplicaRequest)
 # In PartitionReplicaListener need to pass commitTableId and commitPartitionId 
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 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.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to