[ https://issues.apache.org/jira/browse/FLINK-4087?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15344190#comment-15344190 ]
ASF GitHub Bot commented on FLINK-4087: --------------------------------------- Github user tillrohrmann commented on a diff in the pull request: https://github.com/apache/flink/pull/2145#discussion_r68041209 --- Diff: flink-core/src/main/java/org/apache/flink/metrics/MetricRegistry.java --- @@ -85,7 +87,14 @@ public MetricRegistry(Configuration config) { if (className == null) { // by default, create JMX metrics LOG.info("No metrics reporter configured, exposing metrics via JMX"); + + Configuration reporterConfig = new Configuration(); + String portRange = config.getString(KEY_METRICS_JMX_PORT, null); + if (portRange != null) { + reporterConfig.setString(KEY_METRICS_JMX_PORT, portRange); + } this.reporter = new JMXReporter(); + this.reporter.open(reporterConfig); --- End diff -- There is also the catch clause of the else branch where we create a `JMXReporter`, but we never call the `open` method there. I think we should add a proper `open` call there as well. > JMXReporter can't handle port conflicts > --------------------------------------- > > Key: FLINK-4087 > URL: https://issues.apache.org/jira/browse/FLINK-4087 > Project: Flink > Issue Type: Improvement > Components: Metrics > Affects Versions: 1.1.0 > Reporter: Chesnay Schepler > Assignee: Chesnay Schepler > Priority: Blocker > Fix For: 1.1.0 > > > The JMXReporter is currently configured to use a single port that is set as a > JVM argument. > This approach has a few disadvantages: > If multiple TaskManagers run on the same machine only 1 can expose metrics. > This issue is compounded by the upcoming JobManager metrics, which would then > prevent TM metrics from being exposed in local setups. > Currently, we prevent other TM's from exposing metrics by checking the the > start-daemon-sh whether a TM is already running, and if so clear the > arguments. This isn't a particular safe way to do it, and this script is not > used when deploying on yarn, leading to TM failures since the JVM can't > allocate the JMX port. > We should find a way to specifiy port-ranges for JMX and log the final port > used. -- This message was sent by Atlassian JIRA (v6.3.4#6332)