Support Article
Obj-Save failing from 7.1.7 activity on table that is in 7.1.6
SA-10384
Summary
User is having an activity that does Obj-Open of a table (class) in Pega 7.1.7 which is mapped to table which is present in an external database.
The record is updated and an Obj-Save and commit is issued. With this activity there is an update being done to the pr_sys_locks table within the PegaRULES database and an update to the external database table. When you issue the commit it is successfully committing to the external database but it is failing committing to the PegaRULES database with an error message. The datasource for PegaRULES is defined within your WebLogic application server and the database connection to the external database is defined in a Database rule within Pega.
Error Messages
There was a problem committing a transaction on database pegadata: code 0 SQLState: <none> Message: The transaction is no longer active - status: 'Commited'
Steps to Reproduce
1. Create a class in Pega 7.1.7 environment.
2. Map the class to a table that is present in the schema of an external database.
3. Do an obj-open on that table and then Obj-Save on the same record.
Root Cause
The root cause of this problem is defect or misconfiguration in the operating environment.
The PegaRULES datasource was configured to support global transactions which is a way that WebLogic provides to support distributed transactions without the use of an XA dirver.
With this option the commit of the save to the external database seems to be confusing WebLogic.
Resolution
This issue is resolved by making the following change to the operating environment:
When not using an XA driver and user does not require a global transaction; uncheck the "Supports Global Transactions" checkbox in the jdbc/PegaRULES datasource to resolve this issue.
Published March 10, 2016 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.