org.apache.ignite.internal.processors.cache.mvcc

## Class DeadlockDetectionManager

- java.lang.Object
- - org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter
  - - org.apache.ignite.internal.processors.cache.mvcc.DeadlockDetectionManager

All Implemented Interfaces:
  GridCacheSharedManager

    public class DeadlockDetectionManager
    extends GridCacheSharedManagerAdapter

Component participating in deadlock detection in a cluster. Detection process is collaborative and it is performed by relaying special probe messages from waiting transaction to it's blocker.

Ideas for used detection algorithm are borrowed from Chandy-Misra-Haas deadlock detection algorithm for resource model.

Current implementation assumes that transactions obeys 2PL.

### Nested Class Summary

Nested Classes
`class` `DeadlockDetectionManager.DelayedDeadlockComputation` Delayed deadlock probe computation which can be cancelled.

### Field Summary

### Fields inherited from class org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter

`cctx, diagnosticLog, log`

### Constructor Summary

Constructors
Constructor and Description
`DeadlockDetectionManager()`

### Method Summary

All Methods Instance Methods Concrete Methods
`DeadlockDetectionManager.DelayedDeadlockComputation` `initDelayedComputation(MvccVersion waiterVer, MvccVersion blockerVer)` Starts a dedlock detection after a delay.
`protected void` `start0()`

### Methods inherited from class org.apache.ignite.internal.processors.cache.GridCacheSharedManagerAdapter

`context, isStopping, kernalStartInfo, kernalStopInfo, log, onDisconnected, onKernalStart, onKernalStart0, onKernalStop, onKernalStop0, onReconnected, printMemoryStats, start, startInfo, stop, stop0, stopInfo, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### DeadlockDetectionManager

    public DeadlockDetectionManager()

### Method Detail

#### start0

    protected void start0()
                   throws IgniteCheckedException

Overrides:
  `start0` in class `GridCacheSharedManagerAdapter`
Throws:
  `IgniteCheckedException` - If failed.

#### initDelayedComputation

    public DeadlockDetectionManager.DelayedDeadlockComputation initDelayedComputation(MvccVersion waiterVer,
                                                                                      MvccVersion blockerVer)

Starts a dedlock detection after a delay.

Parameters:
  `waiterVer` - Version of the waiting transaction.
  `blockerVer` - Version of the waited for transaction.
Returns:
  Cancellable computation.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.11.0
Release Date | : September 11 2021