From issues-return-97702-archive-asf-public=cust-asf.ponee.io@ignite.apache.org Thu Aug 8 19:48:02 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 BB331180642 for ; Thu, 8 Aug 2019 21:48:01 +0200 (CEST) Received: (qmail 36936 invoked by uid 500); 8 Aug 2019 19:48:01 -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 36927 invoked by uid 99); 8 Aug 2019 19:48:01 -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, 08 Aug 2019 19:48:01 +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 890CAE2FDA for ; Thu, 8 Aug 2019 19:48: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 16E7826662 for ; Thu, 8 Aug 2019 19:48:00 +0000 (UTC) Date: Thu, 8 Aug 2019 19:48:00 +0000 (UTC) From: "Pavel Tupitsyn (JIRA)" To: issues@ignite.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (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:comment-tabpanel&focusedCommentId=16903271#comment-16903271 ] Pavel Tupitsyn commented on IGNITE-12033: ----------------------------------------- [~dmagda] yes, that's what I propose. The discussion is continued on Dev list: http://apache-ignite-developers.2346864.n4.nabble.com/Re-EXTERNAL-Re-Replace-or-Put-after-PutAsync-causes-Ignite-to-hang-td42921.html > .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.7.6 > > > 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)