Thursday, December 22, 2011

CICS: TMON purging long running transactions

There is a transaction in my application which continuously runs in the CICS region. This transaction is triggered when a first message arrives in a MQ queue. Once the transaction processes all the messages from the MQ, it goes to sleep mode by issuing MQGET with MQWI-UNLIMITED option. When a next message arrives in the queue, it wakes up and processes that message, and then it goes to sleep mode again. This cycle continues until the region is brought down. The application runs in 8 different CICS regions.

Recently they added one more CICS region to my application. When the new region went live, this long running transaction started taking AEXY abend.  Later CICS admins found out that TMON was purging that transaction.  TMON issues following message in the start up job of the CICS region job under MSGUSR DDname.

TMON94511I - TASK #03084 TRANID TX0L USERID AXTN01   PGMID CSQCAPX  FORCPRG FOR EXCESSIVE RUNTIME

There is a parameter called “HIGH RUN LIMIT” in TMON. It displays the current threshold for elapsed run time, in seconds. TMON purges any qualified transaction exceeding this threshold. For the long running transaction, mistakenly it was set to 240 seconds in the TMON for the new region. So, when the new region went live, TMON started purging the transaction, after the 240 seconds of elapsed time. To solve the issue, they set the value of “HIGH RUN LIMIT” to zero, to not to purge this long running transaction.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.