[
https://issues.apache.org/jira/browse/IGNITE-21176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexander Lapin updated IGNITE-21176:
-------------------------------------
Labels: ignite-3 (was: )
> Remove pendingRows collection
> -----------------------------
>
> Key: IGNITE-21176
> URL: https://issues.apache.org/jira/browse/IGNITE-21176
> Project: Ignite
> Issue Type: Improvement
> Reporter: Alexander Lapin
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> According to [~ascherbakov] is useful to rework tx cleanup flow in a
> following way:
> # 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.
> # It also means that [Excessive full partition scan on node
> start|https://issues.apache.org/jira/browse/IGNITE-18502] 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.
> # 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`.
> h3. 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.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)