Sergey Kalashnikov created IGNITE-12295:
-------------------------------------------

             Summary: 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: Sergey Kalashnikov


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.3.4#803005)

Reply via email to