Troubleshooting and known issues
Severe error with single instancing
Single instancing requires a database index to be created manually (see Database index for single instancing). If the index is not available, a log message with level SEVERE (with id IMA9_INV_01020) is written to the ImageMaster.log.
Collation settings and deployment failure
To avoid a deployment failure, make sure to use the fully approved collation “Latin1_General_CS_AS”.
For an unsupported combination of database settings (involving the collation) and application server settings (e.g. collation “SQL_Latin1_General_CP1_CS_AS” with application server JBoss or WildFly) it was observed that the deployment failed with the following log messages, which eventually imply a deadlock on the database level:
2016-11-30 07:40:23,370 INFO [org.wildfly.extension.undertow] (ServerService Thread Pool -- 181) WFLYUT0021: Registered web context: /imageMaster
2016-11-30 07:40:30,800 WARN [org.jboss.jca.core.connectionmanager.pool.strategy.OnePool] (ServerService Thread Pool -- 65) IJ000407: No lazy enlistment available for imadb
2016-11-30 07:45:37,052 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a8c80d:28fa4515:583e7411:14 in state RUN
2016-11-30 07:45:37,052 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a8c80d:28fa4515:583e7411:3f in state RUN
2016-11-30 07:45:37,052 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a8c80d:28fa4515:583e7411:376 in state RUN
2016-11-30 07:45:37,064 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffffc0a8c80d:28fa4515:583e7411:14
2016-11-30 07:45:37,077 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffffc0a8c80d:28fa4515:583e7411:3f
2016-11-30 07:45:37,090 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0) ARJUNA012121: TransactionReaper::doCancellations worker Thread[Transaction Reaper Worker 0,5,main] successfully canceled TX 0:ffffc0a8c80d:28fa4515:583e7411:376
2016-11-30 07:45:37,115 ERROR [org.jboss.as.ejb3.invocation] (ServerService Thread Pool -- 65) WFLYEJB0034: EJB Invocation failed on component TransactionBean for method public abstract java.lang.Object com.tsystems.ima.core.ILocalTransactionBean.callWithoutBeanContextTxNew(com.tsystems.ima.core.ILocalTransactionBean$ProcWithResource): javax.ejb.EJBException: com.tsystems.ima.domain.business.InternalException: IE-00001: illegal state: IJ031013: Interrupted attempting lock: org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@5336b00a
Irrelevant warning – maximum index key length
With MS SQL Server the execution of the SQL script, which prepares the ImageMaster database model, can cause a warning like the following that can be ignored:
Warning! The maximum key length for a nonclustered index is 1700 bytes. The index 'IDX_ARCH_LOGICAL_F_PROP_VAL' has maximum length of 2160 bytes.
For some combination of large values, the insert/update operation will fail.
Troubleshooting XA transactions capability for SQL Server 2019
The following error in the ImageMaster logs indicates an issue with the setup of the SQL Server JDBC XA transactions component:
Could not load the DLL SQLJDBC_XA.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found).
ImageMaster requires a specific SQL Server component that provides JDBC XA transaction capability, which is installed by executing a stored procedure. In some cases it was observed that executing the stored procedure is not sufficient and the above error still occurs. In such a scenario, copy the required driver file into the expected location according to SQL Server – enabling the distributed transaction components by copying the DLL.
Also consider this tip:
When you install a new version of the JDBC driver, you should also use sqljdbc_xa.dll from the new version to upgrade sqljdbc_xa.dll on the database server [SQL Server XA].