Valentin Kulichenko created IGNITE-4465: -------------------------------------------
Summary: 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 Priority: Critical Fix For: 1.9 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)