Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-17759

Need to pass commitTableId and commitPartitionId to MvPartitionStorage#addWrite

    XMLWordPrintableJSON

Details

    Description

      Currently when PartitionListener invokes MvPartitionStorage#addWrite it passes 

      UUID.randomUUID() as commitTableId and 0 as commitPartitionId. Need pass appropriate values.

       

      For this:

      1. Need to create
      class PartitionId {
          UUID tableId;
          int partId;
      }
      1. In InternalTableImpl#enlistInTx need to save PartitionId of the first operation to the Transaction.
      2. Need to change Map<String, IgniteBiTuple<ClusterNode, Long>> enlisted = new ConcurrentSkipListMap<>() to Map<PartitionId, IgniteBiTuple<ClusterNode, Long>> enlisted = new ConcurrentHashMap<>();
      3. Need to change String groupId to PartitionId groupId in all places.
      4. In InternalTableImpl#enlistInTx need to pass PartitionId into ReplicaRequest (ReadWriteSingleRowReplicaRequest, ReadWriteSwapRowReplicaRequest, ReadWriteMultiRowReplicaRequest)
      5. In PartitionReplicaListener need to pass PartitionId from ReplicaRequest to UpdateCommand and UpdateAllCommand.

      Attachments

        Issue Links

          Activity

            People

              v.pyatkov Vladislav Pyatkov
              Sergey Uttsel Sergey Uttsel
              Alexander Lapin Alexander Lapin
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: