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