[ 
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 <[email protected]>
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)

Reply via email to