Details
-
Task
-
Resolution: Won't Fix
-
L3 - Default
-
None
-
None
-
None
Description
Given:
A Process Engine database with a Transaction Isolation Level that is not READ COMMITTED. (E.g. MySQL/MariaDB set it to REPEATABLE_READ by default)
When:
Concurrent Process Engine transactions occur.
Then:
The wrong isolation level is used, and an OptimisticLockingException is not detected correctly.
Expected:
The correct Transaction Isolation Level is used for a DB Connection.
Hint:
The MyBatis PooledDataSource class supports setting a defaultTransactionIsolationLevel for JDBC connection objects. If not set, the default Level is used. This is defined in the Connection object and depends on the JDBC-implementation of the Connection interface (Postgres=READ_COMMITTED, MySQL=REPEATABLE-READS).