[ 
https://issues.apache.org/jira/browse/IGNITE-12033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16946884#comment-16946884
 ] 

Maxim Muzafarov commented on IGNITE-12033:
------------------------------------------

[~ptupitsyn][~dmagda]

It seems to me this fix will be related to java source code, right? 
Should we set correct labels here and try to include this issue to 2.8 release?

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

Reply via email to