Aleksey Plekhanov created IGNITE-21315: ------------------------------------------
Summary: Node can't join then cluster when create index in progress and caches have the same deploymentId Key: IGNITE-21315 URL: https://issues.apache.org/jira/browse/IGNITE-21315 Project: Ignite Issue Type: Bug Reporter: Aleksey Plekhanov Assignee: Aleksey Plekhanov Reproducer: {code:java} public class DynamicIndexCreateAfterClusterRestartTest extends GridCommonAbstractTest { /** {@inheritDoc} */ @Override protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception { IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName) .setDataStorageConfiguration( new DataStorageConfiguration().setDefaultDataRegionConfiguration( new DataRegionConfiguration().setPersistenceEnabled(true))); cfg.setConsistentId(igniteInstanceName); return cfg; } /** */ @Test public void testNodeJoinOnCreateIndex() throws Exception { IgniteEx grid = startGrids(2); grid.cluster().state(ClusterState.ACTIVE); grid.getOrCreateCache(new CacheConfiguration<>("CACHE1").setSqlSchema("PUBLIC") .setIndexedTypes(Integer.class, Integer.class)); grid.getOrCreateCache(new CacheConfiguration<>("CACHE2").setSqlSchema("PUBLIC") .setIndexedTypes(Integer.class, TestValue.class)); stopAllGrids(); startGrids(2); try (IgniteDataStreamer<Integer, TestValue> ds = grid(0).dataStreamer("CACHE2")) { for (int i = 0; i < 1_500_000; i++) ds.addData(i, new TestValue(i)); } GridTestUtils.runAsync(() -> { grid(1).cache("CACHE2").query(new SqlFieldsQuery("CREATE INDEX ON TestValue(val)")).getAll(); }); doSleep(100); stopGrid(0, true); cleanPersistenceDir(getTestIgniteInstanceName(0)); startGrid(0); } /** */ private static class TestValue { /** */ @QuerySqlField private final int val; /** */ private TestValue(int val) { this.val = val; } } } {code} Fails on last node join with an exception: {noformat} java.lang.AssertionError at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart0(GridQueryProcessor.java:1124) at org.apache.ignite.internal.processors.query.GridQueryProcessor.onCacheStart(GridQueryProcessor.java:1257) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$ff7b936b$1(GridCacheProcessor.java:1869) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$16(GridCacheProcessor.java:1754) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCaches(GridCacheProcessor.java:1863) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCaches(GridCacheProcessor.java:1753) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1699) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:1162) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:1007) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:3336) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:3170) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) at java.lang.Thread.run(Thread.java:748){noformat} -- This message was sent by Atlassian Jira (v8.20.10#820010)