You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kafka.apache.org by ij...@apache.org on 2017/04/27 23:01:56 UTC
kafka git commit: KAFKA-5119;
Ensure global metrics are empty before running
testMetricCollectionAfterShutdown
Repository: kafka
Updated Branches:
refs/heads/trunk 5b5efd4b5 -> 909cf9bb9
KAFKA-5119; Ensure global metrics are empty before running testMetricCollectionAfterShutdown
Depending on the test execution order, the global registry would
contain some metrics causing the test to fail.
Author: Ismael Juma <is...@juma.me.uk>
Reviewers: Ewen Cheslack-Postava <me...@ewencp.org>
Closes #2915 from ijuma/socket-server-test-metric-collection-after-shutdown
Project: http://git-wip-us.apache.org/repos/asf/kafka/repo
Commit: http://git-wip-us.apache.org/repos/asf/kafka/commit/909cf9bb
Tree: http://git-wip-us.apache.org/repos/asf/kafka/tree/909cf9bb
Diff: http://git-wip-us.apache.org/repos/asf/kafka/diff/909cf9bb
Branch: refs/heads/trunk
Commit: 909cf9bb9778e3ba240fbcd4073a1642b79a6c23
Parents: 5b5efd4
Author: Ismael Juma <is...@juma.me.uk>
Authored: Fri Apr 28 00:01:34 2017 +0100
Committer: Ismael Juma <is...@juma.me.uk>
Committed: Fri Apr 28 00:01:34 2017 +0100
----------------------------------------------------------------------
.../unit/kafka/network/SocketServerTest.scala | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/kafka/blob/909cf9bb/core/src/test/scala/unit/kafka/network/SocketServerTest.scala
----------------------------------------------------------------------
diff --git a/core/src/test/scala/unit/kafka/network/SocketServerTest.scala b/core/src/test/scala/unit/kafka/network/SocketServerTest.scala
index ed873d0..9b278ae 100644
--- a/core/src/test/scala/unit/kafka/network/SocketServerTest.scala
+++ b/core/src/test/scala/unit/kafka/network/SocketServerTest.scala
@@ -32,7 +32,7 @@ import org.apache.kafka.common.TopicPartition
import org.apache.kafka.common.metrics.Metrics
import org.apache.kafka.common.network.{ListenerName, NetworkSend}
import org.apache.kafka.common.protocol.{ApiKeys, SecurityProtocol}
-import org.apache.kafka.common.record.{RecordBatch, MemoryRecords}
+import org.apache.kafka.common.record.{MemoryRecords, RecordBatch}
import org.apache.kafka.common.requests.{AbstractRequest, ProduceRequest, RequestHeader}
import org.apache.kafka.common.security.auth.KafkaPrincipal
import org.apache.kafka.common.utils.Time
@@ -40,7 +40,7 @@ import org.junit.Assert._
import org.junit._
import org.scalatest.junit.JUnitSuite
-import scala.collection.JavaConverters.mapAsScalaMapConverter
+import scala.collection.JavaConverters._
import scala.collection.mutable.ArrayBuffer
class SocketServerTest extends JUnitSuite {
@@ -56,6 +56,11 @@ class SocketServerTest extends JUnitSuite {
val config = KafkaConfig.fromProps(props)
val metrics = new Metrics
val credentialProvider = new CredentialProvider(config.saslEnabledMechanisms)
+
+ // Clean-up any metrics left around by previous tests
+ for (metricName <- YammerMetrics.defaultRegistry.allMetrics.keySet.asScala)
+ YammerMetrics.defaultRegistry.removeMetric(metricName)
+
val server = new SocketServer(config, metrics, Time.SYSTEM, credentialProvider)
server.startup()
val sockets = new ArrayBuffer[Socket]
@@ -404,14 +409,14 @@ class SocketServerTest extends JUnitSuite {
def testMetricCollectionAfterShutdown(): Unit = {
server.shutdown()
- val sum = YammerMetrics
+ val nonZeroMetricNamesAndValues = YammerMetrics
.defaultRegistry
.allMetrics.asScala
.filterKeys(k => k.getName.endsWith("IdlePercent") || k.getName.endsWith("NetworkProcessorAvgIdlePercent"))
- .collect { case (_, metric: Gauge[_]) => metric.value.asInstanceOf[Double] }
- .sum
+ .collect { case (k, metric: Gauge[_]) => (k, metric.value().asInstanceOf[Double]) }
+ .filter { case (_, value) => value != 0.0 }
- assertEquals(0, sum, 0)
+ assertEquals(Map.empty, nonZeroMetricNamesAndValues)
}
}