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)

Reply via email to