ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maxim Muzafarov (Jira)" <j...@apache.org>
Subject [jira] [Updated] (IGNITE-12033) Callbacks from striped pool due to async/await may hang cluster
Date Thu, 10 Oct 2019 13:41:00 GMT

     [ https://issues.apache.org/jira/browse/IGNITE-12033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Maxim Muzafarov updated IGNITE-12033:
-------------------------------------
    Summary: Callbacks from striped pool due to async/await may hang cluster  (was: .NET:
Callbacks from striped pool due to async/await may hang cluster)

> 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: Critical
>             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
(v8.3.4#803005)

Mime
View raw message