[ https://issues.apache.org/jira/browse/IGNITE-21315?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Aleksey Plekhanov updated IGNITE-21315: --------------------------------------- Labels: ise (was: ) > 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 > Priority: Major > Labels: ise > > 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)