"J2CA0030E XAResources" error in WebSphere logs
You upgraded from PRPC 6.2 SP1 to Pega 7.1.7 on WebSphere (WAS). You observe the below error in the logs.
com.ibm.ws.Transaction.IllegalResourceIn2PCTransactionException: Illegal attempt to enlist multiple 1PC XAResources
Exception saving app entry to database
javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.websphere.csi.CSITransactionRolledbackException: Transaction marked rollbackonly
com.ibm.websphere.csi.CSITransactionRolledbackException: Transaction marked rollbackonly
Steps to Reproduce
There is no specific use case to reproduce this issue.
The root cause of this problem is in a third-party product. WebSphere is configured to use last participant support (LPS) for global transactions. With this setting only 1 of the resources within a global transaction can be 1-phase capable (non XA) driver. Even though this is not a global transaction (there is only 1 resource in the transaction) WebSphere throws this error which indicates that there are multiple resources in the transaction.
This issue is resolved by making the following change to the operating environment:
Disable LPS within WebSphere.
Using the administrative console: select Enterprise Applications > your_ear_file > Last participant support extension, if the box for Accept heuristic hazard is checked, then the application has LPS enabled.
If you use the PegaRULES datasource in global transactions then you need to use a 2-phase capable XA driver.
Published July 21, 2015 - Updated October 8, 2020