[
https://issues.apache.org/jira/browse/IGNITE-16672?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17506785#comment-17506785
]
Vladislav Pyatkov commented on IGNITE-16672:
--------------------------------------------
LGTM
> Attempt to re-create a cache with the same name may lead to error on getting
> corresponding page store
> -----------------------------------------------------------------------------------------------------
>
> Key: IGNITE-16672
> URL: https://issues.apache.org/jira/browse/IGNITE-16672
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Reporter: Vyacheslav Koptilin
> Assignee: Vyacheslav Koptilin
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> The following exception was observed when the user tried to re-create a cache:
> {noformat}
> [2022-03-10
> 18:37:09,221][ERROR][exchange-worker-#54%persistence.IgnitePdsNodeJoinWithCachesStopping0%][GridDhtPartitionsExchangeFuture]
> Failed to initialize cache(s) (will try to rollback)
> [exchId=GridDhtPartitionExchangeId [topVer=AffinityTopologyVersion [topVer=3,
> minorTopVer=3], discoEvt=DiscoveryCustomEvent
> [customMsg=DynamicCacheChangeBatch
> [id=7dae9747f71-d5048bee-4b2a-43b1-9c74-1a3b770d4bbf, reqs=ArrayList
> [DynamicCacheChangeRequest [cacheName=default, hasCfg=true,
> nodeId=8ff88687-66f9-430b-a897-79919c900002, clientStartOnly=false,
> stop=false, destroy=false, disabledAfterStart=false]],
> exchangeActions=ExchangeActions [startCaches=[default], stopCaches=null,
> startGrps=[default], stopGrps=[], resetParts=null, stateChangeRequest=null],
> startCaches=false], affTopVer=AffinityTopologyVersion [topVer=3,
> minorTopVer=3], super=DiscoveryEvent [evtNode=TcpDiscoveryNode
> [id=8ff88687-66f9-430b-a897-79919c900002,
> consistentId=8ff88687-66f9-430b-a897-79919c900002, addrs=ArrayList
> [127.0.0.1], sockAddrs=HashSet [/127.0.0.1:0], discPort=0, order=3,
> intOrder=3, lastExchangeTime=1646926627977, loc=false,
> ver=2.13.0#20220310-sha1:00000000, isClient=true], topVer=3,
> msgTemplate=null, span=o.a.i.i.processors.tracing.NoopSpan@763eacc8,
> nodeId8=93bba3d6, msg=null, type=DISCOVERY_CUSTOM_EVT,
> tstamp=1646926628700]], nodeId=8ff88687, evt=DISCOVERY_CUSTOM_EVT],
> caches=[o.a.i.i.processors.cache.ExchangeActions$CacheGroupActionData@7699c2c7]]
> class org.apache.ignite.IgniteCheckedException: Failed to get page store for
> the given cache ID (cache has not been started): 1544803905
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.getStore(FilePageStoreManager.java:1423)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageReadWriteManagerImpl.read(PageReadWriteManagerImpl.java:66)
> at
> org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.read(FilePageStoreManager.java:603)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:913)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:732)
> at
> org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.acquirePage(PageMemoryImpl.java:713)
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.getOrAllocateCacheMetas(GridCacheOffheapManager.java:1106)
> at
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager.initDataStructures(GridCacheOffheapManager.java:193)
> at
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.start(IgniteCacheOffheapManagerImpl.java:197)
> at
> org.apache.ignite.internal.processors.cache.CacheGroupContext.start(CacheGroupContext.java:1080)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.startCacheGroup(GridCacheProcessor.java:2560)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.getOrCreateCacheGroupContext(GridCacheProcessor.java:2241)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheContext(GridCacheProcessor.java:2048)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareCacheStart(GridCacheProcessor.java:1982)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCaches$55a0e703$1(GridCacheProcessor.java:1857)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.lambda$prepareStartCachesIfPossible$16(GridCacheProcessor.java:1827)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCaches(GridCacheProcessor.java:1854)
> at
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.prepareStartCachesIfPossible(GridCacheProcessor.java:1825)
> at
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.processCacheStartRequests(CacheAffinitySharedManager.java:999)
> at
> org.apache.ignite.internal.processors.cache.CacheAffinitySharedManager.onCacheChangeRequest(CacheAffinitySharedManager.java:885)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.onCacheChangeRequest(GridDhtPartitionsExchangeFuture.java:1471)
> at
> org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionsExchangeFuture.init(GridDhtPartitionsExchangeFuture.java:972)
> at
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body0(GridCachePartitionExchangeManager.java:3366)
> at
> org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$ExchangeWorker.body(GridCachePartitionExchangeManager.java:3197)
> at
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
> at java.lang.Thread.run(Thread.java:748)
> {noformat}
> The following scenario results in the mentioned exception:
> - user starts a new cache on the topology version _X_, and for some reason
> the start takes a significant amount of time
> - at the same time, the user tries to stop the cache with the same name,
> then starts it, stops it and starts it again.
> The problem is that _ClusterCachesInfo_ removed the required cache descriptor
> and PME on version _X_ cannot be successfully finished.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)