Deadlocked on lock resources with another process and has been chosen as the deadlock victim

This I get intermittent and rare, when calling CmmnRuntimeService.startPlanItemInstance.
Any idea? I will investigate too.

Thank You!

Hey @barry731,

Are you using SQL Server by any chance?

This issue can occur when there is resource contention on the source MS SQL database, which causes the database to select a victim (process) to kill to free up resources. SQL servers keep an internal row count when database threads access rows. A deadlock exception is thrown by sql server when too many such threads are accessing it.

Generally, provisioning the database with better hardware solves the problem.

Cheers,
Filip

Hi Filip,

yes we are using MS SQL Server.
So this is a know issue and not releated using flowable engine with incorrect API usage?

Thank You!
Barry

Yes this is known for SQL Server. If your database server is overwhelmed it can start throwing this exceptions. Using better hardware for the Database solves this problem.

Cheers,
Filip

Hi @filiphr,
SQL Server, by default, creates clustered indexes on primary keys, and Flowable uses GUIDs for primary keys.
Could be possible that the downsides for using GUID as clustering keys [1] have such an impact on performances that then leads to the high resource contention that causes the deadlocks?

Thanks,
marco

[1]
https://stackoverflow.com/questions/11938044/what-are-the-best-practices-for-using-a-guid-as-a-primary-key-specifically-rega
https://blog.novanet.no/careful-with-guid-as-clustered-index/