You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Kirill Tkalenko (Jira)" <ji...@apache.org> on 2024/03/05 09:09:00 UTC

[jira] [Updated] (IGNITE-21501) Create index storages for new partitions on rebalance

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

Kirill Tkalenko updated IGNITE-21501:
-------------------------------------
    Fix Version/s: 3.0.0-beta2

> Create index storages for new partitions on rebalance
> -----------------------------------------------------
>
>                 Key: IGNITE-21501
>                 URL: https://issues.apache.org/jira/browse/IGNITE-21501
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Ivan Bessonov
>            Assignee: Kirill Tkalenko
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-beta2
>
>
> It appears that we only create index storages during the "table creation", not during the "partition creation" if it's performed in isolation.
> Even if we did, {{org.apache.ignite.internal.table.distributed.index.IndexUpdateHandler#waitIndexes}} is still badly designed, because it waits for indexes of the initial partitions distribution and cannot provide any guarantees when assignments are changed.
> This leads to NPEs or bizarre assertions, related to aforementioned method.
> What we need to do is:
>  * Get rid of the faulty index awaiting mechanizm.
>  * Create index storages before starting raft group.
>  * [optional] There might be naturally occurring "races" between catalog updates (index creation) and rebalance. Right now they are resolved by the fact that these processes are linearized in watch processing, but that's not the best approach. If we could provide something more robust, that would have been nice. Let's think about it at least.



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