Using ThingWorx Logs to Monitor Database Performance
ThingWorx logs should be monitored for any database issues. The following errors or warnings indicate a significant database connectivity issue and should be investigated:
Examples of log errors or warnings
Apparent deadlock exceptions
com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@635d735b -- APPARENT DEADLOCK!!! Creating emergency threads for unassigned pending tasks!
The error indicates that the connections in the connection pool are not returned quickly enough to the solution. It rarely indicates an actual deadlock.
Investigation—Isolate the slow-running SQL.
[2,006] unknown errors
Wrapped java.lang.RuntimeException: com.thingworx.common.exceptions.DataAccessException: [2,006] Unknown error occurred. Contact the administrator if this reoccurs.
The error indicates a basic connectivity exception when the database is suddenly disconnected.
Investigation—Review the database and solution logs to find the root cause of the disconnection issues.
[1,018] data store errors
[1,018] Data store unknown error: [Error occurred while accessing the model provider.]]
The error indicates that an individual statement generated an exception in the database engine. For example, while inserting a duplicate primary key in the table.
Investigation—Review the database and solution logs to find the root cause of the statement failure.
It is recommended that you review application logs daily for database errors. Analyze the errors or warnings. If you select the Enable Stack Tracing option in LoggingSubsystem, you can see the corresponding script or platform API that generated the failed database transactions. These failed transaction return relevant error codes.
Was this helpful?