You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2017/08/17 10:04:00 UTC

[jira] [Commented] (IGNITE-6096) Race between partition eviction and re-creation

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

ASF GitHub Bot commented on IGNITE-6096:
----------------------------------------

GitHub user ilantukh opened a pull request:

    https://github.com/apache/ignite/pull/2463

    IGNITE-6096 : Fixed races on partition evict.

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-6096

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/2463.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #2463
    
----
commit 42877048314332ce1691a2f47ef967e129e9ad75
Author: Ilya Lantukh <il...@gridgain.com>
Date:   2017-08-17T09:58:23Z

    ignite-6096 : Fixed races on partition evict.

----


> Race between partition eviction and re-creation
> -----------------------------------------------
>
>                 Key: IGNITE-6096
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6096
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.1
>            Reporter: Ilya Lantukh
>            Assignee: Ilya Lantukh
>             Fix For: 2.2
>
>
> There are a number of cases that aren't handled correctly, leading to assertion errors, grid hang-ups and data loss:
> - PageMemoryImpl.refreshOutdatedPage(...) - if refreshed page is currently scheduled for checkpoint, it will be stored if FileStore filled with zeroes. Reading this page later will fail.
> - GridCacheDatabaseSharedManager.restorePartitionState(...) - grp.offheap().onPartitionInitialCounterUpdated(...) is called under meta page write lock. If DataStore requires initialization, it will try to aquire write lock for meta page again and hang up.
> - GridDhtPartitionTopologyImpl.createPartition(...) and .localPartition0(...) - if partition is present but has EVICTED state, we will try to create new partition instance. However, DataStore for old partition might still be present, and we will get AssertionError when we attempt to create new DataStore.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)