You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrew Mashenkov (Jira)" <ji...@apache.org> on 2019/09/02 15:34:00 UTC

[jira] [Commented] (IGNITE-12112) H2TreeIndex should throw CorruptTreeException with cacheId, cacheName and indexName

    [ https://issues.apache.org/jira/browse/IGNITE-12112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16920931#comment-16920931 ] 

Andrew Mashenkov commented on IGNITE-12112:
-------------------------------------------

[~Denis Chudov], 
I've left a comment to the PR. Please, take a look.

> H2TreeIndex should throw CorruptTreeException with cacheId, cacheName and indexName
> -----------------------------------------------------------------------------------
>
>                 Key: IGNITE-12112
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12112
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Denis Chudov
>            Assignee: Denis Chudov
>            Priority: Major
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> At the moment we can't define problem cache, If we have many caches in one cache group and CorruptTreeException was thrown CorruptTreeException. 
> For example:
> {code:java}
> org.h2.message.DbException: General error: "class org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException: Runtime failure on row: Row@346ba4aa[ key: 29003, val: com.sbt.acquiring.processing.entities.dictionaries.TurnoverRange_DPL_PROXY [idHash=492721050, hash=-616731792, valueStart=20000001, isImmutable=false, lastChangeDate=1560917668719, name=Ñâûøå 200000, valueEnd=null, changeState=null, id=29003, pkey=7c0d0d59-f33e-41d7-a5c9-4d8c7e74b976, ownerId=acquiring-processing-replication, base=true], ver: GridCacheVersion [topVer=172396060, order=1560917613306, nodeOrder=2] ][ Ñâûøå 200000, null, 20000001, TRUE, null, 29003, 7c0d0d59-f33e-41d7-a5c9-4d8c7e74b976 ]" [50000-195]
>         at org.h2.message.DbException.get(DbException.java:168)
>         at org.h2.message.DbException.convert(DbException.java:295)
>         at org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.putx(H2TreeIndex.java:251)
>         at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.addToIndex(GridH2Table.java:548)
>         at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.update(GridH2Table.java:480)
>         at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.store(IgniteH2Indexing.java:709)
>         at org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:1863)
>         at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:403)
>         at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:1402)
>         at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1263)
>         at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1625)
>         at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:358)
>         at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.storeValue(GridCacheMapEntry.java:3629)
>         at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.initialValue(GridCacheMapEntry.java:2793)
>         at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander.preloadEntry(GridDhtPartitionDemander.java:902)
>         at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionDemander.handleSupplyMessage(GridDhtPartitionDemander.java:772)
>         at org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPreloader.handleSupplyMessage(GridDhtPreloader.java:344)
>         at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$5.apply(GridCachePartitionExchangeManager.java:418)
>         at org.apache.ignite.internal.processors.cache.GridCachePartitionExchangeManager$5.apply(GridCachePartitionExchangeManager.java:408)
>         at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1061)
>         at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:586)
>         at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$700(GridCacheIoManager.java:101)
>         at org.apache.ignite.internal.processors.cache.GridCacheIoManager$OrderedMessageListener.onMessage(GridCacheIoManager.java:1624)
>         at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1556)
>         at org.apache.ignite.internal.managers.communication.GridIoManager.access$4100(GridIoManager.java:125)
>         at org.apache.ignite.internal.managers.communication.GridIoManager$GridCommunicationMessageSet.unwind(GridIoManager.java:2752)
>         at org.apache.ignite.internal.managers.communication.GridIoManager.unwindMessageSet(GridIoManager.java:1516)
>         at org.apache.ignite.internal.managers.communication.GridIoManager.access$4400(GridIoManager.java:125)
>         at org.apache.ignite.internal.managers.communication.GridIoManager$10.run(GridIoManager.java:1485)
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748)
> Caused by: org.h2.jdbc.JdbcSQLException: General error: "class org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException: Runtime failure on row: Row@346ba4aa[ key: 29003, val: com.sbt.acquiring.processing.entities.dictionaries.TurnoverRange_DPL_PROXY [idHash=492721050, hash=-616731792, valueStart=20000001, isImmutable=false, lastChangeDate=1560917668719, name=Ñâûøå 200000, valueEnd=null, changeState=null, id=29003, pkey=7c0d0d59-f33e-41d7-a5c9-4d8c7e74b976, ownerId=acquiring-processing-replication, base=true], ver: GridCacheVersion [topVer=172396060, order=1560917613306, nodeOrder=2] ][ Ñâûøå 200000, null, 20000001, TRUE, null, 29003, 7c0d0d59-f33e-41d7-a5c9-4d8c7e74b976 ]" [50000-195]
>         at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
>         ... 32 common frames omitted
> Caused by: org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException: Runtime failure on row: Row@346ba4aa[ key: 29003, val: com.sbt.acquiring.processing.entities.dictionaries.TurnoverRange_DPL_PROXY [idHash=492721050, hash=-616731792, valueStart=20000001, isImmutable=false, lastChangeDate=1560917668719, name=Ñâûøå 200000, valueEnd=null, changeState=null, id=29003, pkey=7c0d0d59-f33e-41d7-a5c9-4d8c7e74b976, ownerId=acquiring-processing-replication, base=true], ver: GridCacheVersion [topVer=172396060, order=1560917613306, nodeOrder=2] ][ Ñâûøå 200000, null, 20000001, TRUE, null, 29003, 7c0d0d59-f33e-41d7-a5c9-4d8c7e74b976 ]
>         at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2133)
>         at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putx(BPlusTree.java:2080)
>         at org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.putx(H2TreeIndex.java:248)
>         ... 29 common frames omitted
> Caused by: org.apache.ignite.binary.BinaryObjectException: Failed to get field because type ID of passed object differs from type ID this BinaryField belongs to [expected=-1254233435, actual=-1230512172]
>         at org.apache.ignite.internal.binary.BinaryFieldImpl.fieldOrder(BinaryFieldImpl.java:287)
>         at org.apache.ignite.internal.binary.BinaryFieldImpl.value(BinaryFieldImpl.java:109)
>         at org.apache.ignite.internal.processors.query.property.QueryBinaryProperty.fieldValue(QueryBinaryProperty.java:249)
> {code}
> We should have information about operated cache (cacheId, cacheName) and indexName if it possible.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)