Problem: I can not set a client side statement timeout using Mybatis
In some contexts it is useful to set a client side statement timeout. Example:
The process engine wants to update a row which is locked for a long time by a concurrent transaction which does not release the lock.
A customer (using postgresql) had the situation where an application server crashes with open in-flight transactions. These transactions will hold on to the locks until they are recovered. While those locks are held, concurrent transactions block on these locks potentially indefinitely.
AT:
- As a user, I can configure a client side statement timeout for modifications (update / delete) which allows me to set the maximum time I am willing to wait for an update / delete to succeed.
- The value can not be changed at runtime