YARN-3999. RM hangs on draing events. Contributed by Jian He (cherry picked from commit 3ae716fa696b87e849dae40225dc59fb5ed114cb) (cherry picked from commit 2ebdf5bfcee9ede80681a5266df225885d830883)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/d59bf81e Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/d59bf81e Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/d59bf81e Branch: refs/heads/branch-2.6.1 Commit: d59bf81e0866b1922090aeb0690a71c036e9a5c2 Parents: 6ed2486 Author: Xuan <xg...@apache.org> Authored: Tue Aug 11 18:25:11 2015 -0700 Committer: Vinod Kumar Vavilapalli <vino...@apache.org> Committed: Tue Sep 8 22:57:35 2015 -0700 ---------------------------------------------------------------------- .../org/apache/hadoop/util/JvmPauseMonitor.java | 12 ++++---- hadoop-yarn-project/CHANGES.txt | 2 ++ .../hadoop/yarn/conf/YarnConfiguration.java | 5 ++++ .../hadoop/yarn/event/AsyncDispatcher.java | 9 +++++- .../src/main/resources/yarn-default.xml | 9 ++++++ .../resourcemanager/RMActiveServiceContext.java | 30 ------------------- .../server/resourcemanager/RMContextImpl.java | 23 +++++++-------- .../server/resourcemanager/ResourceManager.java | 31 ++++++++++---------- .../server/resourcemanager/TestAppManager.java | 5 ++-- .../resourcemanager/TestResourceManager.java | 1 + .../rmapp/TestRMAppTransitions.java | 6 ++-- .../attempt/TestRMAppAttemptTransitions.java | 8 ++--- .../scheduler/capacity/TestUtils.java | 7 +++-- .../scheduler/fifo/TestFifoScheduler.java | 17 +++++------ 14 files changed, 80 insertions(+), 85 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java index e8af45e..573b511 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/util/JvmPauseMonitor.java @@ -83,11 +83,13 @@ public class JvmPauseMonitor { public void stop() { shouldRun = false; - monitorThread.interrupt(); - try { - monitorThread.join(); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); + if (monitorThread != null) { + monitorThread.interrupt(); + try { + monitorThread.join(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/CHANGES.txt ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/CHANGES.txt b/hadoop-yarn-project/CHANGES.txt index 9fae242..ac114fa 100644 --- a/hadoop-yarn-project/CHANGES.txt +++ b/hadoop-yarn-project/CHANGES.txt @@ -200,6 +200,8 @@ Release 2.6.1 - UNRELEASED YARN-2918. RM should not fail on startup if queue's configured labels do not exist in cluster-node-labels. (Wangda Tan via jianhe) + YARN-3999. RM hangs on draing events. (Jian He via xgong) + Release 2.6.0 - 2014-11-18 INCOMPATIBLE CHANGES http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java index 39e12d4..84322c3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-api/src/main/java/org/apache/hadoop/yarn/conf/YarnConfiguration.java @@ -1104,6 +1104,11 @@ public class YarnConfiguration extends Configuration { public static final long DEFAULT_RESOURCEMANAGER_CONNECT_RETRY_INTERVAL_MS = 30 * 1000; + public static final String DISPATCHER_DRAIN_EVENTS_TIMEOUT = + YARN_PREFIX + "dispatcher.drain-events.timeout"; + + public static final long DEFAULT_DISPATCHER_DRAIN_EVENTS_TIMEOUT = 300000; + /** * CLASSPATH for YARN applications. A comma-separated list of CLASSPATH * entries http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java index 28be6ac..0a869fd 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/event/AsyncDispatcher.java @@ -32,6 +32,7 @@ import org.apache.hadoop.classification.InterfaceStability.Evolving; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.service.AbstractService; import org.apache.hadoop.util.ShutdownHookManager; +import org.apache.hadoop.yarn.conf.YarnConfiguration; import org.apache.hadoop.yarn.exceptions.YarnRuntimeException; /** @@ -136,8 +137,14 @@ public class AsyncDispatcher extends AbstractService implements Dispatcher { if (drainEventsOnStop) { blockNewEvents = true; LOG.info("AsyncDispatcher is draining to stop, igonring any new events."); + long endTime = System.currentTimeMillis() + getConfig() + .getLong(YarnConfiguration.DISPATCHER_DRAIN_EVENTS_TIMEOUT, + YarnConfiguration.DEFAULT_DISPATCHER_DRAIN_EVENTS_TIMEOUT); + synchronized (waitForDrained) { - while (!drained && eventHandlingThread.isAlive()) { + while (!drained && eventHandlingThread != null + && eventHandlingThread.isAlive() + && System.currentTimeMillis() < endTime) { waitForDrained.wait(1000); LOG.info("Waiting for AsyncDispatcher to drain."); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml index e168600..2ffa8b8 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/resources/yarn-default.xml @@ -77,6 +77,15 @@ </property> <property> + <description>Timeout in milliseconds when YARN dispatcher tries to drain the + events. Typically, this happens when service is stopping. e.g. RM drains + the ATS events dispatcher when stopping. + </description> + <name>yarn.dispatcher.drain-events.timeout</name> + <value>300000</value> + </property> + + <property> <description>The expiry interval for application master reporting.</description> <name>yarn.am.liveness-monitor.expiry-interval-ms</name> <value>600000</value> http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMActiveServiceContext.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMActiveServiceContext.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMActiveServiceContext.java index 03fc40e..049e71e 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMActiveServiceContext.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMActiveServiceContext.java @@ -92,8 +92,6 @@ public class RMActiveServiceContext { private NodesListManager nodesListManager; private ResourceTrackerService resourceTrackerService; private ApplicationMasterService applicationMasterService; - private RMApplicationHistoryWriter rmApplicationHistoryWriter; - private SystemMetricsPublisher systemMetricsPublisher; private RMNodeLabelsManager nodeLabelManager; private long epoch; private Clock systemClock = new SystemClock(); @@ -117,7 +115,6 @@ public class RMActiveServiceContext { RMContainerTokenSecretManager containerTokenSecretManager, NMTokenSecretManagerInRM nmTokenSecretManager, ClientToAMTokenSecretManagerInRM clientToAMTokenSecretManager, - RMApplicationHistoryWriter rmApplicationHistoryWriter, ResourceScheduler scheduler) { this(); this.setContainerAllocationExpirer(containerAllocationExpirer); @@ -128,7 +125,6 @@ public class RMActiveServiceContext { this.setContainerTokenSecretManager(containerTokenSecretManager); this.setNMTokenSecretManager(nmTokenSecretManager); this.setClientToAMTokenSecretManager(clientToAMTokenSecretManager); - this.setRMApplicationHistoryWriter(rmApplicationHistoryWriter); this.setScheduler(scheduler); RMStateStore nullStore = new NullRMStateStore(); @@ -370,32 +366,6 @@ public class RMActiveServiceContext { @Private @Unstable - public RMApplicationHistoryWriter getRMApplicationHistoryWriter() { - return rmApplicationHistoryWriter; - } - - @Private - @Unstable - public void setSystemMetricsPublisher( - SystemMetricsPublisher systemMetricsPublisher) { - this.systemMetricsPublisher = systemMetricsPublisher; - } - - @Private - @Unstable - public SystemMetricsPublisher getSystemMetricsPublisher() { - return systemMetricsPublisher; - } - - @Private - @Unstable - public void setRMApplicationHistoryWriter( - RMApplicationHistoryWriter rmApplicationHistoryWriter) { - this.rmApplicationHistoryWriter = rmApplicationHistoryWriter; - } - - @Private - @Unstable public long getEpoch() { return this.epoch; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java index 1d0d6c0..dc66726 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java @@ -68,6 +68,9 @@ public class RMContextImpl implements RMContext { private Configuration yarnConfiguration; + private RMApplicationHistoryWriter rmApplicationHistoryWriter; + private SystemMetricsPublisher systemMetricsPublisher; + /** * Default constructor. To be used in conjunction with setter methods for * individual fields. @@ -87,7 +90,6 @@ public class RMContextImpl implements RMContext { RMContainerTokenSecretManager containerTokenSecretManager, NMTokenSecretManagerInRM nmTokenSecretManager, ClientToAMTokenSecretManagerInRM clientToAMTokenSecretManager, - RMApplicationHistoryWriter rmApplicationHistoryWriter, ResourceScheduler scheduler) { this(); this.setDispatcher(rmDispatcher); @@ -95,7 +97,7 @@ public class RMContextImpl implements RMContext { containerAllocationExpirer, amLivelinessMonitor, amFinishingMonitor, delegationTokenRenewer, appTokenSecretManager, containerTokenSecretManager, nmTokenSecretManager, - clientToAMTokenSecretManager, rmApplicationHistoryWriter, + clientToAMTokenSecretManager, scheduler)); ConfigurationProvider provider = new LocalConfigurationProvider(); @@ -112,8 +114,7 @@ public class RMContextImpl implements RMContext { AMRMTokenSecretManager appTokenSecretManager, RMContainerTokenSecretManager containerTokenSecretManager, NMTokenSecretManagerInRM nmTokenSecretManager, - ClientToAMTokenSecretManagerInRM clientToAMTokenSecretManager, - RMApplicationHistoryWriter rmApplicationHistoryWriter) { + ClientToAMTokenSecretManagerInRM clientToAMTokenSecretManager) { this( rmDispatcher, containerAllocationExpirer, @@ -123,9 +124,7 @@ public class RMContextImpl implements RMContext { appTokenSecretManager, containerTokenSecretManager, nmTokenSecretManager, - clientToAMTokenSecretManager, - rmApplicationHistoryWriter, - null); + clientToAMTokenSecretManager, null); } @Override @@ -350,25 +349,25 @@ public class RMContextImpl implements RMContext { @Override public RMApplicationHistoryWriter getRMApplicationHistoryWriter() { - return activeServiceContext.getRMApplicationHistoryWriter(); + return this.rmApplicationHistoryWriter; } @Override public void setSystemMetricsPublisher( SystemMetricsPublisher systemMetricsPublisher) { - activeServiceContext.setSystemMetricsPublisher(systemMetricsPublisher); + this.systemMetricsPublisher = systemMetricsPublisher; } @Override public SystemMetricsPublisher getSystemMetricsPublisher() { - return activeServiceContext.getSystemMetricsPublisher(); + return this.systemMetricsPublisher; } @Override public void setRMApplicationHistoryWriter( RMApplicationHistoryWriter rmApplicationHistoryWriter) { - activeServiceContext - .setRMApplicationHistoryWriter(rmApplicationHistoryWriter); + this.rmApplicationHistoryWriter = rmApplicationHistoryWriter; + } @Override http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java index 711acf2..34d7e47 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java @@ -251,7 +251,7 @@ public class ResourceManager extends CompositeService implements Recoverable { adminService = createAdminService(); addService(adminService); rmContext.setRMAdminService(adminService); - + rmContext.setYarnConfiguration(conf); createAndInitActiveServices(); @@ -260,6 +260,15 @@ public class ResourceManager extends CompositeService implements Recoverable { YarnConfiguration.RM_BIND_HOST, WebAppUtils.getRMWebAppURLWithoutScheme(this.conf)); + RMApplicationHistoryWriter rmApplicationHistoryWriter = + createRMApplicationHistoryWriter(); + addService(rmApplicationHistoryWriter); + rmContext.setRMApplicationHistoryWriter(rmApplicationHistoryWriter); + + SystemMetricsPublisher systemMetricsPublisher = createSystemMetricsPublisher(); + addService(systemMetricsPublisher); + rmContext.setSystemMetricsPublisher(systemMetricsPublisher); + super.serviceInit(this.conf); } @@ -415,7 +424,6 @@ public class ResourceManager extends CompositeService implements Recoverable { rmContext.setActiveServiceContext(activeServiceContext); conf.setBoolean(Dispatcher.DISPATCHER_EXIT_ON_ERROR_KEY, true); - rmSecretManagerService = createRMSecretManagerService(); addService(rmSecretManagerService); @@ -472,15 +480,6 @@ public class ResourceManager extends CompositeService implements Recoverable { rmContext.setDelegationTokenRenewer(delegationTokenRenewer); } - RMApplicationHistoryWriter rmApplicationHistoryWriter = - createRMApplicationHistoryWriter(); - addService(rmApplicationHistoryWriter); - rmContext.setRMApplicationHistoryWriter(rmApplicationHistoryWriter); - - SystemMetricsPublisher systemMetricsPublisher = createSystemMetricsPublisher(); - addService(systemMetricsPublisher); - rmContext.setSystemMetricsPublisher(systemMetricsPublisher); - // Register event handler for NodesListManager nodesListManager = new NodesListManager(rmContext); rmDispatcher.register(NodesListManagerEventType.class, nodesListManager); @@ -596,8 +595,9 @@ public class ResourceManager extends CompositeService implements Recoverable { @Override protected void serviceStop() throws Exception { - DefaultMetricsSystem.shutdown(); + super.serviceStop(); + DefaultMetricsSystem.shutdown(); if (rmContext != null) { RMStateStore store = rmContext.getStateStore(); try { @@ -607,7 +607,6 @@ public class ResourceManager extends CompositeService implements Recoverable { } } - super.serviceStop(); } protected void createPolicyMonitors() { @@ -1068,12 +1067,12 @@ public class ResourceManager extends CompositeService implements Recoverable { } LOG.info("Transitioning to standby state"); - if (rmContext.getHAServiceState() == - HAServiceProtocol.HAServiceState.ACTIVE) { + HAServiceState state = rmContext.getHAServiceState(); + rmContext.setHAServiceState(HAServiceProtocol.HAServiceState.STANDBY); + if (state == HAServiceProtocol.HAServiceState.ACTIVE) { stopActiveServices(); reinitialize(initialize); } - rmContext.setHAServiceState(HAServiceProtocol.HAServiceState.STANDBY); LOG.info("Transitioned to standby state"); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java index e146611..fe392b3 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java @@ -115,7 +115,7 @@ public class TestAppManager{ RMApplicationHistoryWriter writer = mock(RMApplicationHistoryWriter.class); RMContext context = new RMContextImpl(rmDispatcher, containerAllocationExpirer, amLivelinessMonitor, amFinishingMonitor, - null, null, null, null, null, writer) { + null, null, null, null, null) { @Override public ConcurrentMap<ApplicationId, RMApp> getRMApps() { return map; @@ -123,7 +123,8 @@ public class TestAppManager{ }; ((RMContextImpl)context).setStateStore(mock(RMStateStore.class)); metricsPublisher = mock(SystemMetricsPublisher.class); - ((RMContextImpl)context).setSystemMetricsPublisher(metricsPublisher); + context.setSystemMetricsPublisher(metricsPublisher); + context.setRMApplicationHistoryWriter(writer); return context; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestResourceManager.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestResourceManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestResourceManager.java index 6735575..1ab195a 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestResourceManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestResourceManager.java @@ -66,6 +66,7 @@ public class TestResourceManager { @After public void tearDown() throws Exception { + resourceManager.stop(); } private org.apache.hadoop.yarn.server.resourcemanager.NodeManager http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java index 0a2f0d4..658f8a5 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java @@ -212,11 +212,11 @@ public class TestRMAppTransitions { renewer, new AMRMTokenSecretManager(conf, this.rmContext), new RMContainerTokenSecretManager(conf), new NMTokenSecretManagerInRM(conf), - new ClientToAMTokenSecretManagerInRM(), - writer); + new ClientToAMTokenSecretManagerInRM()); ((RMContextImpl)realRMContext).setStateStore(store); publisher = mock(SystemMetricsPublisher.class); - ((RMContextImpl)realRMContext).setSystemMetricsPublisher(publisher); + realRMContext.setSystemMetricsPublisher(publisher); + realRMContext.setRMApplicationHistoryWriter(writer); this.rmContext = spy(realRMContext); http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java index 8f14660..8018f41 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/attempt/TestRMAppAttemptTransitions.java @@ -258,14 +258,14 @@ public class TestRMAppAttemptTransitions { null, amRMTokenManager, new RMContainerTokenSecretManager(conf), nmTokenManager, - clientToAMTokenManager, - writer); + clientToAMTokenManager); store = mock(RMStateStore.class); ((RMContextImpl) rmContext).setStateStore(store); publisher = mock(SystemMetricsPublisher.class); - ((RMContextImpl) rmContext).setSystemMetricsPublisher(publisher); - + rmContext.setSystemMetricsPublisher(publisher); + rmContext.setRMApplicationHistoryWriter(writer); + scheduler = mock(YarnScheduler.class); masterService = mock(ApplicationMasterService.class); applicationMasterLauncher = mock(ApplicationMasterLauncher.class); http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestUtils.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestUtils.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestUtils.java index 9e352a7..b38a497 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestUtils.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestUtils.java @@ -98,7 +98,7 @@ public class TestUtils { new AMRMTokenSecretManager(conf, null), new RMContainerTokenSecretManager(conf), new NMTokenSecretManagerInRM(conf), - new ClientToAMTokenSecretManagerInRM(), writer); + new ClientToAMTokenSecretManagerInRM()); RMNodeLabelsManager nlm = mock(RMNodeLabelsManager.class); when( nlm.getQueueResource(any(String.class), any(Set.class), @@ -112,8 +112,8 @@ public class TestUtils { when(nlm.getResourceByLabel(any(String.class), any(Resource.class))) .thenAnswer(new Answer<Resource>() { - @Override - public Resource answer(InvocationOnMock invocation) throws Throwable { + @Override public Resource answer(InvocationOnMock invocation) + throws Throwable { Object[] args = invocation.getArguments(); return (Resource) args[1]; } @@ -121,6 +121,7 @@ public class TestUtils { rmContext.setNodeLabelManager(nlm); rmContext.setSystemMetricsPublisher(mock(SystemMetricsPublisher.class)); + rmContext.setRMApplicationHistoryWriter(mock(RMApplicationHistoryWriter.class)); return rmContext; } http://git-wip-us.apache.org/repos/asf/hadoop/blob/d59bf81e/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/TestFifoScheduler.java ---------------------------------------------------------------------- diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/TestFifoScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/TestFifoScheduler.java index 7f9a817..991f3ab 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/TestFifoScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fifo/TestFifoScheduler.java @@ -147,7 +147,7 @@ public class TestFifoScheduler { FifoScheduler scheduler = new FifoScheduler(); RMApplicationHistoryWriter writer = mock(RMApplicationHistoryWriter.class); RMContext rmContext = new RMContextImpl(dispatcher, null, - null, null, null, null, null, null, null, writer, scheduler); + null, null, null, null, null, null, null, scheduler); ((RMContextImpl) rmContext).setSystemMetricsPublisher( mock(SystemMetricsPublisher.class)); @@ -193,10 +193,10 @@ public class TestFifoScheduler { FifoScheduler scheduler = new FifoScheduler(); RMContext rmContext = new RMContextImpl(dispatcher, null, null, null, null, - null, containerTokenSecretManager, nmTokenSecretManager, null, writer, - scheduler); - ((RMContextImpl) rmContext).setSystemMetricsPublisher( - mock(SystemMetricsPublisher.class)); + null, containerTokenSecretManager, nmTokenSecretManager, null, scheduler); + rmContext.setSystemMetricsPublisher(mock(SystemMetricsPublisher.class)); + rmContext.setRMApplicationHistoryWriter( + mock(RMApplicationHistoryWriter.class)); ((RMContextImpl) rmContext).setYarnConfiguration(new YarnConfiguration()); scheduler.setRMContext(rmContext); @@ -272,10 +272,9 @@ public class TestFifoScheduler { } }; RMContext rmContext = new RMContextImpl(dispatcher, null, null, null, null, - null, containerTokenSecretManager, nmTokenSecretManager, null, writer, - scheduler); - ((RMContextImpl) rmContext).setSystemMetricsPublisher( - mock(SystemMetricsPublisher.class)); + null, containerTokenSecretManager, nmTokenSecretManager, null, scheduler); + rmContext.setSystemMetricsPublisher(mock(SystemMetricsPublisher.class)); + rmContext.setRMApplicationHistoryWriter(mock(RMApplicationHistoryWriter.class)); ((RMContextImpl) rmContext).setYarnConfiguration(new YarnConfiguration()); scheduler.setRMContext(rmContext);