EJB chain failed to commit the distributed XA transaction if the EJB's are deployed on more than 2 EAP7 servers

Solution Verified - Updated -

Issue

  • If an application is using several different servers, the invocation seems correct but the final commit of the XA transaction will fail with WFTXN0034, JBREM000308, ARJUNA016027, ARJUNA016009, ARJUNA016045. If the applications are all deployed to the 2nd server, then the use-case works fine.
  • Transaction recovery fails and throws an Exception if applications are deployed on different instances:

    3:30:46,524 WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMFAIL: javax.transaction.xa.XAException: WFTXN0034: Failed to acquire a connection for this operation
        at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.getPeerIdentityXA(RemotingRemoteTransactionPeer.java:94)
        at org.wildfly.transaction.client.provider.remoting.RemotingRemoteTransactionPeer.recover(RemotingRemoteTransactionPeer.java:201)
        ...
    Caused by: javax.security.sasl.SaslException: Authentication failed: none of the mechanisms presented by the server (DIGEST-MD5) are supported
        ... more
    

Environment

  • Red Hat JBoss Enterprise Application Platform (EAP)
    • 7.1
    • 7.2
  • Deploying applications on 3 different servers handling an EJB chain (Server 1 -> Server 2 -> Server 3)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In