[
https://issues.apache.org/jira/browse/IGNITE-12295?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Nikolay Izhikov updated IGNITE-12295:
-------------------------------------
Labels: index_improvement (was: )
> Faster index eviction
> ---------------------
>
> Key: IGNITE-12295
> URL: https://issues.apache.org/jira/browse/IGNITE-12295
> Project: Ignite
> Issue Type: Sub-task
> Reporter: Sergey Kalashnikov
> Assignee: Nikolay Izhikov
> Priority: Major
> Labels: index_improvement
> Time Spent: 3h 50m
> Remaining Estimate: 0h
>
> For the file-based rebalancing approach, it seems feasible to avoid iterating
> the old partition data in order to clear the indexes.
> One can independently clear the shared index structures of all the rows
> referencing entries from moving partitions by deducing partition id from the
> links in the leaf pages.
> The proposed algorithm is simple and takes the set of integer partition ids
> as an input:
> 1. Iterate over leaf pages of the index and remove items attributed to any of
> indicated partitions, unless it is the only or the rightmost item on a page.
> 2. If the rightmost item (or the only item) on a page happens to belong to
> any of the indicated partitions, employ a regular remove algorithm
> (descending from the root) so that inner pages get correctly updated.
> Restart iteration from the leaf page where the removed item would be inserted
> (descend from the root to find it).
> The use of such algorithm can be justified (as having performance advantage)
> when the number of keys that'd be removed is bigger than the number of leaf
> pages in the index.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)