Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

JTAException during the start of a global transaction

SA-9940

Summary



Activity throws exceptions when performing a rollback of a transaction which is updating data in two different databases.

Error Messages



com.pega.pegarules.pub.database.JTAException: Exception while attempting to start global transaction: code: <none> SQLState: No Global Transaction exists to rollback. Message: <none>
From: (BD87D60DFEC34A72069041DA8C9C0EF69)
at com.pega.pegarules.data.internal.access.ThreadConnectionStoreImpl.endTransaction(ThreadConnectionStoreImpl.java:226)
at com.pega.pegarules.data.internal.access.ThreadConnectionStoreImpl.rollback(ThreadConnectionStoreImpl.java:368)
at com.pega.pegarules.data.internal.access.DatabaseImpl.attemptToProcessUpdates(DatabaseImpl.java:2379)
at com.pega.pegarules.data.internal.access.DatabaseImpl.processUpdates(DatabaseImpl.java:2165)
at com.pega.pegarules.data.internal.access.Saver.save(Saver.java:643)
at com.pega.pegarules.data.internal.access.DatabaseImpl.save(DatabaseImpl.java:4826)
at com.pegarules.generated.activity.ra_action_processlinkattachmentinstances_1ba0be43061c9bdf814d8d0f82176394.step2_16_circum0(ra_action_processlinkattachmentinstances_1ba0be43061c9bdf814d8d0f82176394.java:1954)
at com.pegarules.generated.activity.ra_action_processlinkattachmentinstances_1ba0be43061c
Caused by:
java.lang.IllegalStateException: No Global Transaction exists to rollback.
at com.ibm.ws.tx.jta.UserTransactionImpl.rollback(UserTransactionImpl.java:341)
at com.ibm.ejs.container.UserTransactionWrapper.rollback(UserTransactionWrapper.java:426)
at com.pega.pegarules.data.internal.access.ThreadConnectionStoreImpl.endTransaction(ThreadConnectionStoreImpl.java:224)
... 86 more


Steps to Reproduce



Not Applicable

Root Cause



If two different databases are required to be saved as a single transaction where both are committed successfully or rolled back, then use an XA (global) driver which allows transactions to span multiple databases.

Resolution



This issue is resolved by making the following change to the operating environment:  

Change the JDBC datasource to use an XA driver.

Published June 12, 2015 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice
Contact us