You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Ilya Kasnacheev (JIRA)" <ji...@apache.org> on 2019/06/20 11:44:00 UTC

[jira] [Resolved] (IGNITE-11677) LOCAL cache on client node can't be created if persistence enabled

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

Ilya Kasnacheev resolved IGNITE-11677.
--------------------------------------
    Resolution: Duplicate

> 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)