Distributed deadlock detection should differentiate local processes
- Dominant language
- C
- Stars
- 12.8k
- Forks
- 794
- Avg merge
- 2d 14h
- Merged PRs (30d)
- 31
Description
Distributed deadlock detection uses `0` as the transaction number for all of the local processes. However, this might become problematic in certain cases.
As we use `0` as the transaction number for all local processes, that might end up with false positives since we treat all local processes as being part of the same distributed transaction. So, say distributed transaction `15` waits for a local process, and another local process waits for distributed transaction `15`. The distributed deadlock detection cancels the distributed transaction since it finds a cycle.
There are no easy steps to reproduce this issue, but, it's possible that the deadlock detection results in false positive.
We should probably consider `pid`s of the local processes/transactions to differentiate each.
Contributor guide
Assessment
This issue has not been assessed yet.