Summary
Deprecate the debug server feature, "jhsdb debugd", for removal in a future release.
Problem
"debugd" is a remote debug server, launched by the jhsdb tool. It provides an RMI interface for some of the debugging tools to work remotely (including jstack, jmap, jinfo, jsnap).
The debug server is not widely used or well documented.
RMI is not how modern applications communicate. It is an old transport with long term security concerns, and configuration difficulties with firewalls.
With this in mind, the debugd remote debug server should be removed.
Deprecating and removing the debug server will not affect usage of jhsdb tools for monitoring local VMs.
Solution
We will terminally deprecate the debug server feature offered by the "debugd" subcommand of the jhsdb command-line tool.
The --connect option for the other jhsdb tools is also deprecated for removal. jhsdb commands using the --connect option attach to the debugd server. As we generally expect attaching between the same JDK version, a newer/later JDK with the ability to connect to an older/previous JDK which still has debubgd makes little sense.
Specification
The jhsdb tool will print warning messages to System.err on startup when the deprecated options are used.
"jhsdb debugd" will print:
WARNING: debugd is deprecated and will be removed in a future release.
jhsdb commands using the --connect option will print:
WARNING: --connect is deprecated and will be removed in a future release.
There are no public interfaces affected.
To make the deprecation obvious to any users of the private Java interface, who choose to reach inside the module, the annotation @Deprecated(since="24", forRemoval=true)
will be used internally.
Github PR: https://github.com/openjdk/jdk/pull/20830
- csr of
-
JDK-8338894 Deprecate jhsdb debugd for removal
- Resolved