Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 2AC5F200D3A for ; Wed, 11 Oct 2017 07:25:02 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 29654160BE3; Wed, 11 Oct 2017 05:25:02 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 6B80A160BE6 for ; Wed, 11 Oct 2017 07:25:01 +0200 (CEST) Received: (qmail 26563 invoked by uid 500); 11 Oct 2017 05:25:00 -0000 Mailing-List: contact commits-help@ambari.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ambari-dev@ambari.apache.org Delivered-To: mailing list commits@ambari.apache.org Received: (qmail 25732 invoked by uid 99); 11 Oct 2017 05:24:59 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Oct 2017 05:24:59 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3B1A6F5CE4; Wed, 11 Oct 2017 05:24:57 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: jluniya@apache.org To: commits@ambari.apache.org Date: Wed, 11 Oct 2017 05:25:10 -0000 Message-Id: In-Reply-To: <7be0974a51364b29988aad8c040e60b4@git.apache.org> References: <7be0974a51364b29988aad8c040e60b4@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [14/31] ambari git commit: AMBARI-22155. Intermittent failure of FlumeTimelineMetricsSinkTest archived-at: Wed, 11 Oct 2017 05:25:02 -0000 AMBARI-22155. Intermittent failure of FlumeTimelineMetricsSinkTest Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/b0c24a51 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/b0c24a51 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/b0c24a51 Branch: refs/heads/branch-feature-AMBARI-14714 Commit: b0c24a5153949e4c0cbf70d217276416515c1211 Parents: 75465a8 Author: Attila Doroszlai Authored: Mon Oct 9 18:56:36 2017 +0200 Committer: Attila Doroszlai Committed: Mon Oct 9 18:57:08 2017 +0200 ---------------------------------------------------------------------- .../flume/FlumeTimelineMetricsSinkTest.java | 27 ++++++++++++-------- 1 file changed, 17 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/b0c24a51/ambari-metrics/ambari-metrics-flume-sink/src/test/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSinkTest.java ---------------------------------------------------------------------- diff --git a/ambari-metrics/ambari-metrics-flume-sink/src/test/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSinkTest.java b/ambari-metrics/ambari-metrics-flume-sink/src/test/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSinkTest.java index bd4ae6a..99da43f 100644 --- a/ambari-metrics/ambari-metrics-flume-sink/src/test/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSinkTest.java +++ b/ambari-metrics/ambari-metrics-flume-sink/src/test/java/org/apache/hadoop/metrics2/sink/flume/FlumeTimelineMetricsSinkTest.java @@ -18,17 +18,21 @@ package org.apache.hadoop.metrics2.sink.flume; +import static org.easymock.EasyMock.anyObject; import static org.easymock.EasyMock.anyString; import static org.easymock.EasyMock.createNiceMock; +import static org.easymock.EasyMock.eq; import static org.easymock.EasyMock.expect; import static org.powermock.api.easymock.PowerMock.mockStatic; import static org.powermock.api.easymock.PowerMock.replay; -import static org.powermock.api.easymock.PowerMock.replayAll; import static org.powermock.api.easymock.PowerMock.resetAll; import static org.powermock.api.easymock.PowerMock.verifyAll; import java.net.InetAddress; import java.util.Collections; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import org.apache.flume.Context; import org.apache.flume.instrumentation.util.JMXPollUtil; @@ -43,7 +47,7 @@ import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; @RunWith(PowerMockRunner.class) -@PrepareForTest(JMXPollUtil.class) +@PrepareForTest({JMXPollUtil.class, Executors.class, FlumeTimelineMetricsSink.class}) public class FlumeTimelineMetricsSinkTest { @Test public void testNonNumericMetricMetricExclusion() throws InterruptedException { @@ -76,7 +80,7 @@ public class FlumeTimelineMetricsSinkTest { flumeTimelineMetricsSink.setMetricsCaches(Collections.singletonMap("SINK",timelineMetricsCache)); EasyMock.expect(timelineMetricsCache.getTimelineMetric("key1")) .andReturn(new TimelineMetric()).once(); - timelineMetricsCache.putTimelineMetric(EasyMock.anyObject(TimelineMetric.class)); + timelineMetricsCache.putTimelineMetric(anyObject(TimelineMetric.class)); EasyMock.expectLastCall().once(); return timelineMetricsCache; } @@ -86,15 +90,18 @@ public class FlumeTimelineMetricsSinkTest { FlumeTimelineMetricsSink flumeTimelineMetricsSink = new FlumeTimelineMetricsSink(); TimelineMetricsCache timelineMetricsCache = getTimelineMetricsCache(flumeTimelineMetricsSink); flumeTimelineMetricsSink.setPollFrequency(1); - mockStatic(JMXPollUtil.class); - EasyMock.expect(JMXPollUtil.getAllMBeans()).andReturn( - Collections.singletonMap("component1", Collections.singletonMap("key1", "42"))).once(); - flumeTimelineMetricsSink.start(); - flumeTimelineMetricsSink.stop(); - replay(JMXPollUtil.class, timelineMetricsCache); + mockStatic(Executors.class); + ScheduledExecutorService executor = createNiceMock(ScheduledExecutorService.class); + expect(Executors.newSingleThreadScheduledExecutor()).andReturn(executor); + FlumeTimelineMetricsSink.TimelineMetricsCollector collector = anyObject(); + TimeUnit unit = anyObject(); + expect(executor.scheduleWithFixedDelay(collector, eq(0), eq(1), unit)).andReturn(null); + executor.shutdown(); + replay(timelineMetricsCache, Executors.class, executor); + flumeTimelineMetricsSink.start(); - Thread.sleep(5); flumeTimelineMetricsSink.stop(); + verifyAll(); }