Ivan Bessonov created IGNITE-21501:
--------------------------------------
Summary: 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
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)