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)