Hi,

In one of our Ignite cluster's node, we have got B+Tree exception due to which 
the node got stopped/disconnected from the cluster.
Ignite Version : 2.11.0.

Is this a product bug? If Yes then what is the workaround. Also has this been 
fixed in any version?


Logs:

[2022-04-14T14:50:17,989][INFO 
][wal-file-archiver%EDIFMEDIA_PROD-#235%EDIFMEDIA_PROD%][FileWriteAheadLogManager]
 Copied file 
[src=/datastore2/wal/node00-060224e3-53ac-4555-876e-166a7480c142/0000000000000000.wal,
 
dst=/datastore2/archive/node00-060224e3-53ac-4555-876e-166a7480c142/0000000000211270.wal]
[2022-04-14T14:50:21,441][ERROR][sys-stripe-17-#18%EDIFMEDIA_PROD%][] Critical 
system error detected. Will be handled accordingly to configured handler 
[hnd=StopNodeOrHaltFailureHandler [tryStop=false, timeout=0, 
super=AbstractFailureHandler [ignoredFailureTypes=UnmodifiableSet 
[SYSTEM_WORKER_BLOCKED, SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], 
failureCtx=FailureContext [type=CRITICAL_ERROR, err=class 
o.a.i.i.processors.cache.persistence.tree.CorruptedTreeException: B+Tree is 
corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=-291739550, 
val2=844420635435161]], cacheId=-291739550, cacheName=MapCustOTTCache, 
indexName=_key_PK, msg=Runtime failure on row: Row@5eaffcf8[ key: 
com.media.digitalapi.edif.model.MapCustOTTKey [idHash=1519412213, 
hash=2147463230, serviceType=Z0114, partyId=p123], val: 
com.media.digitalapi.edif.model.MapCustOTT [idHash=529725123, hash=-1059328655, 
serviceType=null, updatedBy=TB00001KGQEC, updateddatetime=2022-04-14 
14:50:21.437, partyId=null, 
subscriptionIdList=22414145021425514379098800228113357] ][  ]]]]
org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException:
 B+Tree is corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=-291739550, 
val2=844420635435161]], cacheId=-291739550, cacheName=MapCustOTTCache, 
indexName=_key_PK, msg=Runtime failure on row: Row@5eaffcf8[ key: 
com.media.digitalapi.edif.model.MapCustOTTKey [idHash=1519412213, 
hash=2147463230, serviceType=Z0114, partyId=p123], val: 
com.media.digitalapi.edif.model.MapCustOTT [idHash=529725123, hash=-1059328655, 
serviceType=null, updatedBy=TB00001KGQEC, updateddatetime=2022-04-14 
14:50:21.437, partyId=null, 
subscriptionIdList=22414145021425514379098800228113357] ][  ]]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.corruptedTreeException(InlineIndexTree.java:581)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2464)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putx(BPlusTree.java:2411)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexImpl.putx(InlineIndexImpl.java:269)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexImpl.onUpdate(InlineIndexImpl.java:251)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.IndexProcessor.updateIndex(IndexProcessor.java:419)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.IndexProcessor.updateIndexes(IndexProcessor.java:291)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.IndexProcessor.store(IndexProcessor.java:142)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:2512)
 [ignite-core-2.11.0.jar:2.11.0]
       at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:2697)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1773)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1748)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:2794)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:441)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:2342)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processDhtAtomicUpdateRequest(GridDhtAtomicCache.java:3338)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$600(GridDhtAtomicCache.java:143)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7.apply(GridDhtAtomicCache.java:322)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7.apply(GridDhtAtomicCache.java:317)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1151)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:592)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:393)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1908)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1529)
 [ignite-core-2.11.0.jar:2.11.0]
at 
org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:242)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1422)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:569)
 [ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) 
[ignite-core-2.11.0.jar:2.11.0]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_311]
Caused by: 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTreeRuntimeException:
 java.lang.IllegalStateException: Item not found: 20
        at 
org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.doInitFromLink(CacheDataRowAdapter.java:345)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:165)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.CacheDataRowAdapter.initFromLink(CacheDataRowAdapter.java:136)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.createIndexRow(InlineIndexTree.java:377)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.io.AbstractInlineLeafIO.getLookupRow(AbstractInlineLeafIO.java:127)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.io.AbstractInlineLeafIO.getLookupRow(AbstractInlineLeafIO.java:37)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.getRow(InlineIndexTree.java:420)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.getRow(InlineIndexTree.java:70)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.getRow(BPlusTree.java:5423)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.compare(InlineIndexTree.java:326)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.compare(InlineIndexTree.java:70)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.compare(BPlusTree.java:5410)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findInsertionPoint(BPlusTree.java:5330)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$1100(BPlusTree.java:100)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:310)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5921)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run(BPlusTree.java:290)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5907)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:174)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.DataStructure.read(DataStructure.java:397)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.read(BPlusTree.java:6108)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2796)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2808)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2808)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2808)
 ~[ignite-core-2.11.0.jar:2.11.0]
        at 
org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2431)
 [ignite-core-2.11.0.jar:2.11.0]
                                                                                
                                                                   663

[2022-04-14T14:50:23,192][WARN 
][sys-stripe-17-#18%EDIFMEDIA_PROD%][DiagnosticProcessor] 
CorruptedTreeException has occurred. To diagnose it, make a backup of the 
following directories: 
[/datastore2/wal/node00-060224e3-53ac-4555-876e-166a7480c142, 
/datastore2/archive/node00-060224e3-53ac-4555-876e-166a7480c142]. Then, run the 
following command: java -cp <classpath> 
org.apache.ignite.development.utils.IgniteWalConverter 
walDir=/datastore2/wal/node00-060224e3-53ac-4555-876e-166a7480c142 
walArchiveDir=/datastore2/archive/node00-060224e3-53ac-4555-876e-166a7480c142 
pages=/datastore1/metadataWorkDir/diagnostic/corruptedPages_2022-04-14_14-50-23_184.txt
[2022-04-14T14:50:23,192][ERROR][sys-stripe-17-#18%EDIFMEDIA_PROD%][] JVM will 
be halted immediately due to the failure: [failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=class 
o.a.i.i.processors.cache.persistence.tree.CorruptedTreeException: B+Tree is 
corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=-291739550, 
val2=844420635435161]], cacheId=-291739550, cacheName=MapCustOTTCache, 
indexName=_key_PK, msg=Runtime failure on row: Row@5eaffcf8[ key: 
com.media.digitalapi.edif.model.MapCustOTTKey [idHash=1519412213, 
hash=2147463230, serviceType=Z0114, partyId=p123], val: 
com.media.digitalapi.edif.model.MapCustOTT [idHash=529725123, hash=-1059328655, 
serviceType=null, updatedBy=TB00001KGQEC, updateddatetime=2022-04-14 
14:50:21.437, partyId=null, 
subscriptionIdList=22414145021425514379098800228113357] ][  ]]]]


Thanks and Regards,
"Confidentiality Warning: This message and any attachments are intended only 
for the use of the intended recipient(s). 
are confidential and may be privileged. If you are not the intended recipient. 
you are hereby notified that any 
review. re-transmission. conversion to hard copy. copying. circulation or other 
use of this message and any attachments is 
strictly prohibited. If you are not the intended recipient. please notify the 
sender immediately by return email. 
and delete this message and any attachments from your system.

Virus Warning: Although the company has taken reasonable precautions to ensure 
no viruses are present in this email. 
The company cannot accept responsibility for any loss or damage arising from 
the use of this email or attachment."

Reply via email to