Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.3
-
None
-
None
Description
Client node doesn't have default configuration for data region and fails to start local cache with the following exception:
Caused by: class org.apache.ignite.IgniteCheckedException: null at org.apache.ignite.internal.util.IgniteUtils.cast(IgniteUtils.java:7272) at org.apache.ignite.internal.util.future.GridFutureAdapter.resolve(GridFutureAdapter.java:259) at org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:232) at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:159) at org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:151) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager.onKernalStart(GridCachePartitionExchangeManager.java:625) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.onKernalStart(GridCacheProcessor.java:819) at org.apache.ignite.internal.IgniteKernal.start(IgniteKernal.java:1041) at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start0(IgnitionEx.java:1973) at org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance.start(IgnitionEx.java:1716) at org.apache.ignite.internal.IgnitionEx.start0(IgnitionEx.java:1144) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:664) at org.apache.ignite.internal.IgnitionEx.start(IgnitionEx.java:589) at org.apache.ignite.Ignition.start(Ignition.java:322) ... 1 more Caused by: java.lang.NullPointerException at org.apache.ignite.internal.processors.cache.CacheGroupContext.<init>(CacheGroupContext.java:203) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCacheGroup(GridCacheProcessor.java:1971) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1869) at org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCachesOnLocalJoin(GridCacheProcessor.java:1759) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.initCachesOnLocalJoin(GridDhtPartitionsExchangeFuture.java:744) at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:626) at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2337) at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:110) at java.lang.Thread.run(Thread.java:748)
Reproducer:
import java.util.Arrays; import org.apache.ignite.Ignite; import org.apache.ignite.Ignition; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.jetbrains.annotations.NotNull; public class LocalCache { private static int id; public static void main(String[] args) throws InterruptedException { Ignition.setClientMode(false); Ignite server = Ignition.start(getConfiguration()); System.out.println("Server is up"); Ignition.setClientMode(true); Ignite client = Ignition.start(getConfiguration()); System.out.println("Client is up"); } @NotNull private static IgniteConfiguration getConfiguration() { IgniteConfiguration cfg = new IgniteConfiguration(); TcpDiscoveryVmIpFinder finder = new TcpDiscoveryVmIpFinder(true); finder.setAddresses(Arrays.asList("localhost:47500..47600")); cfg.setIgniteInstanceName("test" + id++); CacheConfiguration cacheConfiguration = new CacheConfiguration("TEST"); cacheConfiguration.setCacheMode(CacheMode.LOCAL); cfg.setCacheConfiguration(cacheConfiguration); cfg.setDiscoverySpi(new TcpDiscoverySpi().setIpFinder(finder)); return cfg; } }