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



Reply via email to