Anti-pattern: distributed dead-lock detection

Distributed transactions leads to the need for distributed deadlock detection - where a deadlock spans data managers yet is not detectable by any one data manager by itself.

Dozens of algorithms to detect distributed deadlocks have been published by database researchers over the years.

One technique is to designate one data manager as the distributed deadlock detector and have every other data manager periodically send its waits-for graph to it. It therefore has a complete view of the waits-for graph - i.e. across all nodes and can therefore detect distributed deadlocks.

Another approach is timeout-based detection.