There are two classes of deadlocks:
1) DB-Specific (Seen on MSSQL & DB2 only), caused by the DB locking scheme used by these databases as a default setting.
2) Non-BD-Specific, Caused by conflicts resulting from Conflicting Concurrent Transactions (CCTs) inside the same Process Instance. (See
Class 1 deadlocks
- may already occur for SELECT statements,
- may already occur if data from different PIs is being selected / modified,
=> have high probability to occur.
Class 2 deadlocks
- need unfortunate interleaving of UPDATE / DELETE,
- only occur if CCTs are executed inside the same PI,
=> have low probability to occur.
- We want to get a feel whether Class 1 Deadlocks can be resolved by enabling snapshot isolation in these databases and if true document this setting.
- Testcase for class 1 Problems is available and ca be run as part of CI build
- If applicable (depending on results): Proper isolation level Settings for MSSQL & DB2 are mentioned in Docs (latest / 7.1 / 7.0)