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

Ignite TC Bot commented on IGNITE-12451:
----------------------------------------

{panel:title=Branch: [pull/8268/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/8268/head] Base: [master] : New Tests 
(6)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#00008b}Cache 1{color} [[tests 
6|https://ci.ignite.apache.org/viewLog.html?buildId=5667005]]
* {color:#013220}IgniteBinaryCacheTestSuite: 
IgniteCacheAtomicConcurrentUnorderedUpdateAllTest.testConcurrentUpdateAll[cacheMode=LOCAL,
 writeThrough=false] - PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite: 
IgniteCacheAtomicConcurrentUnorderedUpdateAllTest.testConcurrentUpdateAll[cacheMode=REPLICATED,
 writeThrough=true] - PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite: 
IgniteCacheAtomicConcurrentUnorderedUpdateAllTest.testConcurrentUpdateAll[cacheMode=LOCAL,
 writeThrough=true] - PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite: 
IgniteCacheAtomicConcurrentUnorderedUpdateAllTest.testConcurrentUpdateAll[cacheMode=PARTITIONED,
 writeThrough=false] - PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite: 
IgniteCacheAtomicConcurrentUnorderedUpdateAllTest.testConcurrentUpdateAll[cacheMode=REPLICATED,
 writeThrough=false] - PASSED{color}
* {color:#013220}IgniteBinaryCacheTestSuite: 
IgniteCacheAtomicConcurrentUnorderedUpdateAllTest.testConcurrentUpdateAll[cacheMode=PARTITIONED,
 writeThrough=true] - PASSED{color}

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=5667062&buildTypeId=IgniteTests24Java8_RunAll]

> Introduce deadlock detection for cache entry reentrant locks
> ------------------------------------------------------------
>
>                 Key: IGNITE-12451
>                 URL: https://issues.apache.org/jira/browse/IGNITE-12451
>             Project: Ignite
>          Issue Type: Improvement
>    Affects Versions: 2.7.6
>            Reporter: Ivan Rakov
>            Assignee: Mirza Aliev
>            Priority: Major
>             Fix For: 2.10
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Aside from IGNITE-12365, we still have possible threat of cache-entry-level 
> deadlock in case of careless usage of JCache mass operations (putAll, 
> removeAll):
> 1. If two different user threads will perform putAll on the same two keys in 
> reverse order (primary node for which is the same), there's a chance that 
> sys-stripe threads will be deadlocked.
> 2. Even without direct contract violation from user side, HashMap can be 
> passed as argument for putAll. Even if user threads have called mass 
> operations with two keys in the same order, HashMap iteration order is not 
> strictly defined, which may cause the same deadlock. 
> Local deadlock detection should mitigate this issue. We can create a wrapper 
> for ReentrantLock with logic that performs cycle detection in wait-for graph 
> in case we are waiting for lock acquisition for too long. Exception will be 
> thrown from one of the threads in such case, failing user operation, but 
> letting the system make progress.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to