While using Xtraction, following error message might be displayed within the user interface:
"An error has occurred during processing. Please try again. If this continues to occur, please contact the application administrator."
This error might occur when an user keeps Xtraction opened for long time. In such cases, looking into the Xtraction logs there might be a SQL error related to the user workstation (search for the workstation's IP address):
Machine User Id : NT AUTHORITY\NETWORK SERVICE
System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 245) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryHasMoreRows(Boolean& moreRows)
at System.Data.SqlClient.SqlDataReader.TryReadInternal(Boolean setTimeout, Boolean& more)
at 0.i.0(GroupComponentStandardSeries , Int32 , IndexedDataTable , ComponentParameterCollection )
at 0.i.0(GroupComponent )
at 0.i.GetDataXml(GroupComponent component)
at SqlDataEngine.Services.Components.GroupComponentService.GetDataXml(GroupComponent component)
at Xtraction.Service.SqlDataEngineService.GetGroupComponentData(GroupComponent component)
at Xtraction.Web.Services.SqlDataEngineWebService.GetGroupComponentData(GroupComponent component)
The reason why the issue is occurring is that the query is sent from Xtraction, reaches the SQL server, is given a transaction ID and then is chosen as a deadlock victim due to other (higher priority) transactions happening simultaneously. This is all happening on the SQL side. Afterward, it returns that error to Xtraction to explain why the query was unable to be processed.
Please run the following against the MDB database after stopping applications that access the MDB:
ALTER DATABASE MDB
SET ALLOW_SNAPSHOT_ISOLATION ON
The solution was provided after consulting with Xtraction support team.
Xtraction support team is not aware of any adverse side effects from making the change.
As always, we recommend testing all changes in a non-PROD environment first.
If you want to know the snapshot isolation state of a SQL database, run the below SQL script:
FROM sys.databases s
Upon running the above script, it will return the results describing the status of the isolation level.
By default MDB database has snapshot_isolation_state set to OFF.
If you are seeing the error message during the Xtraction login, check technical document KB000035731.