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 08:56:00 UTC

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

Kirill Tkalenko created IGNITE-15488:
----------------------------------------

             Summary: 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
             Fix For: 2.12


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)