[
https://issues.apache.org/jira/browse/IGNITE-12033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16901539#comment-16901539
]
Pavel Tupitsyn commented on IGNITE-12033:
-----------------------------------------
See the reply in the User List thread. Known issue, and the same thing will
happen in Java, this is not an Ignite.NET bug.
[~ilyak] I propose to close this.
> .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
>
> 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)