You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (Jira)" <ji...@apache.org> on 2021/03/11 12:51:00 UTC

[jira] [Issue Comment Deleted] (IGNITE-12033) Callbacks from striped pool due to async/await may hang cluster

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

Pavel Tupitsyn updated IGNITE-12033:
------------------------------------
    Comment: was deleted

(was: {panel:title=Branch: [pull/8870/head] Base: [master] : Possible Blockers (98)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache (Restarts) 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909936]]

{color:#d04437}Control Utility{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909977]]

{color:#d04437}Cache 9{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909947]]

{color:#d04437}Cache 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909940]]

{color:#d04437}PDS 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909955]]

{color:#d04437}Cache 5{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909943]]

{color:#d04437}Control Utility (Zookeeper){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909978]]

{color:#d04437}SPI{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909913]]

{color:#d04437}Scala (Examples){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909918]]

{color:#d04437}RDD{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909908]]

{color:#d04437}Examples{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909895]]

{color:#d04437}Cache 6{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909944]]

{color:#d04437}Cache 7{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909945]]

{color:#d04437}Continuous Query 4{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909949]]

{color:#d04437}ZooKeeper (Discovery) 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909920]]

{color:#d04437}Platform .NET (Long Running){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909962]]

{color:#d04437}Queries 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909964]]

{color:#d04437}JDBC Driver{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909906]]

{color:#d04437}ZooKeeper (Discovery) 3{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909965]]

{color:#d04437}Java Client{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909902]]

{color:#d04437}Platform .NET (Core Linux){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909959]]

{color:#d04437}Cache 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909939]]

{color:#d04437}Queries 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909909]]

{color:#d04437}Thin client: Node.js{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909980]]

{color:#d04437}ZooKeeper (Discovery) 4{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909966]]

{color:#d04437}Basic 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909923]]

{color:#d04437}Continuous Query 3{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909948]]

{color:#d04437}PDS (Indexing){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909952]]

{color:#d04437}Basic 3{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909924]]

{color:#d04437}Start Nodes{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909912]]

{color:#d04437}Cache 8{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909946]]

{color:#d04437}Compute (Grid){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909892]]

{color:#d04437}[Build]{color} [[tests 0 Exit Code |https://ci.ignite.apache.org/viewLog.html?buildId=5909883]]

{color:#d04437}Web Sessions{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909915]]

{color:#d04437}Cache 3{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909941]]

{color:#d04437}ZooKeeper (Discovery) 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909921]]

{color:#d04437}Cache (Failover SSL){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909930]]

{color:#d04437}Cache (Deadlock Detection){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909928]]

{color:#d04437}PDS 4{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909957]]

{color:#d04437}Cache (Failover) 3{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909933]]

{color:#d04437}Cache (Failover) 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909931]]

{color:#d04437}Open Census{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909973]]

{color:#d04437}Thin Client: Java{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909905]]

{color:#d04437}Platform .NET{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909958]]

{color:#d04437}Continuous Query 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909894]]

{color:#d04437}PDS 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909954]]

{color:#d04437}Thin client: PHP{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909981]]

{color:#d04437}Cache (Failover) 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909932]]

{color:#d04437}Platform .NET (Integrations){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909961]]

{color:#d04437}Cache (Restarts) 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909937]]

{color:#d04437}Activate / Deactivate Cluster{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909888]]

{color:#d04437}Cache (Expiry Policy){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909929]]

{color:#d04437}Data Structures{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909950]]

{color:#d04437}Basic 2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909886]]

{color:#d04437}Binary Objects{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909887]]

{color:#d04437}Cache 4{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909942]]

{color:#d04437}SPI (URI Deploy){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909914]]

{color:#d04437}Platform C++ CMake (Win x64 / Release){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909979]]

{color:#d04437}Platform .NET (NuGet)*{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909963]]

{color:#d04437}Thin client: Python{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909982]]

{color:#d04437}Platform C++ CMake (Linux){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909976]]

{color:#d04437}Platform C++ (Win x64 / Release){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909922]]

{color:#d04437}Cassandra Store{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909971]]

{color:#d04437}Platform C++ CMake (Linux Clang){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909975]]

{color:#d04437}PDS 3{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909956]]

{color:#d04437}Client Nodes{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909889]]

{color:#d04437}Spring{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909910]]

{color:#d04437}PDS (Compatibility)*{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909951]]

{color:#d04437}Continuous Query 1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909893]]

{color:#d04437}Examples (LGPL){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909967]]

{color:#d04437}ZooKeeper{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909917]]

{color:#d04437}Cache (Tx Recovery){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909938]]

{color:#d04437}Cache (Full API){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909935]]

{color:#d04437}Cache (Full API Multi JVM){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909934]]

{color:#d04437}PDS (Unit Tests){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909953]]

{color:#d04437}Dev Utils{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909974]]

{color:#d04437}JCache TCK 1.1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909925]]

{color:#d04437}AWS{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909885]]

{color:#d04437}Kubernetes{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909901]]

{color:#d04437}Service Grid{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909969]]

{color:#d04437}Geospatial Indexing{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909897]]

{color:#d04437}Hibernate 5.1{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909899]]

{color:#d04437}Cloud{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909890]]

{color:#d04437}Hibernate 4.2{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909898]]

{color:#d04437}Queries (Config Variations){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909907]]

{color:#d04437}AOP{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909884]]

{color:#d04437}GCE{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909896]]

{color:#d04437}Compute (Affinity Run){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909891]]

{color:#d04437}Logging{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909904]]

{color:#d04437}Service Grid (legacy mode){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909970]]

{color:#d04437}Platform .NET (Inspections)*{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909960]]

{color:#d04437}Scala (Visor Console){color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909919]]

{color:#d04437}Hibernate 5.3{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909968]]

{color:#d04437}JTA{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909900]]

{color:#d04437}Security{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909972]]

{color:#d04437}Yarn{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909916]]

{color:#d04437}Interceptor Cache (Full API Config Variations / Basic)*{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909903]]

{color:#d04437}Streamers{color} [[tests 0 CANCELLED|https://ci.ignite.apache.org/viewLog.html?buildId=5909911]]

{panel}
{panel:title=Branch: [pull/8870/head] Base: [master] : No new tests found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--&gt; Run :: All* Results|https://ci.ignite.apache.org/viewLog.html?buildId=5909985&amp;buildTypeId=IgniteTests24Java8_RunAll])

> 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
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Discussed 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
> *Must use the public pool for callbacks as the most obvious step.*
> ----
> 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)