When Tuxedo JCA Adapter Is Deployed Against IBM WebSphere Application Server (WAS) If Call To Tuxedo Server Fails With TPFAIL Error Then WAS Can't Properly Rollback On Its Side And Raised javax.transaction.xa.XAException With "XATransaction E J2CA0027E" (Doc ID 1956521.1)

Last updated on NOVEMBER 04, 2016

Applies to:

Tuxedo JCA Adapter - Version 11.1.1.2.1 and later
Information in this document applies to any platform.

Goal

Why when WAS invokes a Tuxedo Services published via Tuxedo JCA Adapter 11gR1PS1 (11.1.1.2.0) fails with TPFAIL WAS can't properly rollback as it raised "javax.transaction.xa.XAException"?

Here after the stack in WAS log if you enable WAS traces:

[12/1/14 9:56:37:656 CET] 0000001f TuxedoLogger  1 TuxedoJCAResource end > ({XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),    data(0000014a0510d5bf000000010000000100236c545dd20ba9530ee03624c1051e123595850000014a0510d5bf000000010000000100236c545dd20ba9530ee03624c1051e12359585000000010000000000000000000000000001)}, 67108864)com.oracle.tuxedo.adapter.tdom.TuxedoJCAResource@2810281
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  2 TuxedoJCAResource end _key = 139
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  2 TuxedoJCAResource end before _started.size() = 0
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  2 TuxedoJCAResource end after length = 0
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  1 TuxedoManagedConnection xaEndCalled > ()
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  1 TuxedoManagedConnection xaEndCalled < return(10)
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  1 TuxedoJCAConnection xaEndCalled > () com.oracle.tuxedo.adapter.cci.TuxedoJCAConnection@65fe65fe
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  1 TDomainContext xaEndCalled > ()
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  1 TuxedoConnectionImpl xaEndCalled > ()
[12/1/14 9:56:37:657 CET] 0000001f TuxedoLogger  1 TuxedoConnectionImpl xaEndCalled < (10)
[12/1/14 9:56:37:658 CET] 0000001f TuxedoLogger  1 TDomainContext xaEndCalled < ()
[12/1/14 9:56:37:658 CET] 0000001f TuxedoLogger  1 TuxedoJCAConnection xaEndCalled < (10)
[12/1/14 9:56:37:658 CET] 0000001f TuxedoLogger  2 TuxedoJCAResource end <* return(10) XAException.XAo_RBROLLBACK
[12/1/14 9:56:37:658 CET] 0000001f XATransaction 3   processXAException: Non-zero return code from XAResource. Return code is:
                                 XA_RBROLLBACK
[12/1/14 9:56:37:707 CET] 0000001f FfdcProvider  I com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on /home/appuser/IBM/WebSphere/AppServer/profiles/AppSrv01/logs/ffdc/server1_57105710_14.12.01_09.56.37.6598965626965761494367.txt com.ibm.ejs.j2c.XATransactionWrapper.end 417
[12/1/14 9:56:37:709 CET] 0000001f XATransaction E   J2CA0027E: An exception occurred while invoking end on an XA Resource Adapter from DataSource tux/TuxedoConnectionFactory, within transaction ID {XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),    data(0000014a0510d5bf000000010000000100236c545dd20ba9530ee03624c1051e123595850000014a0510d5bf000000010000000100236c545dd20ba9530ee03624c1051e12359585000000010000000000000000000000000001)} : javax.transaction.xa.XAException: XA_RBROLLBACK: Transaction became rollback only.({XidImpl: formatId(57415344), gtrid_length(36), bqual_length(54),    data(0000014a0510d5bf000000010000000100236c545dd20ba9530ee03624c1051e123595850000014a0510d5bf000000010000000100236c545dd20ba9530ee03624c1051e12359585000000010000000000000000000000000001)})
        at com.oracle.tuxedo.adapter.tdom.TuxedoJCAResource.end(TuxedoJCAResource.java:656)
        at com.ibm.ejs.j2c.XATransactionWrapper.end(XATransactionWrapper.java:603)
        at com.ibm.ws.Transaction.JTA.JTAResourceBase.end(JTAResourceBase.java:240)
        at com.ibm.tx.jta.RegisteredResources.sendEnd(RegisteredResources.java:1106)
        at com.ibm.tx.jta.RegisteredResources.distributeEnd(RegisteredResources.java:1080)
        at com.ibm.tx.jta.TransactionImpl.internalRollback(TransactionImpl.java:1942)
        at com.ibm.tx.jta.TransactionImpl.internalRollback(TransactionImpl.java:1907)
        at com.ibm.tx.jta.TransactionImpl.rollback(TransactionImpl.java:1309)
        at com.ibm.ws.tx.jta.TransactionImpl.rollback(TransactionImpl.java:3654)
        at com.ibm.ws.tx.jta.TranManagerImpl.rollback(TranManagerImpl.java:417)
        at com.ibm.tx.jta.TranManagerSet.rollback(TranManagerSet.java:186)
        at com.ibm.ws.tx.jta.UserTransactionImpl.rollback(UserTransactionImpl.java:398)
        at com.oracle.tuxedo.jca.sample.security.SecurityClient.tearDown(SecurityClient.java:183)
        at com.oracle.tuxedo.jca.sample.security.SecurityClient.start(SecurityClient.java:68)
        at com.oracle.tuxedo.jca.sample.security.SecurityServlet.service(SecurityServlet.java:49)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1583)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:870)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:475)
        at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:175)
        at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:341)
        at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java:709)
        at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3799)
        at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
        at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:930)
        at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1583)
        at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:182)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:455)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:384)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:272)
        at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
        at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
        at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
        at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
        at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
        at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
        at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
        at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
        at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)

  

Solution

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms