CA Gen runtime TIRELOGX is not called after DB2 deadlock
search cancel

CA Gen runtime TIRELOGX is not called after DB2 deadlock

book

Article ID: 132973

calendar_today

Updated On:

Products

Gen Gen - Workstation Toolset Gen - Host Encyclopedia Gen - Run Time Distributed

Issue/Introduction

Can there be cases (eg Deadlocks in DB2) where the CICS Server Manager (thru TIRERR) is not calling TIRELOGX? We see deadlocks but no logging from our customized tirelogx.  In case of eg. -803 etc we get the logs from tirelogx.   We have not handled the deadlock/timeout in the Gen code, and is therefore using Gen's default behavior.

Environment

Release : 8.5  8.6

Component : CA Gen Run Time, Distributed, CA Gen Host Encyclopedia

Cause

DB2 Deadlock

Resolution

We do not call the TIRELOGX when a deadlock is encountered. We have been able to verify this but only when the number of retries is lower than the Gen Transaction Retry Limit. When Gen CICS application encounters a deadlock, the default behavior is to retry 10 times before returning a message to the client indicating there was a deadlock. The processing that does this does not call the TIRELOGX user exit until that limit has been reached because the call to the exit is not within the retry loop. This is the way it was designed. Transaction Retry Limit can be set as a diagram statement and then can be changed in the TIRSRTRX exit and controlled by the TIRSURTX exit. If a customer wants a behavior change, we can suggest raising it in the communities and see how others feel about it with intention of raising an enhancement.

Additional Information

Related documentation references:

https://docops.ca.com/ca-gen/8-6/en/developing/designing/using-toolset/transaction-retry-limit

https://docops.ca.com/ca-gen/8-6/en/reference/user-exits/z-os-user-exits/z-os-blockmode-user-exits-cics/tircrtrx-default-retry-limit-exit

https://docops.ca.com/ca-gen/8-6/en/reference/user-exits/z-os-user-exits/z-os-server-user-exits-cics/tirelogx-server-error-logging-and-error-token-creation-exit