As you begin to increase the complexity of your OnBase system, it is common to run into issues and errors reported in the Diagnostics Console. This article reviews “Database Deadlock” errors reported on an IDOL server:
Deadlock detected - Retrying SQL statement:
UPDATE hsi.hspendingitems SET status = ? WHERE objectid = ? AND revisionnum = ? AND filetypenum = ? AND lastmodified = ?
Database deadlocks can happen for several reasons; however, there are two common causes of deadlocks:
- Outdated or corrupt ODBC driver
- Database “Degree of Parallelism”
Outdated ODBC Driver
Most OnBase database issues happen because of an ODBC issue. Hyland has released a statement addressing this trend:
Is your OnBase solution experiencing unexplained database issues? Is your web server having issues with symptoms ranging from request time-outs to login failures to deadlocks to memory allocation issues to hangs or unexplained restarts?
Hyland has seen an increase in the number of support issues regarding these symptoms, many of which have been tracked back to mismatched or outdated ODBC drivers. So if you are seeing these types of issues in your solution, your ODBC drivers are the first thing you should check.
Database Degree of Parallelism
The second issue that causes database deadlocks is the setting “MaxDOP” or Max Degree of Parallelism. This setting is for allowing concurrency with the database. This setting is not currently supported by OnBase, and setting this value incorrectly can result in deadlocks.
To disable this feature, set the MaxDOP value to 1, forcing the use of a single thread. If your database is set in a high availability cluster, this value will need to be set across all instances of this database.