Repository: flink Updated Branches: refs/heads/master 123be2276 -> 53630da01
[hotfix][metrics] Harden JMXAvailability test Project: http://git-wip-us.apache.org/repos/asf/flink/repo Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/53630da0 Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/53630da0 Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/53630da0 Branch: refs/heads/master Commit: 53630da01bcbfe05eda90869b1198b4e1c554a86 Parents: 123be22 Author: zentol <ches...@apache.org> Authored: Wed Jun 29 15:38:13 2016 +0200 Committer: zentol <ches...@apache.org> Committed: Wed Jun 29 15:38:13 2016 +0200 ---------------------------------------------------------------------- .../apache/flink/metrics/reporter/JMXReporter.java | 6 ++++++ .../flink/metrics/reporter/JMXReporterTest.java | 17 ++++------------- 2 files changed, 10 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flink/blob/53630da0/flink-core/src/main/java/org/apache/flink/metrics/reporter/JMXReporter.java ---------------------------------------------------------------------- diff --git a/flink-core/src/main/java/org/apache/flink/metrics/reporter/JMXReporter.java b/flink-core/src/main/java/org/apache/flink/metrics/reporter/JMXReporter.java index eaf0ea0..90a4fcf 100644 --- a/flink-core/src/main/java/org/apache/flink/metrics/reporter/JMXReporter.java +++ b/flink-core/src/main/java/org/apache/flink/metrics/reporter/JMXReporter.java @@ -125,6 +125,10 @@ public class JMXReporter implements MetricReporter { } } } + + public int getPort() { + return jmxServer.port; + } // ------------------------------------------------------------------------ // adding / removing metrics @@ -415,6 +419,7 @@ public class JMXReporter implements MetricReporter { private static class JMXServer { private Registry rmiRegistry; private JMXConnectorServer connector; + private int port; public void start(int port) throws IOException { if (rmiRegistry != null && connector != null) { @@ -423,6 +428,7 @@ public class JMXReporter implements MetricReporter { } startRmiRegistry(port); startJmxService(port); + this.port = port; } /** http://git-wip-us.apache.org/repos/asf/flink/blob/53630da0/flink-core/src/test/java/org/apache/flink/metrics/reporter/JMXReporterTest.java ---------------------------------------------------------------------- diff --git a/flink-core/src/test/java/org/apache/flink/metrics/reporter/JMXReporterTest.java b/flink-core/src/test/java/org/apache/flink/metrics/reporter/JMXReporterTest.java index 9e638a7..760ae6c 100644 --- a/flink-core/src/test/java/org/apache/flink/metrics/reporter/JMXReporterTest.java +++ b/flink-core/src/test/java/org/apache/flink/metrics/reporter/JMXReporterTest.java @@ -38,7 +38,6 @@ import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; import java.lang.management.ManagementFactory; -import static org.apache.flink.metrics.MetricRegistry.KEY_METRICS_JMX_PORT; import static org.apache.flink.metrics.MetricRegistry.KEY_METRICS_REPORTER_CLASS; import static org.junit.Assert.assertEquals; @@ -137,16 +136,8 @@ public class JMXReporterTest extends TestLogger { JMXReporter rep1 = new JMXReporter(); JMXReporter rep2 = new JMXReporter(); - int port1 = 9010; - int port2 = 9011; - - Configuration cfg1 = new Configuration(); - cfg1.setString(KEY_METRICS_JMX_PORT, String.valueOf(port1)); - Configuration cfg2 = new Configuration(); - cfg2.setString(KEY_METRICS_JMX_PORT, String.valueOf(port2)); - - rep1.open(cfg1); - rep2.open(cfg2); + rep1.open(new Configuration()); + rep2.open(new Configuration()); rep1.notifyOfAddedMetric(new Gauge<Integer>() { @Override @@ -165,7 +156,7 @@ public class JMXReporterTest extends TestLogger { ObjectName objectName1 = new ObjectName(JMXReporter.generateJmxName("rep1", mg.getScopeComponents())); ObjectName objectName2 = new ObjectName(JMXReporter.generateJmxName("rep2", mg.getScopeComponents())); - JMXServiceURL url1 = new JMXServiceURL("service:jmx:rmi://localhost:" + port1 + "/jndi/rmi://localhost:" + port1 + "/jmxrmi"); + JMXServiceURL url1 = new JMXServiceURL("service:jmx:rmi://localhost:" + rep1.getPort() + "/jndi/rmi://localhost:" + rep1.getPort() + "/jmxrmi"); JMXConnector jmxCon1 = JMXConnectorFactory.connect(url1); MBeanServerConnection mCon1 = jmxCon1.getMBeanServerConnection(); @@ -177,7 +168,7 @@ public class JMXReporterTest extends TestLogger { jmxCon1 = null; mCon1 = null; - JMXServiceURL url2 = new JMXServiceURL("service:jmx:rmi://localhost:" + port2 + "/jndi/rmi://localhost:" + port2 + "/jmxrmi"); + JMXServiceURL url2 = new JMXServiceURL("service:jmx:rmi://localhost:" + rep2.getPort() + "/jndi/rmi://localhost:" + rep2.getPort() + "/jmxrmi"); JMXConnector jmxCon2 = JMXConnectorFactory.connect(url2); MBeanServerConnection mCon2 = jmxCon2.getMBeanServerConnection();