YARN-7341. TestRouterWebServiceUtil#testMergeMetrics is flakey. (Robert Kanter via Haibo Chen)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/acabc657 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/acabc657 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/acabc657 Branch: refs/heads/YARN-1011 Commit: acabc657ff5433f36ce1b238cecd3a3b5bbe87ae Parents: 31ebccc Author: Haibo Chen <haiboc...@apache.org> Authored: Tue Oct 17 10:15:53 2017 -0700 Committer: Haibo Chen <haiboc...@apache.org> Committed: Tue Oct 17 10:15:53 2017 -0700 ---------------------------------------------------------------------- .../router/webapp/RouterWebServiceUtil.java | 36 +++++++++++--------- .../router/webapp/TestRouterWebServiceUtil.java | 17 ++++++--- 2 files changed, 33 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/acabc657/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp/RouterWebServiceUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp/RouterWebServiceUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp/RouterWebServiceUtil.java index 5528e78..76435f0 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp/RouterWebServiceUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/main/java/org/apache/hadoop/yarn/server/router/webapp/RouterWebServiceUtil.java @@ -406,22 +406,26 @@ public final class RouterWebServiceUtil { metrics.setContainersPending(metrics.getPendingContainers() + metricsResponse.getPendingContainers()); - metrics.setTotalMB(metrics.getTotalMB() + metricsResponse.getTotalMB()); - metrics.setTotalVirtualCores( - metrics.getTotalVirtualCores() + metrics.getTotalVirtualCores()); - metrics.setTotalNodes(metrics.getTotalNodes() + metrics.getTotalNodes()); - metrics.setLostNodes(metrics.getLostNodes() + metrics.getLostNodes()); - metrics.setUnhealthyNodes( - metrics.getUnhealthyNodes() + metrics.getUnhealthyNodes()); - metrics.setDecommissioningNodes( - metrics.getDecommissioningNodes() + metrics.getDecommissioningNodes()); - metrics.setDecommissionedNodes( - metrics.getDecommissionedNodes() + metrics.getDecommissionedNodes()); - metrics.setRebootedNodes( - metrics.getRebootedNodes() + metrics.getRebootedNodes()); - metrics.setActiveNodes(metrics.getActiveNodes() + metrics.getActiveNodes()); - metrics.setShutdownNodes( - metrics.getShutdownNodes() + metrics.getShutdownNodes()); + metrics.setTotalMB(metrics.getTotalMB() + + metricsResponse.getTotalMB()); + metrics.setTotalVirtualCores(metrics.getTotalVirtualCores() + + metricsResponse.getTotalVirtualCores()); + metrics.setTotalNodes(metrics.getTotalNodes() + + metricsResponse.getTotalNodes()); + metrics.setLostNodes(metrics.getLostNodes() + + metricsResponse.getLostNodes()); + metrics.setUnhealthyNodes(metrics.getUnhealthyNodes() + + metricsResponse.getUnhealthyNodes()); + metrics.setDecommissioningNodes(metrics.getDecommissioningNodes() + + metricsResponse.getDecommissioningNodes()); + metrics.setDecommissionedNodes(metrics.getDecommissionedNodes() + + metricsResponse.getDecommissionedNodes()); + metrics.setRebootedNodes(metrics.getRebootedNodes() + + metricsResponse.getRebootedNodes()); + metrics.setActiveNodes(metrics.getActiveNodes() + + metricsResponse.getActiveNodes()); + metrics.setShutdownNodes(metrics.getShutdownNodes() + + metricsResponse.getShutdownNodes()); } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/acabc657/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/webapp/TestRouterWebServiceUtil.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/webapp/TestRouterWebServiceUtil.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/webapp/TestRouterWebServiceUtil.java index 7073b3b..edf3804 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/webapp/TestRouterWebServiceUtil.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-router/src/test/java/org/apache/hadoop/yarn/server/router/webapp/TestRouterWebServiceUtil.java @@ -33,11 +33,15 @@ import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.ResourceRequestI import org.apache.hadoop.yarn.server.uam.UnmanagedApplicationManager; import org.junit.Assert; import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Test class to validate RouterWebServiceUtil methods. */ public class TestRouterWebServiceUtil { + private static final Logger LOG = + LoggerFactory.getLogger(TestRouterWebServiceUtil.class); private static final ApplicationId APPID1 = ApplicationId.newInstance(1, 1); private static final ApplicationId APPID2 = ApplicationId.newInstance(2, 1); @@ -407,8 +411,12 @@ public class TestRouterWebServiceUtil { ClusterMetricsInfo metrics = new ClusterMetricsInfo(); ClusterMetricsInfo metricsResponse = new ClusterMetricsInfo(); - setUpClusterMetrics(metrics); - setUpClusterMetrics(metricsResponse); + long seed = System.currentTimeMillis(); + setUpClusterMetrics(metrics, seed); + // ensure that we don't reuse the same seed when setting up metricsResponse + // or it might mask bugs + seed += 1000000000; + setUpClusterMetrics(metricsResponse, seed); ClusterMetricsInfo metricsClone = createClusterMetricsClone(metrics); RouterWebServiceUtil.mergeMetrics(metrics, metricsResponse); @@ -538,8 +546,9 @@ public class TestRouterWebServiceUtil { } - private void setUpClusterMetrics(ClusterMetricsInfo metrics) { - Random rand = new Random(System.currentTimeMillis()); + private void setUpClusterMetrics(ClusterMetricsInfo metrics, long seed) { + LOG.info("Using seed: " + seed); + Random rand = new Random(seed); metrics.setAppsSubmitted(rand.nextInt(1000)); metrics.setAppsCompleted(rand.nextInt(1000)); metrics.setAppsPending(rand.nextInt(1000)); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org