Fixes are available
APAR status
Closed as program error.
Error description
Executing the java script code "TWProcessInstanceScriptable.abort()" within a service causes a database lock-wait. Depending on the configured lock-timeout, this lock-wait is kept forever, or it is released after the timeout occurs. In both cases, the process instance to be aborted is not terminated. using the API REST send a message to the UCA named "uca" with event identifier: "67a86b29-3b4d-4edd-8a23-c602bb80efb5" and indicating as parameter the active instance we want to abort. 16:10:34:793 -> Engine locks LSW_BPD_INSTANCE by using select for update with RS 16:10:35:404 -> engine wants to save BPD instance execution contexts: com.lombardisoftware.bpd.runtime.engine.BPDInstanceDAO save save(), bpdExecutionContext=<bpd-execution-context instanceId="BpmnInstanceId(553)"> 16:10:35.407 -> engine tries UPDATE on LSW_BPD_INSTANCE but that is locked by the lock created by select for update, which is shown by watching the DB locks [1/22/14 16:10:44:152 GMT] 0000023e wle E CWLLG0326E: A deliverException has occurred. com.lombardisoftware.client.delegate. BusinessDelegateException: PreparedStatementCallback; bad SQL grammar [update LSW_BPD_INSTANCE set INSTANCE_NAME = ?,CACHED_BPD_VERSION_ID = ?,CREATE_DATETIME = ?,DUE_DATE = ?,LAST_MODIFIED_DATETIME = ?,SAVE_SEQ = ?,EXECUTION_STATUS = ?,ERROR = ?,ERROR_STACK_TRACE = ?, SHAREPOINT_SITE_URL = ?,AT_RISK_DATE = ?,ATTACHMENT_STORE = ?, CLOSE_DATETIME = ?,SNAPSHOT_ID = ?,GROUP_ID = ?,BPD_REF = ?,TIP = ? where BPD_INSTANCE_ID = ?]; nested exception is java.sql. SQLSyntaxErrorException: ORA-02049: timeout: distributed transaction waiting for lock
Local fix
n/a
Problem summary
When a BPD process instance is to be terminated via a "TWProcessInstanceScriptable.abort()" call, and this call is triggered from within a JavaScript activity in an external service flow, then the executing thread hangs, and a database lock-wait occurs. Depending on the configured lock-timeout, this lock-wait is kept forever, or it is released after the timeout occurs. In both cases, the process instance to be aborted is not terminated.
Problem conclusion
The internal transaction handling does not work correctly. This handling has been changed so that there is always a transaction on this processing path. This change prevents the lock-wait, and the BPD is terminated as expected. FIX AVAILABILITY: iFix for 7.5.1.1 is/will be available on Fix Central; search for APAR JR49303 at http://www.ibm.com/support/fixcentral/ iFix for 8.5.0.1 is/will be available on Fix Central; search for APAR JR49303 at http://www.ibm.com/support/fixcentral/ Fix is also targetted for inclusion in next fixpack for BPM V7.5.1, BPM V8.0.1 When obtaining any of the above fixes, be sure to download the accompanying readme, for itself, and any prerequisite fixes, and review them thoroughly.
Temporary fix
Comments
APAR Information
APAR number
JR49303
Reported component name
BPM ADVANCED
Reported component ID
5725C9400
Reported release
751
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2014-02-07
Closed date
2014-03-28
Last modified date
2015-07-09
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fix information
Fixed component name
BPM STANDARD
Fixed component ID
5725C9500
Applicable component levels
R751 PSY
UP
R850 PSY
UP
[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSFTDH","label":"IBM Business Process Manager Standard"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Line of Business":{"code":"LOB45","label":"Automation"}}]
Document Information
Modified date:
12 October 2021