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