[
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
(2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache 7{color} [[tests
1|https://ci.ignite.apache.org/viewLog.html?buildId=5930552]]
* IgniteCacheTestSuite7:
TxRollbackAsyncWithPersistenceTest.testMixedAsyncRollbackTypes - Test has low
fail rate in base branch 0,0% and is not flaky
{color:#d04437}PDS 4{color} [[tests 0 TIMEOUT , Exit Code
|https://ci.ignite.apache.org/viewLog.html?buildId=5930564]]
{panel}
{panel:title=Branch: [pull/8870/head] Base: [master] : New Tests
(10)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Cache 1{color} [[tests
4|https://ci.ignite.apache.org/viewLog.html?buildId=5930546]]
* {color:#013220}IgniteBinaryCacheTestSuite:
CacheAsyncContinuationExecutorTest.testRemoteOperationContinuesOnDefaultExecutor
- PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite:
CacheAsyncContinuationSynchronousExecutorTest.testLocalOperationExecutesSynchronously
- PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite:
CacheAsyncContinuationExecutorTest.testLocalOperationExecutesSynchronously -
PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite:
CacheAsyncContinuationSynchronousExecutorTest.testRemoteOperationContinuesOnDefaultExecutor
- PASSED{color}
{color:#00008b}Platform .NET (Core Linux){color} [[tests
6|https://ci.ignite.apache.org/viewLog.html?buildId=5930608]]
* {color:#013220}dll: ComputeTestAsyncAwait.TestComputeExecuteAsyncContinuation
- PASSED{color}
* {color:#013220}dll: ComputeTestAsyncAwait.TestComputeRunAsyncContinuation -
PASSED{color}
* {color:#013220}dll:
CacheTestAsyncAwait.TestSynchronousExecutorRunsContinuationsOnStripedPool -
PASSED{color}
* {color:#013220}dll:
CacheTestAsyncAwait.TestInvalidExecutorConfigurationFailsOnStart - PASSED{color}
* {color:#013220}dll:
CacheTestAsyncAwait.TestLocalOperationExecutesSynchronously - PASSED{color}
* {color:#013220}dll:
CacheTestAsyncAwait.TestAsyncAwaitContinuationIsExecutedWithConfiguredExecutor
- PASSED{color}
{panel}
[TeamCity *--> Run :: All*
Results|https://ci.ignite.apache.org/viewLog.html?buildId=5930592&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
> Labels: iep-70
> Fix For: 2.11
>
> Time Spent: 50m
> 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)