RFR: 8306806: JMX agent with JDP enabled won't start when PerfData is disabled [v2]
Kevin Walls
kevinw at openjdk.org
Tue May 16 08:31:54 UTC 2023
On Fri, 12 May 2023 09:15:47 GMT, Kevin Walls <kevinw at openjdk.org> wrote:
>> 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).
>
> Kevin Walls has updated the pull request incrementally with two additional commits since the last revision:
>
> - undo (C)
> - Handle BufferUndeflowException to leave IOException free for other failures
Thanks for the reviews!
-------------
PR Comment: https://git.openjdk.org/jdk/pull/13928#issuecomment-1549224019
More information about the serviceability-dev
mailing list