Troubleshooting timeouts and errors after attempting to add a file or save some data
Who is this article for?
Users who encounter repeated timeouts on save.
IT Administrator permissions are required to resolve the issue.
This article describes a situation where database autogrow settings can cause performance problems in the application, preventing users from saving records or adding attachments.
Symptoms
The behaviour reported is frequent timeouts and errors affecting all users. While it can occur with any function in the system, it's much more likely to occur with file uploads, or when saving records. The system can halt for around 30-45 seconds and then crash or throw errors until restarted.
At the client, users see errors like:
An error occurred during the Commit File workflow
The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
Execution Timeout Expired: The timeout period elapsed prior to completion of the operation or the server is not responding.
IOException Message: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
Each of these errors can appear in other situations. What marks this one out is that all users are affected, and typical remedial actions like restarting the app pools or attempting access from a different network are unsuccessful.
Diagnosis
Diagnosing this from within the client application is difficult, because the underlying error messages are not presented to the user.
In the main service log file (Service\PentanaTngService.log) you will see a very high volume of similar messages:
SqlException - Message: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
As this is a SqlException the next place to look is the SQL Server log. The file at X:\Program Files\Microsoft SQL Server\MSSQLxx.instancename\MSSQL\Log\ERRORLOG shows:
Autogrow of file 'Vision' in database 'PentanaPRD' was cancelled by user or timed out after n milliseconds. Use ALTER DATABASE to set a smaller FILEGROWTH value for this file or to explicitly set a new file size.
Cause
In early releases of Ideagen Internal Audit (Aura), the starter database (vision_shell) used SQL Server’s default autogrowth settings, which increase file size by 10% when full. While acceptable for small databases, this becomes problematic as size grows:
- At 100 MB, 10% growth = 10 MB (fast).
- At 10 GB, 10% growth = 1 GB (slower).
- At 100 GB, 10% growth = 10 GB (very slow).
Solution
The recommended fix is to change autogrow settings for both data and log files. Instead of percentage-based growth (e.g., 10%), use a fixed size, such as 500 MB.
This reduces the risk of long waits for large disk allocations.
Alternatively, the DBA may choose to manually grow the database file as part of maintenance.
Post-resolution
After the database configuration is changed, users should validate any documents that were uploaded during the period of the incident. Ensure that they open correctly, and be prepared to re-upload if not.