[
https://issues.apache.org/jira/browse/IGNITE-21501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Tkalenko reassigned IGNITE-21501:
----------------------------------------
Assignee: Kirill Tkalenko
> 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
>
> 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)