From issues-return-97881-archive-asf-public=cust-asf.ponee.io@ignite.apache.org Thu Aug 15 13:33:01 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 6BFEA180645 for ; Thu, 15 Aug 2019 15:33:01 +0200 (CEST) Received: (qmail 84566 invoked by uid 500); 15 Aug 2019 13:33:00 -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 84545 invoked by uid 99); 15 Aug 2019 13:33:00 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 15 Aug 2019 13:33:00 +0000 Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 4D4FBE2F8C for ; Thu, 15 Aug 2019 13:33:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 2F64027789 for ; Thu, 15 Aug 2019 13:33:00 +0000 (UTC) Date: Thu, 15 Aug 2019 13:33:00 +0000 (UTC) From: "Pavel Tupitsyn (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (IGNITE-12033) .NET: Callbacks from striped pool due to async/await may hang cluster MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/IGNITE-12033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Tupitsyn updated IGNITE-12033: ------------------------------------ Fix Version/s: (was: 2.7.6) 2.8 > .NET: Callbacks from striped pool due to async/await may hang cluster > --------------------------------------------------------------------- > > Key: IGNITE-12033 > URL: https://issues.apache.org/jira/browse/IGNITE-12033 > Project: Ignite > Issue Type: Bug > Components: cache, platforms > Affects Versions: 2.7.5 > Reporter: Ilya Kasnacheev > Assignee: Pavel Tupitsyn > Priority: Major > Labels: .net > Fix For: 2.8 > > > http://apache-ignite-users.70518.x6.nabble.com/Replace-or-Put-after-PutAsync-causes-Ignite-to-hang-td27871.html#a28051 > There's a reproducer project. Long story short, .Net can invoke cache operations with future callbacks, which will be invoked from striped pool. If such callbacks are to use cache operations, those will be possibly sheduled to the same stripe and cause a deadlock. > The code is very simple: > {code} > Console.WriteLine("PutAsync"); > await cache.PutAsync(1, "Test"); > Console.WriteLine("Replace"); > cache.Replace(1, "Testing"); // Hangs here > Console.WriteLine("Wait"); > await Task.Delay(Timeout.Infinite); > {code} > async/await should absolutely not allow any client code to be run from stripes. -- This message was sent by Atlassian JIRA (v7.6.14#76016)