[ 
https://issues.apache.org/jira/browse/IGNITE-11677?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Madhusudhan Reddy Vennapusa reassigned IGNITE-11677:
----------------------------------------------------

    Assignee: Madhusudhan Reddy Vennapusa

> LOCAL cache on client node can't be created if persistence enabled
> ------------------------------------------------------------------
>
>                 Key: IGNITE-11677
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11677
>             Project: Ignite
>          Issue Type: Task
>          Components: cache
>    Affects Versions: 2.7
>            Reporter: Nikolay Izhikov
>            Assignee: Madhusudhan Reddy Vennapusa
>            Priority: Major
>
> Reproducer:
> {code:java}
> /** */
> public class LocalCacheWithPersistenceEnabledTest extends 
> GridCommonAbstractTest {
>     /** */
>     private boolean client = false;
>     /** {@inheritDoc} */
>     @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
>         IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
>         cfg.setClientMode(client);
>         cfg.setDataStorageConfiguration(new DataStorageConfiguration()
>             .setDataRegionConfigurations(
>                 new DataRegionConfiguration()
>                     .setName("data-region")
>                     .setPersistenceEnabled(true)));
>         return cfg;
>     }
>     /** @throws Exception If failed. */
>     @Test
>     public void testLocalCacheOnClientNodeWithLazyAllocation() throws 
> Exception {
>         client = false;
>         IgniteEx srv = startGrid(0);
>         srv.cluster().active(true);
>         awaitPartitionMapExchange();
>         client = true;
>         IgniteEx clnt = startGrid(1);
>         IgniteCache<Integer, String> cache =
>             clnt.createCache(new CacheConfiguration<Integer, 
> String>("my-cache")
>                 .setCacheMode(CacheMode.LOCAL)
>                 .setDataRegionName("data-region"));
>         cache.put(1, "test");
>         assertEquals(cache.get(1), "test");
>     }
>     @Before
>     public void before() throws Exception {
>         cleanPersistenceDir();
>     }
> }
> {code}
> Stack trace:
> {noformat}
> [2019-04-08 
> 17:01:56,936][ERROR][exchange-worker-#95%pagemem.LocalCacheWithPersistenceEnabledTest1%][IgniteTestResources]
>  Critical system error detected. Will be handled accordingly to configured 
> handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler 
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteCheckedException: 
> Failed to initialize exchange locally 
> [locNodeId=dd6ce0eb-e780-4c79-a000-90cabee00001]]]
> class org.apache.ignite.IgniteCheckedException: Failed to initialize exchange 
> locally [locNodeId=dd6ce0eb-e780-4c79-a000-90cabee00001]
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:1271)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:783)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:2958)
>       at 
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:2807)
>       at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
>       at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.ClassCastException: 
> org.apache.ignite.internal.pagemem.impl.PageMemoryNoStoreImpl cannot be cast 
> to 
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryEx
>       at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.getOrAllocateCacheMetas(GridCacheOffheapManager.java:861)
>       at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.initDataStructures(GridCacheOffheapManager.java:128)
>       at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.start(IgniteCacheOffheapManagerImpl.java:189)
>       at 
> org.apache.ignite.internal.processors.cache.CacheGroupContext.start(CacheGroupContext.java:1040)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCacheGroup(GridCacheProcessor.java:2815)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.getOrCreateCacheGroupContext(GridCacheProcessor.java:2536)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheContext(GridCacheProcessor.java:2366)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:2306)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$55a0e703$1(GridCacheProcessor.java:2177)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCachesIfPossible$6(GridCacheProcessor.java:2147)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCaches(GridCacheProcessor.java:2174)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCachesIfPossible(GridCacheProcessor.java:2145)
>       at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processCacheStartRequests(CacheAffinitySharedManager.java:951)
>       at 
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:837)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:1260)
>       ... 5 more
> [2019-04-08 
> 17:01:56,936][ERROR][exchange-worker-#95%pagemem.LocalCacheWithPersistenceEnabledTest1%][IgniteTestResources]
>  Critical system error detected. Will be handled accordingly to configured 
> handler [hnd=NoOpFailureHandler [super=AbstractFailureHandler 
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: GridWorker 
> [name=partition-exchanger, 
> igniteInstanceName=pagemem.LocalCacheWithPersistenceEnabledTest1, 
> finished=true, heartbeatTs=1554732116926]]]
> class org.apache.ignite.IgniteException: GridWorker 
> [name=partition-exchanger, 
> igniteInstanceName=pagemem.LocalCacheWithPersistenceEnabledTest1, 
> finished=true, heartbeatTs=1554732116926]
>       at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$2.apply(IgnitionEx.java:1783)
>       at 
> org.apache.ignite.internal.IgnitionEx$IgniteNamedInstance$2.apply(IgnitionEx.java:1778)
>       at 
> org.apache.ignite.internal.worker.WorkersRegistry.onStopped(WorkersRegistry.java:169)
>       at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:153)
>       at java.lang.Thread.run(Thread.java:748)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to