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."
Z/OS
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.
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.