You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Creating new code-systems in parallel can cause deadlocks in Derby.
Caused by: ERROR 40001: A lock could not be obtained due to a deadlock, cycle of locks and waiters is:
Lock : ROW, CODE_SYSTEMS, (1,7)
Waiting XID : {24547, S} , APP, SELECT code_system_id FROM code_systems WHERE code_system_name = ?
Granted XID : {24549, X}
Lock : ROW, CODE_SYSTEMS, (1,8)
Waiting XID : {24549, S} , APP, SELECT code_system_id FROM code_systems WHERE code_system_name = ?
Granted XID : {24547, X}
To Reproduce
Steps to reproduce the behavior:
Create new resources in parallel where those resources require the creation of new code-systems.
Expected behavior
All resources loaded successfully without any failures due to deadlocks.
Additional context
This appears to be due to its less sophisticated concurrency control and the row-locking behavior of Derby. Db2 and PostgresSQL use more advanced locking mechanisms to avoid this sort of issue.
Derby is not recommended for production use. Because this issue does not occur on Db2 and PostgreSQL, fixing it is lower priority.
The text was updated successfully, but these errors were encountered:
Describe the bug
Creating new code-systems in parallel can cause deadlocks in Derby.
To Reproduce
Steps to reproduce the behavior:
Create new resources in parallel where those resources require the creation of new code-systems.
Expected behavior
All resources loaded successfully without any failures due to deadlocks.
Additional context
This appears to be due to its less sophisticated concurrency control and the row-locking behavior of Derby. Db2 and PostgresSQL use more advanced locking mechanisms to avoid this sort of issue.
Derby is not recommended for production use. Because this issue does not occur on Db2 and PostgreSQL, fixing it is lower priority.
The text was updated successfully, but these errors were encountered: