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

Roman Puchkovskiy updated IGNITE-25622:
---------------------------------------
    Description: 
On node recovery (in IndexManager), we determine which indexes were dropped and 
already need to be destroyed, and we destroy those indexes.

We currently determine such indexes using the Catalog, and it's a problem 
because the Catalog could be compacted before the node went down, so the 
Catalog will not contain information about the indexes-to-be-destroyed on node 
recovery.

The idea is that on startup we query/scan all MvTableStorages of alive tables 
to find indexes which were not destroyed (or which destruction was not 
completed). Those of these, if not present in any Catalog version or we 
determine that they need to be destroyed, should be destroyed on node recovery.

We need to add a method like Set<Integer> nonDestroyedIndexes() to 
MvTableStorage.

> Reliable index destruction on node recovery
> -------------------------------------------
>
>                 Key: IGNITE-25622
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25622
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> On node recovery (in IndexManager), we determine which indexes were dropped 
> and already need to be destroyed, and we destroy those indexes.
> We currently determine such indexes using the Catalog, and it's a problem 
> because the Catalog could be compacted before the node went down, so the 
> Catalog will not contain information about the indexes-to-be-destroyed on 
> node recovery.
> The idea is that on startup we query/scan all MvTableStorages of alive tables 
> to find indexes which were not destroyed (or which destruction was not 
> completed). Those of these, if not present in any Catalog version or we 
> determine that they need to be destroyed, should be destroyed on node 
> recovery.
> We need to add a method like Set<Integer> nonDestroyedIndexes() to 
> MvTableStorage.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to