Does HB.js and CICS feature toggle - com.ibm.cics.ds.freeussprocesses=false must set?
search cancel

Does HB.js and CICS feature toggle - com.ibm.cics.ds.freeussprocesses=false must set?

book

Article ID: 429712

calendar_today

Updated On:

Products

HB.js

Issue/Introduction

HB.js 8.0 manual instructs the following:

If you are using CICS Transaction Server 5.5 or later, you must set the CICS feature toggle
com.ibm.cics.ds.freeussprocesses=false .
For more information about how to set feature toggles, see “Specifying feature toggles” in the IBM CICS Transaction
Server for z/OS documentation.

From IBM documentation:

"com.ibm.cics.ds.freeussprocesses={true|false}
This feature toggle is intended for use only under guidance from IBM® Support. Relates to the handling of USS processes."

Environment

Z/OS

Cause

From IBM support explained com.ibm.cics.ds.freeussprocesses setting as

Some customers found that this caused performance issues if their environment made extensive use of USS processes. One example of that is a heavy IP CICS Sockets workload. APAR PH27111 was created to implement this feature toggle, allowing customers to avoid the BPX1MPC call. The downside of this being that the USS processes are no longer cleaned up appropriately.

However, there was another APAR, PH29073, which came along. This APAR specifically changed CICS' behavior for any task using L8/L9 TCBs for any sockets calls made via the IP CICS Sockets TRUE. BPX1MPC is no longer called for these tasks at task termination, but it allows other L8/L9 TCBs to still free USS processes at their end-of-task.

 

Resolution

The featuretoggle "com.ibm.cics.ds.freeussprocesses=false" mentioned in the installation guide is recommended for CICS 5.5 onwards, for the best HB.js experience HB.js will still function fine with either way.

However, it was previously reported to us from another customer, that relative to prior CICS releases (5.4 and older), that they observed a significant increase in CPU cost, and a decrease in performance when they upgraded to new CICS releases.
Using that setting resolved their issue, so we then started recommending it.

The APAR PH29073 you mention is specific to resolving issues for legacy IP sockets interface only.

This is not referring to the more modern CICS WEB SERVICES that HB.js utilizes.