Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 49BCE200BEF for ; Wed, 21 Dec 2016 05:44:00 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 486AF160B29; Wed, 21 Dec 2016 04:44:00 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 960AD160B34 for ; Wed, 21 Dec 2016 05:43:59 +0100 (CET) Received: (qmail 72145 invoked by uid 500); 21 Dec 2016 04:43:58 -0000 Mailing-List: contact issues-help@ignite.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@ignite.apache.org Delivered-To: mailing list issues@ignite.apache.org Received: (qmail 72105 invoked by uid 99); 21 Dec 2016 04:43:58 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 21 Dec 2016 04:43:58 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id 5B0962C1F54 for ; Wed, 21 Dec 2016 04:43:58 +0000 (UTC) Date: Wed, 21 Dec 2016 04:43:58 +0000 (UTC) From: "Valentin Kulichenko (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (IGNITE-4465) Read-through is not properly working with multiple gets executed in parallel MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Wed, 21 Dec 2016 04:44:00 -0000 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)