When two simultaneous writes to the same database table occurs, a deadlock may occur with the following message.
2020-09-08 13:15:03.004 INFO - RefreshDataStore.DefaultExtendedDataSource.reconnectNativeConnection - Reconnecting 1 clientConfig.xml because of java.sql.SQLRecoverableException: org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544336. Deadlock
- If debug is enabled we should be able see which statement caused the problem. See also How to help us to support you.
- Our software normally autorecovers from this situation. It will attempt up to five times repeatedly to complete the write action that failed the first time. This is a feature.
- The usual cause of this is a slow disk where the firebird datastore is located or some network slowness (latency) causing the simultaneous writes to lock the database table longer.
- There are various other reasons why recovery exceptions may occur and we prefer to always log the reason because then we can decide it is a problem or not.
- If the autorecovery fails, a stacktrace appears indicating which write action has failed. If a stacktrace occurs even with the latest patch.jar, a bug report can be sent to Delft-FEWS Support.