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

[jira] [Updated] (IGNITE-15488) Add index information to the message "Maximum number of retries 1000 reached for Put operation"

     [ https://issues.apache.org/jira/browse/IGNITE-15488?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Kirill Tkalenko updated IGNITE-15488:
-------------------------------------
    Reviewer: Ivan Bessonov

[~ibessonov] Please make code review.

> Add index information to the message "Maximum number of retries 1000 reached for Put operation"
> -----------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-15488
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15488
>             Project: Ignite
>          Issue Type: Improvement
>          Components: persistence
>            Reporter: Kirill Tkalenko
>            Assignee: Kirill Tkalenko
>            Priority: Major
>             Fix For: 2.12
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> In some case this exception looks effectively similar to the B+Tree corruption exception.
> {noformat}
> [2021-09-06T08:47:20,920][ERROR][sys-stripe-4-#5][] 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.IgniteCheckedException: Maximum number of retries 1000 reached for Put operation (the tree may be corrupted). Increase IGNITE_BPLUS_TREE_LOCK_RETRIES system property if you regularly see this message (current value is 1000).]]
> org.apache.ignite.IgniteCheckedException: Maximum number of retries 1000 reached for Put operation (the tree may be corrupted). Increase IGNITE_BPLUS_TREE_LOCK_RETRIES system property if you regularly see this message (current value is 1000).
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Get.checkLockRetry(BPlusTree.java:3112) 
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Put.checkLockRetry(BPlusTree.java:3909) 
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2793) 
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2811) 
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2811) 
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2434) 
> 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putx(BPlusTree.java:2414) 
> 	at org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.putx(H2TreeIndex.java:497) [ignite-indexing-8.8.4-p1.jar:8.8.4-p1]
> 	at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.addToIndex(GridH2Table.java:880) [ignite-indexing-8.8.4-p1.jar:8.8.4-p1]
> 	at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.update(GridH2Table.java:794) [ignite-indexing-8.8.4-p1.jar:8.8.4-p1]
> 	at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.store(IgniteH2Indexing.java:413) [ignite-indexing-8.8.4-p1.jar:8.8.4-p1]
> 	at org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:2537) 
> 	at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:418) 
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:2829) 
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1887) 
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1858) 
> 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:3005) 
> 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:462) 
> 	at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:2248) 
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processDhtAtomicUpdateRequest(GridDhtAtomicCache.java:3268) 
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$600(GridDhtAtomicCache.java:151) 
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7.apply(GridDhtAtomicCache.java:324) 
> 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$7.apply(GridDhtAtomicCache.java:319) 
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1142) 
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:591) 
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:392) 
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:318) 
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:109) 
> 	at org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:308) 
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1719) 
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1326) 
> 	at org.apache.ignite.internal.managers.communication.GridIoManager.access$4600(GridIoManager.java:157) 
> 	at org.apache.ignite.internal.managers.communication.GridIoManager$8.execute(GridIoManager.java:1211) 
> 	at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:54) 
> 	at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:564) 
> 	at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:119) 
> 	at java.lang.Thread.run(Thread.java:748)
> {noformat}
> But it doesn't contain any tree information. In fact it's not possible to locate what index requires to be dropped manually in order to restore a node.



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