You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Andrew Mashenkov (JIRA)" <ji...@apache.org> on 2019/01/24 14:04:00 UTC

[jira] [Commented] (IGNITE-10822) AbstractFreelist init reused page in wrong way.

    [ https://issues.apache.org/jira/browse/IGNITE-10822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16751155#comment-16751155 ] 

Andrew Mashenkov commented on IGNITE-10822:
-------------------------------------------

{code:java}
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)

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

> AbstractFreelist init reused page in wrong way.
> -----------------------------------------------
>
>                 Key: IGNITE-10822
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10822
>             Project: Ignite
>          Issue Type: Bug
>          Components: persistence
>            Reporter: Andrew Mashenkov
>            Priority: Critical
>             Fix For: 2.8
>
>
> 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
> {noformat}
> 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){noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)