jmx-dev RFR(S): 8234484: Add ability to configure third port for remote JMX
Daniel Fuchs
daniel.fuchs at oracle.com
Mon Jan 13 15:10:56 UTC 2020
Hi Felix,
On 11/01/2020 07:37, Yangfei (Felix) wrote:
> Hi Daniel,
>
> Thanks for the suggestions.
> I modified the patch making the third port also configurable via the management.properties file.
> New webrev: http://cr.openjdk.java.net/~fyang/8234484/webrev.01/
I think I would prefer the try catch NumberFormatException
to be just around the call to Integer.parseInt(), as it is
done elsewhere in this file (e.g. line 337).
>
> Previously, we test the effectiveness of the patch by checking the port usage with -Dsun.rmi.transport.tcp.logLevel=VERBOSE.
> Is it good to modify the following test case specifying the third port for the testing purpose?
Please don't do that. That test is not appropriate for this - as
it opens a remote connector, not a local connector.
Also please get someone from serviceability-dev to also look at
changes (added in cc:).
best regards,
-- daniel
>
> diff -r d630c0a63222 test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java
> --- a/test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java Wed Jan 08 08:53:28 2020 +0900
> +++ b/test/jdk/sun/management/jmxremote/bootstrap/JMXInterfaceBindingTest.java Sat Jan 11 15:30:25 2020 +0000
> @@ -31,6 +31,7 @@
>
> import jdk.test.lib.process.OutputAnalyzer;
> import jdk.test.lib.process.ProcessTools;
> +import jdk.test.lib.Utils;
>
> /**
> * @test
> @@ -203,6 +204,12 @@
> args.add("-Dcom.sun.management.jmxremote.host=" + address);
> args.add("-Dcom.sun.management.jmxremote.port=" + jmxPort);
> args.add("-Dcom.sun.management.jmxremote.rmi.port=" + rmiPort);
> + try {
> + int port = Utils.getFreePort();
> + args.add("-Dcom.sun.management.jmxlocal.port=" + port);
> + } catch (Exception e) {
> + System.out.println(e);
> + }
> args.add("-Dcom.sun.management.jmxremote.authenticate=false");
> args.add("-Dcom.sun.management.jmxremote.ssl=" + Boolean.toString(useSSL));
> // This is needed for testing on loopback
>
> Felix
>
>>
>> Hi Felix,
>>
>> Shouldn't this be configurable via the management.properties file, like all other
>> JMX properties?
>>
>> Also on the one hand - it would be good to have a test.
>> On the other hand - writing a stable test will be problematic as there is no way
>> to ensure that any particular port number will be available for the agent to bind
>> to.
>>
>> best regards,
>>
>> -- daniel
>>
>> On 08/01/2020 01:09, Yangfei (Felix) wrote:
>>> Hi,
>>>
>>> Please review this patch adding a way to configure the third port for
>>> remote JMX.
>>>
>>> Currently, it is possible to configure two of the three ports for JMX
>>> with com.sun.management.jmxremote.port and
>>> com.sun.management.jmxremote.rmi.port.
>>>
>>> However, there is no way to configure the third port. This can cause
>>> problems if the randomly assigned port conflicts with another service
>>> that has not yet acquired its port.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8234484
>>>
>>> Webrev: http://cr.openjdk.java.net/~fyang/8234484/webrev.00/
>>>
>>> Passed tiered-1 test.
>>>
>>> Thanks,
>>>
>>> Felix
>>>
>
More information about the serviceability-dev
mailing list