Specify settings for container managed transactions in Weblogic - LockGoneExceptions are being incurred?
The client is consistently incurring LockGoneExceptions in their production logs in a particular geographic installation.
They have a global instance of their codebase installed in one location and the same codebase installed for another "location specific" instance. Both are running on Weblogic, but with slightly different setups. In looking at some other PDN articles it seems that a LockGoneException can be incurred if you are using container managed transactions and an Obj-Save is performed with a "WriteNow" value selected.
In their global environment they do NOT incur the LockGoneExceptions, in the Russia environment they do...even though the exact same procedures are performed and the codebase is the same.
We think it is possible that the Weblogic settings may not be consistent between the two environments. Does anyone know how you specify container managed transaction for PRPC in Weblogic? Are there any specific settings in PRPC we need to look at?
Client is on Pega 7.1.8...below is a sample exception with sensitive info scrubbed:
2017-05-03 13:18:26,521 [fault (self-tuning)'] [TABTHREAD2] [TEST:10.22.01] ( internal.access.DatabaseImpl) ERROR TEST.ru.TEST.com|moscbcarappp1.ru.test.com TEST@TEST.com - Encountered problem when performing a Commit
com.pega.pegarules.pub.database.LockGoneException: Save, Delete or Commit has failed because lock "DB-FW-CAR-ONB-WORK GKYC-1337" is not held
Are you using MDB as the entry point of all these processing? If yes, then the MDB has a flag useCMT or not. You should also check if the XA jdbc driver is used if CMT is used and there are more than 2 resources are involved (e.g., messages and datasources). Often times CMT is used in MDB but the service activity is trying to manage transaction (similar to what you have mentioned in your example with Obj-Save).