You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Kalashnikov (Jira)" <ji...@apache.org> on 2019/10/16 09:24:00 UTC

[jira] [Created] (IGNITE-12295) Faster index eviction

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)