RFR: 8306806: JMX agent with JDP enabled won't start when PerfData is disabled
Kevin Walls
kevinw at openjdk.org
Thu May 11 12:10:46 UTC 2023
Java Discovery Protocol (perhaps a hidden feature, but maybe should be more widely known!) and -XX:-UsePerfData together cause a failure to startup.
PerfData is the mechanism for communicating the URL and other properties for remote management, so disabling PerfData clearly breaks this. But there should be a clearer message, and not a fatal error.
e.g.
$ java -XX:-UsePerfData -Dcom.sun.management.jmxremote.autodiscovery=true -Dcom.sun.management.jmxremote.port=0 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false --version
Warning: Exception thrown by the agent : JDP not starting, PerfData not available: Empty PerfData buffer
java 21-internal 2023-09-19 LTS
...etc...
The use of PerfData is superior to the previous hard-coding of knowledge of the URL protocol and structure, and is required to communicate a dynamically assigned port (JDK-8167337).
-------------
Commit messages:
- 8306806: JMX agent with JDP enabled won't start when PerfData is disabled
Changes: https://git.openjdk.org/jdk/pull/13928/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13928&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8306806
Stats: 16 lines in 2 files changed: 8 ins; 0 del; 8 mod
Patch: https://git.openjdk.org/jdk/pull/13928.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13928/head:pull/13928
PR: https://git.openjdk.org/jdk/pull/13928
More information about the serviceability-dev
mailing list