What's new in version 0.44.0

The following new features and notable changes since version 0.43.0 are included in this release:

Features and changes

VMID query in the jcmd tool enhanced

Earlier in OpenJ9, when sending a jcmd command to a VM, you had to run jcmd -l to retrieve all the pids for all the VMs found on the machine. Then, you had to use jcmd [vmid] [command] to send the command to the specific VM.

For OpenJDK compatibility, OpenJ9 now supports direct use of the Java process name, full or partial, as the ID to send the jcmd command.

The jcmd tool also now supports specifying 0 as a VMID to target all VMs.

For more information, see Java diagnostic command (jcmd) tool.

DDR field names in J9BuildFlags changed

The Direct Dump Reader (DDR) code enables reading system dump data by using the OpenJ9 Diagnostic Tool Framework for Java (DTFJ) API or the jdmpview tool. DDR code uses fields of J9BuildFlags to access build flags in the system dump data. The names of J9BuildFlags fields changed over time and therefore, supporting system dumps with different build flags became a challenge.

Earlier, field names in J9BuildFlags were based on names defined in j9.flags. Now, when the J9BuildFlags is generated for each build, the flag names are those names that are specified in j9cfg.h (derived from j9cfg.h.ftl or j9cfg.h.in) instead of the names that are defined in j9.flags. For example, env_data64 is now referred to as J9VM_ENV_DATA64.

You can extend the DDR code, adding your own commands, by writing plug-ins. If the user plug-in code contains references to fields of J9BuildFlags to read the build flags in the system dump data, you must change references to use the names as specified in j9cfg.h.

New system property added to prevent the deletion of the Attach API control files within the /tmp/ folder

You can use the -Dcom.ibm.tools.attach.fileAccessUpdateTime system property to prevent Linux® systemd-tmpfiles from deleting the Attach API control files within the /tmp/ folder. By updating the Attach API control file access times to avoid deletion by systemd-tmpfiles, the long-running Attach API can continue to use the control files to operate. This system property enables Attach API to update the control file access times at specific intervals.

For more information, see -Dcom.ibm.tools.attach.fileAccessUpdateTime.