A fix is available
APAR status
Closed as program error.
Error description
When a CICS task has made a call into DB2 (regardless of whether it is on a T8 or L8) and then purged, CICS has to abend the TCB in order to purge the task since it is currently outside of CICS' control. When the TCB is a T8 that means a thread in a JVM is being terminated abnormally. The JVM is not designed to tolerate this scenario and the POSIX standards dictate that the process should be terminated. CICS can't guarantee the integrity of the JVM at this point so attempts to recycle it. To recycle the JVM a phaseout is issued by CICS against the JVMSERVER so that work can drain gracefully. However, it is possible that termination of the TCB by the purge prevents phaseout from ever completing. This APAR will update CICS to escalate through the JVMSERVER purge levels to ensure the JVMSERVER is recycled.
Local fix
No Local Fix.
Problem summary
**************************************************************** * USERS AFFECTED: All CICS Users. * **************************************************************** * PROBLEM DESCRIPTION: JVMSERVER hangs at BEING DISABLED * * after a DB2 task is purged. * **************************************************************** A CICS Java task is forcepurged while control is in Db2 on a T8 TCB. This causes the task to abend AD2R and for the T8 TCB to be abtermed. CICS recovery routine gets control and gets a TCB failed exception, then CICS issues a phaseout against the JVMSERVER to allow work to drain in a graceful manner then restart. However if another thread has also abended CICS will wait indefinitely.
Problem conclusion
CICS has been changed to escalate JVMSERVER disable after TCB failure to ensure the JVMSERVER is recycled. The CICS Transaction Server for z/OS V5.3, V5.4 and V5.5 Knowledge Center has been altered as follows: In 'Options for JVMs in a CICS environment' in section 'JVM server options' in table 1, the following entry is added: PURGE_ESCALATION_TIMEOUT|Optional|Optional|Optional|Optional In 'Descriptions of options' section , the following entry is added: PURGE_ESCALATION_TIMEOUT={time|15s} Controls the time between disable actions when a JVM server encounters a TCB failure. After each timeout CICS escalates to the next disable action, for example from phaseout to purge, until the JVM server has been recycled. For a Liberty JVM server, there is a minimum 60s timeout from phaseout to purge. In 'DFHSJnnnn messages' in section 'DFHSJ1007 W', 'System action' is updated: CICS has detected that an abend has left the JVM in an inconsistent state. CICS disables the JVMSERVER resource with the PHASEOUT option to allow existing work in the JVM to complete where possible and prevent new work from using the JVM. If this fails to disable the JVMSERVER within the interval specified by the PURGE_ESCALATION_TIMEOUT JVM server option, CICS escalates to the next disable action, until the JVMSERVER is disabled. After the JVMSERVER is successfully disabled, message DFHSJ1008 is issued. CICS attempts to re-enable the resource to create a new JVM.
Temporary fix
Comments
APAR Information
APAR number
PH12280
Reported component name
CICS TS Z/OS V5
Reported component ID
5655Y0400
Reported release
000
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-05-22
Closed date
2019-11-26
Last modified date
2019-11-30
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI66669 UI66670 UI66671 UI66672 UI66673 UI66674 UI66675
Modules/Macros
DFHAPJVM DFHAPLJP DFHAXIS2 DFHCAL64 DFHCDJNI DFHCDK64 DFHKETIX DFHMESJE DFHSJBD DFHSJDM DFHSJDS DFHSJDUF DFHSJIN DFHSJIS DFHSJIX DFHSJJS DFHSJL DFHSJLOG DFHSJNA DFHSJNDI DFHSJNR DFHSJNT DFHSJPP DFHSJPTI DFHSJRE DFHSJRL DFHSJRM DFHSJRT DFHSJSA DFHSJSC DFHSJSM DFHSJSR DFHSJST DFHSJTE DFHSJTH DFHSJTRI DFHSJWL DFHSJXM DFJ@H317 DFJ@H356 DFJ@H360 DFJ@H427 DFJ@H467 DFJ@H468 DFJDTCOE DFJOUTRE DFJWLPBP DFJWLPPL
Fix information
Fixed component name
CICS TS Z/OS V5
Fixed component ID
5655Y0400
Applicable component levels
R000 PSY UI66669
UP19/11/28 P F911
R003 PSY UI66671
UP19/11/30 P F911
R00D PSY UI66670
UP19/11/30 P F911
R100 PSY UI66672
UP19/11/28 P F911
R103 PSY UI66674
UP19/11/30 P F911
R10D PSY UI66673
UP19/11/30 P F911
R200 PSY UI66675
UP19/11/28 P F911
Fix is available
Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGMGV","label":"CICS Transaction Server"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.3","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"5.3","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
30 November 2019