News
Abstract
Supplementary documentation for IBM® Semeru Runtime Certified Edition for z/OS® 17
Content
The supplementary documentation is updated only if there are notable changes, such as special advisories, in a particular release. This document was last updated during 17.0.20.0 release.
The documentation to support this version is available in IBM Documentation. For links to downloads, fixes, time zone updates, and a table of OpenJDK versions on which this release is based, see IBM Semeru Runtime Certified Edition for z/OS refreshes.
Supplementary information is available for the following code refreshes:
17.0.20.0 (September 2026)
Health Center might trigger unexpected global GC with compaction
Starting with IBM Semeru Runtime Certified Edition for z/OS release 17.0.20.0 (OpenJ9 v 0.60), enabling the Health Center agent might cause a stop-the-world (STW) global garbage collection (GC) with compaction every 30 seconds. The GC is reported in the verbose GC log with the reason "rasdump".
This scenario occurs because Health Center collects thread information every 30 seconds by using ThreadMXBean.getThreadInfo() with lockedSynchronizers=true. In OpenJ9 v0.6.0 and later, this operation might require the JVM to rebuild its internal Ownable Synchronizer list by walking the heap, which triggers a stop-the-world compacting GC before the heap walk can proceed.
Workaround
Until a fix is available in a future Health Center release, disable Health Center thread data collection by specifying -Dcom.ibm.diagnostics.healthcenter.data.threads=off. This setting prevents the thread data collection that triggers the unexpected GC.
17.0.12.1 (September 2024)
Performance issue related to NIOSocketImpl is corrected
The performance issue that was observed during the first (GA) release of Java 17 related to the NIOSocketImpl socket implementation is corrected with TCP/IP MVS APAR PH61321. Apply this APAR in your environments to ensure optimal performance.
17.0.10.0 (March 2024)
Issues seen in the SunPKCS11 provider on z/OS
Certain changes made in the OpenJDK have resulted in changed behavior of the SunPKCS11 provider. The main effect of this change is that any key that is stored in a PKCS11 keystore and accessed using the SunPKCS11 provider will be treated as sensitive, even if their properties don't indicate that they are sensitive. This can cause the return type of the private key to change, for example, in the case of a RSA key, this will change its class from RSAPrivateKey to RSAPrivateKeyInternal. This is a known issue and will be fixed in a future release. Also 'Cancel failed' errors may be seen when canceling some signature operations due to the external change in OpenJDK not specifying the correct key size. This will get cleaned up when the session is closed. This issue will also be fixed in a future release.
First release 17.0.7.0 (August 2023)
Potential degradation in throughput observed
In Java 17, the sockets implementation is updated to use NIOSocketImpl by default. In certain applications, the use of NIOSocketImpl may result in additional pathlength through z/OS OMVS routines, resulting in potential increase in general CP time. The performance gap may be restored with the use of property -Djdk.net.usePlainSocketImpl=true as a workaround. This performance issue will be fixed in a future release.
Was this topic helpful?
Document Information
Modified date:
08 September 2026
UID
ibm17006053