[ 
https://issues.apache.org/jira/browse/IGNITE-614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Semen Boikov updated IGNITE-614:
--------------------------------
    Description: 
During unswap entry is removed from swap then unswap listener is notified, and 
this logic in preload supply worker:
- register unswap listener
- iterater over heap
- iterate over swap
- remove unswap listener
- iterate over entries recorded by unswap listener

There is a race: entry is removed from unswap, listener is not notified yet, at 
this moment supply worker removes unswap listener.

These tests fail from time to time because entry can be missed during 
preloading:
GridCacheSwapPreloadSelfTest.testSwapPartitionedMultithreaded
GridCacheSwapPreloadSelfTest.testSwapReplicatedMultithreaded

  was:
During unswap entry is removed from swap then unswap listener is notified, and 
this logic in preload supply worker:
- register unswap listener
- iterater over heap
- iterate over swap
- remove unswap listener
- iterate over entries recorded by unswap listener

There is a race: entry is rmoved from unswap, listener is not notified yet, at 
this moment supply worker remvoes unswap listener.

These tests fail from time to time because entry can be missed:
GridCacheSwapPreloadSelfTest.testSwapPartitionedMultithreaded
GridCacheSwapPreloadSelfTest.testSwapReplicatedMultithreaded


> Race in preloading/unswapping
> -----------------------------
>
>                 Key: IGNITE-614
>                 URL: https://issues.apache.org/jira/browse/IGNITE-614
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>            Reporter: Semen Boikov
>            Assignee: Yakov Zhdanov
>            Priority: Critical
>             Fix For: sprint-3
>
>
> During unswap entry is removed from swap then unswap listener is notified, 
> and this logic in preload supply worker:
> - register unswap listener
> - iterater over heap
> - iterate over swap
> - remove unswap listener
> - iterate over entries recorded by unswap listener
> There is a race: entry is removed from unswap, listener is not notified yet, 
> at this moment supply worker removes unswap listener.
> These tests fail from time to time because entry can be missed during 
> preloading:
> GridCacheSwapPreloadSelfTest.testSwapPartitionedMultithreaded
> GridCacheSwapPreloadSelfTest.testSwapReplicatedMultithreaded



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to