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

AbstractFreelist init reused page in wrong way.

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Cannot Reproduce
    • None
    • 2.8
    • persistence
    • None

    Description

      This is similar to IGNITE-9303.
      In IGNITE-9303 we missed wrong page flag check that hides this issue.

      After fixing page flag check, one of mvcc tests fails with assertion as Ignite can't lock page for write due to unknown reason: smth goes wrong with page tag.

      ExplicitWalDeltaConsistencyTest.testNotEmptyPds() fails in mvcc mode with next error

      java.lang.AssertionError
      at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.insertDataRow(AbstractFreeList.java:507)
      at org.apache.ignite.internal.processors.cache.persistence.metastorage.MetastorageRowStore.addRow(MetastorageRowStore.java:73)
      at org.apache.ignite.internal.processors.cache.persistence.metastorage.MetaStorage.putData(MetaStorage.java:377)
      at org.apache.ignite.internal.processors.cache.persistence.metastorage.MetaStorage.write(MetaStorage.java:353)
      at org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.writeBaselineTopology(GridClusterStateProcessor.java:293)
      at org.apache.ignite.internal.processors.cluster.GridClusterStateProcessor.onReadyForReadWrite(GridClusterStateProcessor.java:250)
      at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.notifyMetastorageReadyForReadWrite(GridCacheDatabaseSharedManager.java:430)
      at org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.finishRecovery(GridCacheDatabaseSharedManager.java:884)

      Attachments

        Issue Links

          Activity

            amashenkov

            Does this issue is still actual?

            mmuzaf Maxim Muzafarov added a comment - amashenkov Does this issue is still actual?

            Most likely test was fixed in some another ticket.
            Mass test start within IGNITE-11215 PR looks ok.

            amashenkov Andrey Mashenkov added a comment - Most likely test was fixed in some another ticket. Mass test start within IGNITE-11215 PR looks ok.
            java.lang.AssertionError: Pin counter must be 0 for a new page [relPtr=0000010000000013, absPtr=00007f4e1e11f4b0]
            	at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:538)
            	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore$1.allocatePageNoReuse(GridCacheOffheapManager.java:1499)
            	at org.apache.ignite.internal.processors.cache.persistence.DataStructure.allocatePage(DataStructure.java:121)
            	at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.addStripe(PagesList.java:420)
            	at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.getPageForPut(PagesList.java:540)
            	at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.put(PagesList.java:631)
            	at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.addForRecycle(AbstractFreeList.java:624)
            	at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.removeDataRowByLink(AbstractFreeList.java:595)
            	at org.apache.ignite.internal.processors.cache.persistence.RowStore.removeRow(RowStore.java:85)
            	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cleanup(IgniteCacheOffheapManagerImpl.java:2307)
            	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:2047)
            	at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:2031)
            	at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:550)
            	at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1116)
            
            

            Yest another page reuse issue occurs on mvcc update. Hope, this may hepls.

            amashenkov Andrey Mashenkov added a comment - java.lang.AssertionError: Pin counter must be 0 for a new page [relPtr=0000010000000013, absPtr=00007f4e1e11f4b0] at org.apache.ignite.internal.processors.cache.persistence.pagemem.PageMemoryImpl.allocatePage(PageMemoryImpl.java:538) at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore$1.allocatePageNoReuse(GridCacheOffheapManager.java:1499) at org.apache.ignite.internal.processors.cache.persistence.DataStructure.allocatePage(DataStructure.java:121) at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.addStripe(PagesList.java:420) at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.getPageForPut(PagesList.java:540) at org.apache.ignite.internal.processors.cache.persistence.freelist.PagesList.put(PagesList.java:631) at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.addForRecycle(AbstractFreeList.java:624) at org.apache.ignite.internal.processors.cache.persistence.freelist.AbstractFreeList.removeDataRowByLink(AbstractFreeList.java:595) at org.apache.ignite.internal.processors.cache.persistence.RowStore.removeRow(RowStore.java:85) at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.cleanup(IgniteCacheOffheapManagerImpl.java:2307) at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:2047) at org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.mvccUpdate(GridCacheOffheapManager.java:2031) at org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.mvccUpdate(IgniteCacheOffheapManagerImpl.java:550) at org.apache.ignite.internal.processors.cache.GridCacheMapEntry.mvccSet(GridCacheMapEntry.java:1116) Yest another page reuse issue occurs on mvcc update. Hope, this may hepls.

            People

              Unassigned Unassigned
              amashenkov Andrey Mashenkov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: