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)

Reply via email to