[
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)