KB-1010 "Could not find stored procedure 'master..xp_sqljdbc_xa_recover'" error thrown intermittently in application server logs
Symptoms
During JBoss startup, the following warning is shown (after startup this warning will be shown intermittently):
21:39:25,801 WARN [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR: javax.transaction.xa.XAException: com.microsoft.sqlserver.jdbc.SQLServerException: Could not find stored procedure 'master..xp_sqljdbc_xa_recover'.
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.DTC_XA_Interface(SQLServerXAResource.java:647)
at com.microsoft.sqlserver.jdbc.SQLServerXAResource.recover(SQLServerXAResource.java:728)
at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.recover(XAManagedConnection.java:362)
at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.recover(XAResourceWrapperImpl.java:185)
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoveryFirstPass(XARecoveryModule.java:541) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkFirstPass(XARecoveryModule.java:181) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:747) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:375) [jbossjts-jacorb-4.17.29.Final-redhat-1.jar:4.17.29.Final-redhat-1]
Cause
This warning arises because Microsoft SQL Server is configured as an XA data source in appian-ds.xml, but SQL Server does not come configured for XA transactions by default. This warning does not prevent Appian from working with SQL Server.
For more information, refer to Redhat's tech note on the issue.
Action
If desired, work with a DBA or refer to Microsoft documentation for more information on XA transactions and configuration instructions.
Workaround
As an alternative to configuring SQL Server for XA transactions, follow these steps to hide the warning message instead:
- Stop JBoss.
- Open standalone.xml.
- Search for the element
<logger category="com.arjuna">. - Under the
levelelement, change the name fromWARNtoERROR. This changes the logging level so the warning is functionally hidden. - Start JBoss.
Affected Versions
This article applies to all versions of Appian.
Last Reviewed: February 2018
