Article Details
Id:16278
Product:finPOWER Connect
Type:NEW
Version:3.02.01
Opened:21/08/2019
Closed:22/08/2019
Released:12/09/2019
Job: J022801

Database Deadlocks; updated to better handle some scenarios where the database becomes deadlocked

Occasionally a database deadlock occurs and then sometimes finPOWER Connect unexpectedly quits.

An example of a database deadlock is where one user has updated record A and is trying to update record B, but another user has already updated record B and then wants to update record A - this is a no win situation and SQL Server will fail one user and allow the other to finish.

We have tested various scenarios and updated some parts of finPOWER Connect to better handle this scenario. In particular, there were several places where a deadlock error caused a database transaction rollback but later code tried to commit the database transaction.

The following Database layer functions no longer use a Database Transaction:

  • RefreshTimestampUpdate
  • RegistrySetString

In addition, functions to generate Next Ids for Accounts, Account Applications, Clients, Security Statements and Workflow did not handle failures correctly.