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.