XA Commit Failure XAER_RMFAIL

Version 1

    I am using JBoss EAP 7.0.6 with using Oracele 12c XA Driver, also applied the XA patch as below in order to solve XA problem.  However, JBoss still throw XA Exception during commit, that made Materialized view log cannot commit.  Any additional configuration(s) are required to solve it?  Thanks.

     

    XA SQL Patch

    GRANT SELECT ON sys.dba_pending_transactions TO public;

    GRANT SELECT ON sys.pending_trans$ TO public;

    GRANT SELECT ON sys.dba_2pc_pending TO public;

    GRANT EXECUTE ON sys.dbms_xa TO public;

    GRANT FORCE ANY TRANSACTION TO public;

    GRANT EXECUTE ON sys.dbms_system TO public;

     

    Exception

    15:17:46,856 INFO  [stdout] (AsyncAppender-Dispatcher-Thread-91)  (p: default-threadpool; w: Idle) 2017-06-14 15:17:46,855 INFO  dc  <HeapUsage> at 2017-06-14 15:17:46.855 init: 2147483648; committed: 1959264256; used: 374615432 (in bytes)

    15:17:46,856 INFO  [stdout] (AsyncAppender-Dispatcher-Thread-91)  (p: default-threadpool; w: Idle) 2017-06-14 15:17:46,855 INFO  dc  <NonHeapUsage> at 2017-06-14 15:17:46.855 init: 2555904; committed: 218808320; used: 203917744 (in bytes)

    15:17:46,901 WARN  [com.arjuna.ats.jta] (p: default-threadpool; w: Idle) ARJUNA016036: commit on < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffffc0a8682c:-3db13f46:5940e19b:408, node_name=1, branch_uid=0:ffffc0a8682c:-3db13f46:5940e19b:414, subordinatenodename=null, eis_name=unknown eis name > (org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@3e7ee626) failed with exception $XAException.XAER_RMFAIL: oracle.jdbc.xa.OracleXAException

            at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1218)

            at oracle.jdbc.xa.client.OracleXAResource.doCommit(OracleXAResource.java:637)

            at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:583)

            at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.commit(XAManagedConnection.java:338)

            at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelCommit(XAResourceRecord.java:477)

            at com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2869)

            at com.arjuna.ats.arjuna.coordinator.BasicAction.doCommit(BasicAction.java:2785)

            at com.arjuna.ats.arjuna.coordinator.BasicAction.phase2Commit(BasicAction.java:1853)

            at com.arjuna.ats.arjuna.coordinator.BasicAction.End(BasicAction.java:1527)

            at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.end(TwoPhaseCoordinator.java:96)

            at com.arjuna.ats.arjuna.AtomicAction.commit(AtomicAction.java:162)

            at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1200)

            at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:126)

            at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:89)

            at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:91)

            at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:279)

            at org.jboss.as.ejb3.tx.CMTTxInterceptor.requiresNew(CMTTxInterceptor.java:344)

            at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:241)

            at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

            at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:80)

            at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:340)

            at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)