[ 
https://issues.apache.org/jira/browse/IGNITE-21176?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander Lapin updated IGNITE-21176:
-------------------------------------
    Ignite Flags:   (was: Docs Required,Release Notes Required)

> 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
>
> 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)

Reply via email to