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) |
Free forum by Nabble | Edit this page |