From 3db695d400c9da52f3f5d3425e14dd57cb118384 Mon Sep 17 00:00:00 2001 From: Arpit Agarwal Date: Wed, 17 May 2017 19:38:54 -0700 Subject: [PATCH] HDFS-11842. TestDataNodeOutlierDetectionViaMetrics UT fails intermittently. Controbuted by Hanisha Koneru. --- .../TestDataNodeOutlierDetectionViaMetrics.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/metrics/TestDataNodeOutlierDetectionViaMetrics.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/metrics/TestDataNodeOutlierDetectionViaMetrics.java index eb7769e8fd2..85ac45b6415 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/metrics/TestDataNodeOutlierDetectionViaMetrics.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/metrics/TestDataNodeOutlierDetectionViaMetrics.java @@ -18,6 +18,7 @@ package org.apache.hadoop.hdfs.server.datanode.metrics; +import com.google.common.base.Supplier; import org.apache.hadoop.test.GenericTestUtils; import org.apache.log4j.Level; import org.junit.Before; @@ -71,7 +72,7 @@ public void setup() { public void testOutlierIsDetected() throws Exception { final String slowNodeName = "SlowNode"; - DataNodePeerMetrics peerMetrics = new DataNodePeerMetrics( + final DataNodePeerMetrics peerMetrics = new DataNodePeerMetrics( "PeerMetrics-For-Test", WINDOW_INTERVAL_SECONDS, ROLLING_AVERAGE_WINDOWS); @@ -81,6 +82,13 @@ public void testOutlierIsDetected() throws Exception { // Trigger a snapshot. peerMetrics.dumpSendPacketDownstreamAvgInfoAsJson(); + GenericTestUtils.waitFor(new Supplier() { + @Override + public Boolean get() { + return peerMetrics.getOutliers().size() > 0; + } + }, 500, 100_000); + final Map outliers = peerMetrics.getOutliers(); LOG.info("Got back outlier nodes: {}", outliers); assertThat(outliers.size(), is(1));