Ilya Lantukh created IGNITE-6096:
------------------------------------

             Summary: 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