Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-14680

Calcite engine. Node stopped by failure handler after inserting several thousand values

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None
    • None

    Description

      Reproducer: 

      execute("CREATE TABLE t(x INTEGER)");
      for (int i = 0; i < 10_000; i++)
          execute("INSERT INTO t VALUES (?)", i);
      

      Failed with the exception:

      [2021-05-04 20:01:31,919][ERROR][sys-stripe-4-#73%calcite.FunctionsTest1%][IgniteTestResources] Critical system error detected. Will be handled accordingly to configured handler [hnd=NoOpFailureHandler [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=-1578586257, val2=844420635165485]], cacheId=84, cacheName=T, indexName=_key_PK, msg=Runtime failure on row: Row@23e6a2d6[ key: BinaryObject [idHash=1726228686, hash=1382381517, typeId=63], val: SQL_PUBLIC_T_e52a863a_5a43_4177_a0be_f40dd461d4d2 [idHash=114022273, hash=31040300, X=7667] ][ 7667 ]]]]
      class org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException: B+Tree is corrupted [pages(groupId, pageId)=[IgniteBiTuple [val1=-1578586257, val2=844420635165485]], cacheId=84, cacheName=T, indexName=_key_PK, msg=Runtime failure on row: Row@23e6a2d6[ key: BinaryObject [idHash=1726228686, hash=1382381517, typeId=63], val: SQL_PUBLIC_T_e52a863a_5a43_4177_a0be_f40dd461d4d2 [idHash=114022273, hash=31040300, X=7667] ][ 7667 ]]
          at org.apache.ignite.internal.processors.query.h2.database.H2Tree.corruptedTreeException(H2Tree.java:908)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2464)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putx(BPlusTree.java:2411)
          at org.apache.ignite.internal.processors.query.h2.database.H2TreeIndex.putx(H2TreeIndex.java:504)
          at org.apache.ignite.internal.processors.query.h2.opt.GridH2Table.update(GridH2Table.java:775)
          at org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing.store(IgniteH2Indexing.java:395)
          at org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:2522)
          at org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:422)
          at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:2679)
          at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1755)
          at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1730)
          at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:439)
          at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:2338)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2654)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:2114)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1931)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1724)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.processNearAtomicUpdateRequest(GridDhtAtomicCache.java:3293)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.access$400(GridDhtAtomicCache.java:146)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:287)
          at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$5.apply(GridDhtAtomicCache.java:282)
          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:1910)
          at org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1531)
          at org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243)
          at org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1424)
          at org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
          at org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:569)
          at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
          at java.lang.Thread.run(Thread.java:748)
      Caused by: java.lang.ClassCastException: org.apache.ignite.internal.binary.BinaryObjectImpl cannot be cast to org.h2.value.Value
          at org.apache.ignite.internal.processors.query.h2.opt.GridH2ValueCacheObject.lambda$compareSecure$0(GridH2ValueCacheObject.java:166)
          at org.apache.ignite.internal.processors.query.h2.opt.GridH2ValueCacheObject.compareHashOrBytes(GridH2ValueCacheObject.java:180)
          at org.apache.ignite.internal.processors.query.h2.opt.GridH2ValueCacheObject.compareSecure(GridH2ValueCacheObject.java:166)
          at org.h2.value.Value.compareTypeSafe(Value.java:1138)
          at org.h2.table.Table.compareTypeSafe(Table.java:1188)
          at org.apache.ignite.internal.processors.query.h2.database.H2Tree.compareValues(H2Tree.java:882)
          at org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:569)
          at org.apache.ignite.internal.processors.query.h2.database.H2Tree.compare(H2Tree.java:75)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.compare(BPlusTree.java:5408)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.findInsertionPoint(BPlusTree.java:5328)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.access$1100(BPlusTree.java:100)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run0(BPlusTree.java:310)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5919)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Search.run(BPlusTree.java:290)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$GetPageHandler.run(BPlusTree.java:5905)
          at org.apache.ignite.internal.processors.cache.persistence.tree.util.PageHandler.readPage(PageHandler.java:173)
          at org.apache.ignite.internal.processors.cache.persistence.DataStructure.read(DataStructure.java:392)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.read(BPlusTree.java:6106)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2796)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putDown(BPlusTree.java:2808)
          at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2431)
          ... 33 more
      

      Attachments

        Issue Links

          Activity

            People

              alex_pl Aleksey Plekhanov
              alex_pl Aleksey Plekhanov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m