You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrey Davydov (Jira)" <ji...@apache.org> on 2020/04/03 10:26:00 UTC

[jira] [Created] (IGNITE-12861) Persistent data become unavailable on data region settings chage

Andrey Davydov created IGNITE-12861:
---------------------------------------

             Summary: Persistent data become unavailable on data region settings chage
                 Key: IGNITE-12861
                 URL: https://issues.apache.org/jira/browse/IGNITE-12861
             Project: Ignite
          Issue Type: Bug
          Components: cache, general
    Affects Versions: 2.7.6
            Reporter: Andrey Davydov


We have Ignite data directory from system with following data region configuration:

 

                        <bean class="org.apache.ignite.configuration.DataRegionConfiguration">

                            <property name="name" value="myPersistDataRegion"/>

                            <property name="persistenceEnabled" value="true"/>

                           

                            <property name="initialSize" value="${config.node.memory.initial}"/>

                            <property name="maxSize" value="${config.node.memory.max}"/>                           

            

                            <property name="pageEvictionMode" value="DISABLED"/>

                            <property name="metricsEnabled" value="true"/>

                        </bean>

 

When we update configuration to:

 

                        <bean class="org.apache.ignite.configuration.DataRegionConfiguration">

                            <property name="name" value="myPersistDataRegion"/>

                            <property name="persistenceEnabled" value="true"/>

                            

                            <property name="initialSize" value="${config.node.memory.initial}"/>

                            <property name="maxSize" value="${config.node.memory.max}"/>                           

                            <property name="evictionThreshold" value="${config.node.memory.evict.threshold}"/>

 

                            <property name="pageEvictionMode" value="RANDOM_2_LRU"/>

                            <property name="metricsEnabled" value="true"/>

                        </bean>

 

And restart (exactly same system. Difference only in data region config) we got following exception. When we change configuration back, everything works OK and all data present.

If there is any way to access data from old files with new settings? 

Please update documents and describe which setting for data region may be tuned when data already exists and which settings must not be changed.

 

org.apache.ignite.IgniteException: Runtime failure on bounds: [lower=SearchRow [key=null, hash=0, cacheId=2077719173], upper=SearchRow [key=null, hash=0, cacheId=2077719173]]

        at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:48) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.advance(GridCacheQueryManager.java:2996) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager$ScanQueryIterator.onHasNext(GridCacheQueryManager.java:2965) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45) ~[ignite-core-2.7.6.jar:2.7.6]

        at ru.exampl.data.appl.service.business.ModelService.findRunningModels(ModelService.java:945) ~[appl.jar:?]

        at ru.exampl.data.appl.service.business.LocalEnvironmentService.initializeEnvironment(LocalEnvironmentService.java:192) ~[appl.jar:?]

        at ru.exampl.data.appl.service.business.LocalEnvironmentService.afterIgniteSet(LocalEnvironmentService.java:125) ~[appl.jar:?]

        at ru.exampl.data.appl.service.AppServiceNew.lambda$execInner$2(AppServiceNew.java:228) ~[appl.jar:?]

        at java.util.LinkedHashMap.forEach(LinkedHashMap.java:684) ~[?:1.8.0_242]

        at ru.exampl.data.appl.service.AppServiceNew.execInner(AppServiceNew.java:228) ~[appl.jar:?]

        at ru.exampl.data.appl.service.AppServiceNew.execInLock(AppServiceNew.java:181) ~[appl.jar:?]

        at ru.exampl.data.appl.service.AppServiceNew.execute(AppServiceNew.java:139) [appl.jar:?]

        at org.apache.ignite.internal.processors.service.GridServiceProcessor$3.run(GridServiceProcessor.java:1394) [ignite-core-2.7.6.jar:2.7.6]

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_242]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_242]

        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_242]

Caused by: org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException: Runtime failure on bounds: [lower=SearchRow [key=null, hash=0, cacheId=2077719173], upper=SearchRow [key=null, hash=0, cacheId=2077719173]]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:1016) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:988) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2923) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2894) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2888) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2876) ~[ignite-core-2.7.6.jar:2.7.6]

       at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.cursor(GridCacheOffheapManager.java:2075) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$6.onHasNext(IgniteCacheOffheapManagerImpl.java:968) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45) ~[ignite-core-2.7.6.jar:2.7.6]

        ... 16 more

Caused by: java.lang.IllegalArgumentException: Invalid object type: 0

        at org.apache.ignite.internal.processors.cacheobject.IgniteCacheObjectProcessorImpl.toKeyCacheObject(IgniteCacheObjectProcessorImpl.java:166) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.binary.CacheObjectBinaryProcessorImpl.toKeyCacheObject(CacheObjectBinaryProcessorImpl.java:865) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.readFullRow(CacheDataRowAdapter.java:333) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:167) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:108) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.tree.DataRow.<init>(DataRow.java:55) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.tree.CacheDataRowStore.dataRow(CacheDataRowStore.java:92) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.tree.CacheDataTree.getRow(CacheDataTree.java:200) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.tree.CacheDataTree.getRow(CacheDataTree.java:49) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$ForwardCursor.fillFromBuffer0(BPlusTree.java:5515) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$AbstractForwardCursor.fillFromBuffer(BPlusTree.java:5283) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$AbstractForwardCursor.init(BPlusTree.java:5208) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetCursor.notFound(BPlusTree.java:2902) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:309) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5618) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run(BPlusTree.java:274) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5603) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:159) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.DataStructure.read(DataStructure.java:334) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findDown(BPlusTree.java:1312) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doFind(BPlusTree.java:1279) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$8700(BPlusTree.java:90) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$AbstractForwardCursor.find(BPlusTree.java:5292) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:1008) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.find(BPlusTree.java:988) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2923) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2894) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2888) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cursor(IgniteCacheOffheapManagerImpl.java:2876) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.cursor(GridCacheOffheapManager.java:2075) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$6.onHasNext(IgniteCacheOffheapManagerImpl.java:968) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.util.GridCloseableIteratorAdapter.hasNextX(GridCloseableIteratorAdapter.java:53) ~[ignite-core-2.7.6.jar:2.7.6]

        at org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45) ~[ignite-core-2.7.6.jar:2.7.6]

        ... 16 more



--
This message was sent by Atlassian Jira
(v8.3.4#803005)