You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Semen Boikov (JIRA)" <ji...@apache.org> on 2015/03/27 11:05:53 UTC

[jira] [Updated] (IGNITE-614) Race in preloading/unswapping

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