[
https://issues.apache.org/jira/browse/IGNITE-4465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Semen Boikov reassigned IGNITE-4465:
------------------------------------
Assignee: Semen Boikov
> Read-through is not properly working with multiple gets executed in parallel
> ----------------------------------------------------------------------------
>
> Key: IGNITE-4465
> URL: https://issues.apache.org/jira/browse/IGNITE-4465
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Affects Versions: 1.8
> Reporter: Valentin Kulichenko
> Assignee: Semen Boikov
> Priority: Critical
> Fix For: 1.9
>
> Attachments: ReadThroughTest.java
>
>
> The issue is sporadic and very hard to isolate, however I managed to create a
> test that reproduces it. Basically, the scenario is the following:
> * We have one server and one client.
> * The client creates a cache with read through enabled.
> * The client then executes bunch of jobs (number of jobs is bigger than
> number of threads in server's public pool) asynchronously in parallel.
> * {{CacheStore.load()}} method is called more than once and invocations go
> one after another (sometimes even in the same thread!) with an interval of a
> bit more than one second, which is the duration of load (there is a
> {{Thread.sleep(1000)}} in the implementation.
> * In addition, statistics show that number of misses go up to 50 which is
> number of jobs. I would not expect more than 16 there. First 16 jobs executed
> in parallel can all register miss at the same time before load happens. But
> all consecutive execution must read the value from cache.
> Test is attached.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)