From a3274191d0dd886dfe3044262543ff7f56bf851e Mon Sep 17 00:00:00 2001 From: Paul Mackles Date: Tue, 26 Sep 2017 20:47:21 -0400 Subject: [PATCH 1/2] [SPARK-22135] metrics in spark-dispatcher not being registered properly --- .../scheduler/cluster/mesos/MesosClusterSchedulerSource.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala b/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala index 1fe94974c8e3..e463c6111249 100644 --- a/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala +++ b/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala @@ -23,8 +23,10 @@ import org.apache.spark.metrics.source.Source private[mesos] class MesosClusterSchedulerSource(scheduler: MesosClusterScheduler) extends Source { + private val registry = new MetricRegistry() + override def sourceName: String = "mesos_cluster" - override def metricRegistry: MetricRegistry = new MetricRegistry() + override def metricRegistry: MetricRegistry = registry metricRegistry.register(MetricRegistry.name("waitingDrivers"), new Gauge[Int] { override def getValue: Int = scheduler.getQueuedDriversSize From b11a448ffe1eb6490707bfdddb8903cd2297075f Mon Sep 17 00:00:00 2001 From: Paul Mackles Date: Wed, 27 Sep 2017 06:37:12 -0400 Subject: [PATCH 2/2] [SPARK-22135] metrics in spark-dispatcher not being registered properly - use vals --- .../cluster/mesos/MesosClusterSchedulerSource.scala | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala b/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala index e463c6111249..76aded4edb43 100644 --- a/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala +++ b/resource-managers/mesos/src/main/scala/org/apache/spark/scheduler/cluster/mesos/MesosClusterSchedulerSource.scala @@ -23,10 +23,9 @@ import org.apache.spark.metrics.source.Source private[mesos] class MesosClusterSchedulerSource(scheduler: MesosClusterScheduler) extends Source { - private val registry = new MetricRegistry() - override def sourceName: String = "mesos_cluster" - override def metricRegistry: MetricRegistry = registry + override val sourceName: String = "mesos_cluster" + override val metricRegistry: MetricRegistry = new MetricRegistry() metricRegistry.register(MetricRegistry.name("waitingDrivers"), new Gauge[Int] { override def getValue: Int = scheduler.getQueuedDriversSize