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

PagesList.takeEmptyPage may fail with AssertionError: type = 1

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.6
    • Component/s: None

      Description

      Even after IGNITE-8769 fix, we sometimes get an AssertionError from free list during update operation. Page with type PageIO#T_DATA appears in free list for some reason.
      Example hang on TC: https://ci.ignite.apache.org/viewLog.html?buildId=1442664&buildTypeId=IgniteTests24Java8_PdsIndexingWalRecovery
      Example stacktrace:

      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] java.lang.AssertionError: Assertion error on search row: org.apache.ignite.internal.processors.cache.tree.SearchRow@1e76dfc5
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1643)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1272)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.invoke(GridCacheOffheapManager.java:1603)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:370)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:1755)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2436)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:1898)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1740)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1630)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:299)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:483)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:443)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1119)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.put0(GridDhtAtomicCache.java:609)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2428)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2405)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1084)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:812)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.db.wal.IgniteWalRecoveryTest$2.call(IgniteWalRecoveryTest.java:551)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.db.wal.IgniteWalRecoveryTest$2.call(IgniteWalRecoveryTest.java:546)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.testframework.GridTestThread.run(GridTestThread.java:86)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] Caused by: java.lang.AssertionError: tailId = 00010009000000a0, type = 1
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.takeEmptyPage(PagesList.java:1066)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.insertDataRow(AbstractFreeList.java:482)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.RowStore.addRow(RowStore.java:102)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.createRow(IgniteCacheOffheapManagerImpl.java:1325)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.createRow(GridCacheOffheapManager.java:1593)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.update(GridCacheMapEntry.java:4955)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:4750)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.call(GridCacheMapEntry.java:4464)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.invokeClosure(BPlusTree.java:3083)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree$Invoke.access$6200(BPlusTree.java:2977)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1732)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invokeDown(BPlusTree.java:1703)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	at org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.invoke(BPlusTree.java:1610)
      [15:59:26]W:		 [org.apache.ignite:ignite-indexing] 	... 21 more
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cyberdemon Dmitriy Sorokin
                Reporter:
                ivan.glukos Ivan Rakov
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: