[ 
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 
(14)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Control Utility{color} [[tests 0 TIMEOUT 
|https://ci.ignite.apache.org/viewLog.html?buildId=5929811]]

{color:#d04437}Cache 6{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=5929778]]

{color:#d04437}Basic 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5929757]]
* IgniteBasicTestSuite: StopNodeOrHaltFailureHandlerTest.testJvmHalted - Test 
has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}JDBC Driver{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=5929740]]
* IgniteJdbcDriverTestSuite: 
JdbcThinJdbcToCacheDataTypesCoverageTest.testBigIntDataType[atomicityMode=ATOMIC,
 cacheMode=PARTITIONED, ttlFactory=EternalExpiryPolicy, backups=2, 
evictionFactory=null, onheapCacheEnabled=false, writeSyncMode=FULL_SYNC, 
persistenceEnabled=false] - Test has low fail rate in base branch 0,0% and is 
not flaky
* IgniteJdbcDriverTestSuite: 
JdbcThinJdbcToCacheDataTypesCoverageTest.testCharDataType[atomicityMode=ATOMIC, 
cacheMode=PARTITIONED, ttlFactory=null, backups=1, evictionFactory=null, 
onheapCacheEnabled=false, writeSyncMode=FULL_SYNC, persistenceEnabled=false] - 
Test has low fail rate in base branch 0,0% and is not flaky

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

{color:#d04437}Platform .NET (Core Linux){color} [[tests 4 TC_SERVICE_MESSAGE 
|https://ci.ignite.apache.org/viewLog.html?buildId=5929793]]
* dll: 
CacheTestAsyncAwait.TestAsyncAwaitContinuationIsExecutedWithConfiguredExecutor 
- History for base branch is absent.
* dll: CachePartitionedNearEnabledTest.TestCacheConfigurationExpiryPolicy - 
Test has low fail rate in base branch 0,0% and is not flaky
* dll: CancellationTest.TestClosures - Test has low fail rate in base branch 
0,8% and is not flaky
* dll: ComputeApiTestFullFooter.TestAffinityRun - Test has low fail rate in 
base branch 1,7% and is not flaky

{color:#d04437}Web Sessions{color} [[tests 0 TIMEOUT , Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=5929749]]

{color:#d04437}Platform .NET{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=5929792]]
* exe: CancellationTest.TestClosures - Test has low fail rate in base branch 
0,0% and is not flaky
* exe: ComputeApiTest.TestRunActionAsyncCancel - Test has low fail rate in base 
branch 0,0% and is not flaky

{color:#d04437}PDS 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5929788]]
* IgnitePdsTestSuite: 
DistributedConfigurationPersistentTest.testReadLocalValueOnInactiveGrid - Test 
has low fail rate in base branch 0,0% and is not flaky

{panel}
{panel:title=Branch: [pull/8870/head] Base: [master] : New Tests 
(11)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#00008b}Cache 1{color} [[tests 
4|https://ci.ignite.apache.org/viewLog.html?buildId=5929773]]
* {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 
7|https://ci.ignite.apache.org/viewLog.html?buildId=5929793]]
* {color:#013220}dll: ComputeTestAsyncAwait.TestComputeExecuteAsyncContinuation 
- PASSED{color}
* {color:#013220}dll: ComputeTestAsyncAwait.TestComputeRunAsyncContinuation - 
PASSED{color}
* {color:#013220}dll: 
CacheTestAsyncAwait.TestSynchronousExecutorRunsContinuationsOnStripedPool - 
PASSED{color}
* {color:#013220}dll: 
ComputeTestAsyncAwait.TestComputeAffinityRunAsyncContinuation - PASSED{color}
* {color:#013220}dll: 
CacheTestAsyncAwait.TestInvalidExecutorConfigurationFailsOnStart - PASSED{color}
* {color:#013220}dll: 
CacheTestAsyncAwait.TestLocalOperationExecutesSynchronously - PASSED{color}
* {color:#8b0000}dll: 
CacheTestAsyncAwait.TestAsyncAwaitContinuationIsExecutedWithConfiguredExecutor 
- FAILED{color}

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=5929819&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)

Reply via email to