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

Remove PendingRows collection

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      Motivation

      According to ascherbakov is useful to rework tx cleanup flow in a following way:

      1. Instead of using PendingRows retrieve rowIds from `org.apache.ignite.internal.tx.impl.HeapLockManager#txMap`. Thus, org.apache.ignite.internal.table.distributed.replicator.PendingRows should be removed.
      2. It also means that Excessive full partition scan on node start will be resolved. It worth mentioning that now it's safe to eliminate pendingRows population on start because we have full lazy write intent resolution.
      3. Besides retrieving rowIds from HeapLockManager#txMap it's also possible to get partitionId from rowId, thus we may remove `org.apache.ignite.internal.tx.message.TxCleanupMessage#groups`.

      Definition of Done

      • org.apache.ignite.internal.tx.message.TxCleanupMessage#group is removed.
      • On receiving TxCleanupMessage node retrieves rowIds from within `org.apache.ignite.internal.tx.impl.HeapLockManager#txMap` group them by RowId#partitionId and sends local writeIntentSwitchReplicaRequest.
      • org.apache.ignite.internal.table.distributed.replicator.PendingRow is removed.
      • `Excessive full partition scan on node start` that was used to populate PendingRow also removed. Corresponding ticket is closed.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              alapin Alexander Lapin
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: