Andrey Kuznetsov commented on IGNITE-6893:

Unified failure handling implemented in [1] can be used to handle deadlocks.

As for detection, the most tempting way is the use of 
{{ThreadMXBean::findDeadlockedThreads}}, but we are to estimate its overhead 
first, especially for the large number of active threads.

> Java Deadlocks monitoring
> -------------------------
>                 Key: IGNITE-6893
>                 URL: https://issues.apache.org/jira/browse/IGNITE-6893
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Anton Vinogradov
>            Assignee: Andrey Kuznetsov
>            Priority: Major
>              Labels: iep-7
>             Fix For: 2.6
> Java Level Deadlocks
> Description
> This situation occurs if user or Ignite comes to a Java-level deadlock due to 
> a bug in code - reverse order synchronized(mux1) {synchronized (mux2) {}}  
> sections, reverse order reentrant locks, etc.
> Detection and Solution
> This most likely cannot be resolved automatically and will require JVM 
> restart.
> We can implement periodical threaddumps analysis and detect the deadlock. 
> Report
> Deadlock should be reported to the logs.
> Web Console should fire an alert on java deadlock detection and display a 
> warning on UI.

This message was sent by Atlassian JIRA

Reply via email to