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:

  1. Stop JBoss.
  2. Open standalone.xml.
  3. Search for the element <logger category="com.arjuna">.
  4. Under the level element, change the name from WARN to ERROR. This changes the logging level so the warning is functionally hidden.
  5. Start JBoss.

Affected Versions

This article applies to all versions of Appian.

Last Reviewed: February 2018

Related
Recommended