Support Article

"J2CA0030E XAResources" error in WebSphere logs

SA-11654

Summary



You upgraded from PRPC 6.2 SP1 to Pega 7.1.7 on WebSphere (WAS). You observe the below error in the logs.

Error Messages



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.

Root Cause



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.

Resolution



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

Have a question? Get answers now.

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