Tx XA problems with Camunda 7.2 and Oracle 12c

354 views
Skip to first unread message

Simon Zambrovski

unread,
Feb 26, 2015, 7:22:19 AM2/26/15
to camunda...@googlegroups.com
Hi guys,

I'm currently migrating from Camunda Fox to Camunda BPM 7.2. It works as described and I'm fine with it. In the same time I'm forced to migrate from Oracle 11 to Oracle 12c. In doing so, I'm trying to use JBoss EAP 6.3 running 12.1 Oracle DB DRiver in XA Transaction mode.

I'm experincing problems during JBoss Startup - actually during initialization of the process application.

Any ideas?

12:56:35,363 WARN  [com.arjuna.ats.jta] (ServerService Thread Pool -- 57) ARJUNA016039: onePhaseCommit on < formatId=131077, gtrid_length=29, bqual_length=36, tx_uid=0:ffff0a5fdf12:77ec5d4e:54ef09a8:f, node_name=1, branch_uid=0:ffff0a5fdf12

:77ec5d4e:54ef09a8:12, subordinatenodename=null, eis_name=java:/DS.bpe > (XAResourceWrapperImpl@10d812c[xaResource=org.jboss.jca.adapters.jdbc.xa.XAManagedConnection@1cbba43 pad=false overrideRmValue=false productName=Oracle prod

uctVersion=Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Advanced Analytics, Real Application Testing and Unified Auditing options jndiName=java:/DS.bpe]) failed with exception XAException.XAER_RMERR: oracle.jdbc.xa.OracleXAException

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

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

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

        at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.commit(XAResourceWrapperImpl.java:105)

        at com.arjuna.ats.internal.jta.resources.arjunacore.XAResourceRecord.topLevelOnePhaseCommit(XAResourceRecord.java:682)

        at com.arjuna.ats.arjuna.coordinator.BasicAction.onePhaseCommit(BasicAction.java:2270)

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

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

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

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

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

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

        at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.doCommit(JtaTransactionInterceptor.java:122) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:74) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:82) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:125) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.repository.ProcessApplicationDeploymentBuilderImpl.deploy(ProcessApplicationDeploymentBuilderImpl.java:51) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$3.run(ProcessApplicationDeploymentService.java:167)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$3.run(ProcessApplicationDeploymentService.java:164)

        at org.camunda.bpm.container.impl.jboss.util.Tccl.runWithTccl(Tccl.java:53)

        at org.camunda.bpm.container.impl.jboss.util.Tccl.runUnderClassloader(Tccl.java:45)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService.performDeployment(ProcessApplicationDeploymentService.java:164)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$1.run(ProcessApplicationDeploymentService.java:87)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_45]

        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]

        at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]

        at org.jboss.threads.JBossThread.run(JBossThread.java:122)

Caused by: java.sql.SQLException: ORA-14911: XA transactions are not supported by Transaction Guard.

 

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450)

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392)

        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385)

        at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:938)

        at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655)

        at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)

        at oracle.jdbc.driver.T4CTTIOtxen.doOTXEN(T4CTTIOtxen.java:166)

        at oracle.jdbc.driver.T4CXAResource.doTransaction(T4CXAResource.java:746)

        at oracle.jdbc.driver.T4CXAResource.doCommit(T4CXAResource.java:420)

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

        ... 28 more

 

12:56:35,611 WARN  [com.arjuna.ats.jta] (ServerService Thread Pool -- 57) ARJUNA016029: SynchronizationImple.afterCompletion - failed for org.camunda.bpm.engine.impl.cfg.jta.JtaTransactionContext$TransactionStateSynchronization@dc087 with e

xception: java.lang.NullPointerException

        at org.camunda.bpm.engine.impl.cmd.UnregisterDeploymentCmd.execute(UnregisterDeploymentCmd.java:39) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.persistence.deploy.DeploymentFailListener.execute(DeploymentFailListener.java:35) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.cfg.jta.JtaTransactionContext$TransactionStateSynchronization.afterCompletion(JtaTransactionContext.java:103) [camunda-engine-7.2.0.jar:7.2.0]

        at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.afterCompletion(SynchronizationImple.java:96)

        at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.afterCompletion(TwoPhaseCoordinator.java:402)

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

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

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

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

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

        at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.doCommit(JtaTransactionInterceptor.java:122) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:74) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:82) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:125) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.engine.impl.repository.ProcessApplicationDeploymentBuilderImpl.deploy(ProcessApplicationDeploymentBuilderImpl.java:51) [camunda-engine-7.2.0.jar:7.2.0]

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$3.run(ProcessApplicationDeploymentService.java:167)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$3.run(ProcessApplicationDeploymentService.java:164)

        at org.camunda.bpm.container.impl.jboss.util.Tccl.runWithTccl(Tccl.java:53)

        at org.camunda.bpm.container.impl.jboss.util.Tccl.runUnderClassloader(Tccl.java:45)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService.performDeployment(ProcessApplicationDeploymentService.java:164)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$1.run(ProcessApplicationDeploymentService.java:87)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_45]

        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]

        at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]

        at org.jboss.threads.JBossThread.run(JBossThread.java:122)

 

12:56:35,763 WARN  [com.arjuna.ats.arjuna] (ServerService Thread Pool -- 57) ARJUNA012127: TwoPhaseCoordinator.afterCompletion - returned failure for SynchronizationImple< 0:ffff0a5fdf12:77ec5d4e:54ef09a8:25, org.camunda.bpm.engine.impl.cfg

.jta.JtaTransactionContext$TransactionStateSynchronization@dc087 >

12:56:35,775 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 57) MSC000001: Failed to start service org.camunda.bpm.platform.process-application-module."process-web-3.0.0-SNAPSHOT.war".DEPLOY.26007f1e-5f33-4c59-

b877-1320a163bc90: org.jboss.msc.service.StartException in service org.camunda.bpm.platform.process-application-module."process-web-3.0.0-SNAPSHOT.war".DEPLOY.26007f1e-5f33-4c59-b877-1320a163bc90: Could not register process appl

ication with shared process engine

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService.performDeployment(ProcessApplicationDeploymentService.java:178)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$1.run(ProcessApplicationDeploymentService.java:87)

        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_45]

        at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]

        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]

        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]

        at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]

        at org.jboss.threads.JBossThread.run(JBossThread.java:122)

Caused by: org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor$TransactionException: Unable to commit transaction

        at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.doCommit(JtaTransactionInterceptor.java:128)

        at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.execute(JtaTransactionInterceptor.java:74)

        at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)

        at org.camunda.bpm.engine.impl.RepositoryServiceImpl.deploy(RepositoryServiceImpl.java:82)

        at org.camunda.bpm.engine.impl.repository.DeploymentBuilderImpl.deploy(DeploymentBuilderImpl.java:125)

        at org.camunda.bpm.engine.impl.repository.ProcessApplicationDeploymentBuilderImpl.deploy(ProcessApplicationDeploymentBuilderImpl.java:51)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$3.run(ProcessApplicationDeploymentService.java:167)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService$3.run(ProcessApplicationDeploymentService.java:164)

        at org.camunda.bpm.container.impl.jboss.util.Tccl.runWithTccl(Tccl.java:53)

        at org.camunda.bpm.container.impl.jboss.util.Tccl.runUnderClassloader(Tccl.java:45)

        at org.camunda.bpm.container.impl.jboss.service.ProcessApplicationDeploymentService.performDeployment(ProcessApplicationDeploymentService.java:164)

        ... 7 more

Caused by: javax.transaction.RollbackException: ARJUNA016053: Could not commit transaction.

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

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

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

        at org.camunda.bpm.engine.impl.interceptor.JtaTransactionInterceptor.doCommit(JtaTransactionInterceptor.java:122)

        ... 17 more



--
Simon Zambrovski

Dipl.-Ing.- Inf.
E-Mail: si...@zambrovski.org
Tel.: +49 176 16169010
Internet: http://simon.zambrovski.org/

Ich benutze GnuPG und EnigMail, um die E-Mail Kommunikation abzusichern.
Mein Schlüssel ist 0x3B03A36B. Fragen Sie mich gerne danach.
signature.asc

Christian Lipphardt

unread,
Feb 26, 2015, 10:52:57 AM2/26/15
to camunda...@googlegroups.com
Hi Simon,

At a first glance, the engine is not responsible for this. It looks like the Oracle 12c driver
Are you able to test this using the Oracle 11 Driver? We have some testsuite issues with the Oracle 12 DB Driver.
--
You received this message because you are subscribed to the Google Groups "camunda BPM platform contributors" group.
To unsubscribe from this group and stop receiving emails from it, send an email to camunda-bpm-d...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/camunda-bpm-dev/54EF0FF6.5040008%40zambrovski.org.
For more options, visit https://groups.google.com/d/optout.

signature.asc

Daniel Meyer

unread,
Feb 26, 2015, 11:51:58 AM2/26/15
to camunda...@googlegroups.com
Hi Simon,

note that Oracle 12c is currently not officially supported for camunda
<= 7.2.
We are working on support for camunda 7.3.

Cheers,
Daniel

Frank Langelage

unread,
Feb 28, 2015, 7:18:11 AM2/28/15
to camunda...@googlegroups.com
Transaction Guard is a new and optional feature of Oracle 12c server.
See http://www.oracle.com/technetwork/database/database-cloud/private/transaction-guard-wp-12c-1966209.pdf.
I doubt that this will work with JBoss / Wildfly JTA. But I have no experience with that feature at all.

But using a "standard" connect to Oracle, without using the Transaction Guard feature, startup of Camunda should be no problem.

Daniel Meyer

unread,
Feb 28, 2015, 7:58:13 AM2/28/15
to camunda...@googlegroups.com
Thanks, Frank, for this insight!

Daniel

Simon Zambrovski

unread,
Feb 28, 2015, 9:16:10 AM2/28/15
to camunda...@googlegroups.com
Thanks.
What do you mean by a standard connect? I use a standard XA connection.

Btw. We switched back to oracle 11. I think the problem is JBoss EAP 6.2 tx manager and oracle 12c...

Thanks

Simon Zambrovski
Dipl.-Ing.-Inf.

Mobile: +49 176 1616 9010
E-Mail: si...@zambrovski.org
Internet: http://simon.zambrovski.org/

> Am 28.02.2015 um 13:58 schrieb Daniel Meyer <daniel...@camunda.com>:
>
> Thanks, Frank, for this insight!
>
> Daniel
>
> --
> You received this message because you are subscribed to the Google Groups "camunda BPM platform contributors" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to camunda-bpm-d...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/camunda-bpm-dev/54F1BB60.7060008%40camunda.com.

Frank Langelage

unread,
Feb 28, 2015, 2:08:36 PM2/28/15
to camunda...@googlegroups.com
Simon,
see page 9 of the mentioned PDF. You can use Transaction Guard feature only with Local Transactions, usage of XA-Transactions is excluded.
From further reading this document, a new service name is created to be used for connections based on transaction guard.
I never tried this and do not remember to have seen this. I don't know if these tasks have to be done manually after base install or if you where asked during base install if you want to use this new feature.
And I not want to mess up my installation, I'm happy it's running fine and reliable. :-)

But I'd expect you have at least to services / SERVICE_NAMES.
How does your tnsnames.ora look like?
And how is the database access configured in your JBoss configuration (tns names alias or service name syntax)?

Regards, Frank
Reply all
Reply to author
Forward
0 new messages