diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/ProtocolHATestBase.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/ProtocolHATestBase.java index 15bfa28..a024c46 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/ProtocolHATestBase.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-client/src/test/java/org/apache/hadoop/yarn/client/ProtocolHATestBase.java @@ -354,10 +354,7 @@ protected void doSecureLogin() throws IOException { @Override protected ClientRMService createClientRMService() { if (overrideClientRMService) { - return new CustomedClientRMService(this.rmContext, this.scheduler, - this.rmAppManager, this.applicationACLsManager, - this.queueACLsManager, - this.rmContext.getRMDelegationTokenSecretManager()); + return new CustomedClientRMService(this.rmContext); } return super.createClientRMService(); } @@ -365,7 +362,8 @@ protected ClientRMService createClientRMService() { protected ResourceTrackerService createResourceTrackerService() { if (overrideRTS) { return new CustomedResourceTrackerService(this.rmContext, - this.nodesListManager, this.nmLivelinessMonitor, + this.rmContext.getNodesListManager(), + this.rmContext.getNMLivelinessMonitor(), this.rmContext.getContainerTokenSecretManager(), this.rmContext.getNMTokenSecretManager()); } @@ -374,8 +372,7 @@ protected ResourceTrackerService createResourceTrackerService() { @Override protected ApplicationMasterService createApplicationMasterService() { if (overrideApplicationMasterService) { - return new CustomedApplicationMasterService(this.rmContext, - this.scheduler); + return new CustomedApplicationMasterService(this.rmContext); } return super.createApplicationMasterService(); } @@ -383,13 +380,8 @@ protected ApplicationMasterService createApplicationMasterService() { } private class CustomedClientRMService extends ClientRMService { - public CustomedClientRMService(RMContext rmContext, - YarnScheduler scheduler, RMAppManager rmAppManager, - ApplicationACLsManager applicationACLsManager, - QueueACLsManager queueACLsManager, - RMDelegationTokenSecretManager rmDTSecretManager) { - super(rmContext, scheduler, rmAppManager, applicationACLsManager, - queueACLsManager, rmDTSecretManager); + public CustomedClientRMService(RMContext rmContext) { + super(rmContext); } @Override @@ -719,8 +711,7 @@ public CustomedResourceTrackerService(RMContext rmContext, NMLivelinessMonitor nmLivelinessMonitor, RMContainerTokenSecretManager containerTokenSecretManager, NMTokenSecretManagerInRM nmTokenSecretManager) { - super(rmContext, nodesListManager, nmLivelinessMonitor, - containerTokenSecretManager, nmTokenSecretManager); + super(rmContext); } @Override @@ -745,9 +736,8 @@ public NodeHeartbeatResponse nodeHeartbeat(NodeHeartbeatRequest request) private class CustomedApplicationMasterService extends ApplicationMasterService { - public CustomedApplicationMasterService(RMContext rmContext, - YarnScheduler scheduler) { - super(rmContext, scheduler); + public CustomedApplicationMasterService(RMContext rmContext) { + super(rmContext); } @Override diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java index 94dc474..04cf877 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ApplicationMasterService.java @@ -109,10 +109,10 @@ recordFactory.newRecordInstance(AllocateResponse.class); private final RMContext rmContext; - public ApplicationMasterService(RMContext rmContext, YarnScheduler scheduler) { + public ApplicationMasterService(RMContext rmContext) { super(ApplicationMasterService.class.getName()); this.amLivelinessMonitor = rmContext.getAMLivelinessMonitor(); - this.rScheduler = scheduler; + this.rScheduler = rmContext.getScheduler(); this.resync.setAMCommand(AMCommand.AM_RESYNC); this.rmContext = rmContext; } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java index d8554bd..509eb4d 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ClientRMService.java @@ -154,17 +154,14 @@ private final ApplicationACLsManager applicationsACLsManager; private final QueueACLsManager queueACLsManager; - public ClientRMService(RMContext rmContext, YarnScheduler scheduler, - RMAppManager rmAppManager, ApplicationACLsManager applicationACLsManager, - QueueACLsManager queueACLsManager, - RMDelegationTokenSecretManager rmDTSecretManager) { + public ClientRMService(RMContext rmContext) { super(ClientRMService.class.getName()); - this.scheduler = scheduler; this.rmContext = rmContext; - this.rmAppManager = rmAppManager; - this.applicationsACLsManager = applicationACLsManager; - this.queueACLsManager = queueACLsManager; - this.rmDTSecretManager = rmDTSecretManager; + this.scheduler = rmContext.getScheduler(); + this.rmAppManager = rmContext.getRMAppManager(); + this.applicationsACLsManager = rmContext.getApplicationACLsManager(); + this.queueACLsManager = rmContext.getQueueACLsManager(); + this.rmDTSecretManager = rmContext.getRMDelegationTokenSecretManager(); } @Override diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java index 51024cf..b6c110c 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java @@ -76,13 +76,11 @@ private final ApplicationACLsManager applicationACLsManager; private Configuration conf; - public RMAppManager(RMContext context, - YarnScheduler scheduler, ApplicationMasterService masterService, - ApplicationACLsManager applicationACLsManager, Configuration conf) { + public RMAppManager(RMContext context, Configuration conf) { this.rmContext = context; - this.scheduler = scheduler; - this.masterService = masterService; - this.applicationACLsManager = applicationACLsManager; + this.scheduler = rmContext.getScheduler(); + this.masterService = rmContext.getApplicationMasterService(); + this.applicationACLsManager = rmContext.getApplicationACLsManager(); this.conf = conf; this.maxCompletedAppsInMemory = conf.getInt( YarnConfiguration.RM_MAX_COMPLETED_APPLICATIONS, diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContext.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContext.java index 517e680..07f03f2 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContext.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContext.java @@ -36,8 +36,10 @@ import org.apache.hadoop.yarn.server.resourcemanager.security.ClientToAMTokenSecretManagerInRM; import org.apache.hadoop.yarn.server.resourcemanager.security.DelegationTokenRenewer; import org.apache.hadoop.yarn.server.resourcemanager.security.NMTokenSecretManagerInRM; +import org.apache.hadoop.yarn.server.resourcemanager.security.QueueACLsManager; import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager; import org.apache.hadoop.yarn.server.resourcemanager.security.RMDelegationTokenSecretManager; +import org.apache.hadoop.yarn.server.security.ApplicationACLsManager; /** * Context of the ResourceManager. @@ -76,6 +78,8 @@ NodesListManager getNodesListManager(); + NMLivelinessMonitor getNMLivelinessMonitor(); + ClientToAMTokenSecretManagerInRM getClientToAMTokenSecretManager(); AdminService getRMAdminService(); @@ -100,5 +104,12 @@ void setRMApplicationHistoryWriter( ConfigurationProvider getConfigurationProvider(); + ApplicationACLsManager getApplicationACLsManager(); + + QueueACLsManager getQueueACLsManager(); + + RMAppManager getRMAppManager(); + boolean isWorkPreservingRecoveryEnabled(); + } \ No newline at end of file diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java index 1abc660..83f5a86 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMContextImpl.java @@ -41,10 +41,12 @@ import org.apache.hadoop.yarn.server.resourcemanager.security.ClientToAMTokenSecretManagerInRM; import org.apache.hadoop.yarn.server.resourcemanager.security.DelegationTokenRenewer; import org.apache.hadoop.yarn.server.resourcemanager.security.NMTokenSecretManagerInRM; +import org.apache.hadoop.yarn.server.resourcemanager.security.QueueACLsManager; import org.apache.hadoop.yarn.server.resourcemanager.security.RMContainerTokenSecretManager; import org.apache.hadoop.yarn.server.resourcemanager.security.RMDelegationTokenSecretManager; import com.google.common.annotations.VisibleForTesting; +import org.apache.hadoop.yarn.server.security.ApplicationACLsManager; public class RMContextImpl implements RMContext { @@ -78,10 +80,14 @@ private RMDelegationTokenSecretManager rmDelegationTokenSecretManager; private ResourceScheduler scheduler; private NodesListManager nodesListManager; + private NMLivelinessMonitor nmLivelinessMonitor; private ResourceTrackerService resourceTrackerService; private ApplicationMasterService applicationMasterService; private RMApplicationHistoryWriter rmApplicationHistoryWriter; private ConfigurationProvider configurationProvider; + private ApplicationACLsManager applicationACLsManager; + private QueueACLsManager queueACLsManager; + private RMAppManager rmAppManager; /** * Default constructor. To be used in conjunction with setter methods for @@ -199,6 +205,11 @@ public NodesListManager getNodesListManager() { } @Override + public NMLivelinessMonitor getNMLivelinessMonitor() { + return this.nmLivelinessMonitor; + } + + @Override public ClientToAMTokenSecretManagerInRM getClientToAMTokenSecretManager() { return this.clientToAMTokenSecretManager; } @@ -228,6 +239,21 @@ public ResourceTrackerService getResourceTrackerService() { return resourceTrackerService; } + @Override + public ApplicationACLsManager getApplicationACLsManager() { + return applicationACLsManager; + } + + @Override + public QueueACLsManager getQueueACLsManager() { + return queueACLsManager; + } + + @Override + public RMAppManager getRMAppManager() { + return rmAppManager; + } + void setHAEnabled(boolean isHAEnabled) { this.isHAEnabled = isHAEnabled; } @@ -275,12 +301,14 @@ void setAMFinishingMonitor(AMLivelinessMonitor amFinishingMonitor) { this.amFinishingMonitor = amFinishingMonitor; } - void setContainerTokenSecretManager( + @VisibleForTesting + public void setContainerTokenSecretManager( RMContainerTokenSecretManager containerTokenSecretManager) { this.containerTokenSecretManager = containerTokenSecretManager; } - void setNMTokenSecretManager( + @VisibleForTesting + public void setNMTokenSecretManager( NMTokenSecretManagerInRM nmTokenSecretManager) { this.nmTokenSecretManager = nmTokenSecretManager; } @@ -304,9 +332,15 @@ void setAMRMTokenSecretManager( this.amRMTokenSecretManager = amRMTokenSecretManager; } - void setNodesListManager(NodesListManager nodesListManager) { + @VisibleForTesting + public void setNodesListManager(NodesListManager nodesListManager) { this.nodesListManager = nodesListManager; } + + @VisibleForTesting + public void setNMLivelinessMonitor(NMLivelinessMonitor nmLivelinessMonitor) { + this.nmLivelinessMonitor = nmLivelinessMonitor; + } void setApplicationMasterService( ApplicationMasterService applicationMasterService) { @@ -318,6 +352,20 @@ void setResourceTrackerService( this.resourceTrackerService = resourceTrackerService; } + void setApplicationACLsManager( + ApplicationACLsManager applicationACLsManager) { + this.applicationACLsManager = applicationACLsManager; + } + + void setQueueACLsManager(QueueACLsManager queueACLsManager) { + this.queueACLsManager = queueACLsManager; + } + + void setRMAppManager(RMAppManager rmAppManager) { + this.rmAppManager = rmAppManager; + } + + @Override public boolean isHAEnabled() { return isHAEnabled; diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java index 77de209..c423b40 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceManager.java @@ -136,19 +136,10 @@ * in Active state. */ protected RMActiveServices activeServices; - protected RMSecretManagerService rmSecretManagerService; protected ResourceScheduler scheduler; - private ClientRMService clientRM; - protected ApplicationMasterService masterService; - protected NMLivelinessMonitor nmLivelinessMonitor; - protected NodesListManager nodesListManager; - protected RMAppManager rmAppManager; - protected ApplicationACLsManager applicationACLsManager; - protected QueueACLsManager queueACLsManager; private WebApp webApp; private AppReportFetcher fetcher = null; - protected ResourceTrackerService resourceTracker; private String webAppAddress; private ConfigurationProvider configurationProvider = null; @@ -288,8 +279,7 @@ protected DelegationTokenRenewer createDelegationTokenRenewer() { } protected RMAppManager createRMAppManager() { - return new RMAppManager(this.rmContext, this.scheduler, this.masterService, - this.applicationACLsManager, this.conf); + return new RMAppManager(this.rmContext, this.conf); } protected RMApplicationHistoryWriter createRMApplicationHistoryWriter() { @@ -333,7 +323,7 @@ protected static void validateConfigs(Configuration conf) { private EventHandler schedulerDispatcher; private ApplicationMasterLauncher applicationMasterLauncher; private ContainerAllocationExpirer containerAllocationExpirer; - + private boolean recoveryEnabled; RMActiveServices() { @@ -344,7 +334,8 @@ protected static void validateConfigs(Configuration conf) { protected void serviceInit(Configuration configuration) throws Exception { conf.setBoolean(Dispatcher.DISPATCHER_EXIT_ON_ERROR_KEY, true); - rmSecretManagerService = createRMSecretManagerService(); + RMSecretManagerService rmSecretManagerService = + createRMSecretManagerService(); addService(rmSecretManagerService); containerAllocationExpirer = new ContainerAllocationExpirer(rmDispatcher); @@ -400,7 +391,7 @@ protected void serviceInit(Configuration configuration) throws Exception { rmContext.setRMApplicationHistoryWriter(rmApplicationHistoryWriter); // Register event handler for NodesListManager - nodesListManager = new NodesListManager(rmContext); + NodesListManager nodesListManager = new NodesListManager(rmContext); rmDispatcher.register(NodesListManagerEventType.class, nodesListManager); addService(nodesListManager); rmContext.setNodesListManager(nodesListManager); @@ -427,10 +418,11 @@ protected void serviceInit(Configuration configuration) throws Exception { rmDispatcher.register( RMNodeEventType.class, new NodeEventDispatcher(rmContext)); - nmLivelinessMonitor = createNMLivelinessMonitor(); + NMLivelinessMonitor nmLivelinessMonitor = createNMLivelinessMonitor(); addService(nmLivelinessMonitor); + rmContext.setNMLivelinessMonitor(nmLivelinessMonitor); - resourceTracker = createResourceTrackerService(); + ResourceTrackerService resourceTracker = createResourceTrackerService(); addService(resourceTracker); rmContext.setResourceTrackerService(resourceTracker); @@ -440,19 +432,24 @@ protected void serviceInit(Configuration configuration) throws Exception { // creating monitors that handle preemption createPolicyMonitors(); - masterService = createApplicationMasterService(); + ApplicationMasterService masterService = createApplicationMasterService(); addService(masterService) ; rmContext.setApplicationMasterService(masterService); - applicationACLsManager = new ApplicationACLsManager(conf); + ApplicationACLsManager applicationACLsManager = + new ApplicationACLsManager(conf); + rmContext.setApplicationACLsManager(applicationACLsManager); - queueACLsManager = createQueueACLsManager(scheduler, conf); + QueueACLsManager queueACLsManager = + createQueueACLsManager(scheduler, conf); + rmContext.setQueueACLsManager(queueACLsManager); - rmAppManager = createRMAppManager(); + RMAppManager rmAppManager = createRMAppManager(); // Register event handler for RMAppManagerEvents rmDispatcher.register(RMAppManagerEventType.class, rmAppManager); + rmContext.setRMAppManager(rmAppManager); - clientRM = createClientRMService(); + ClientRMService clientRM = createClientRMService(); rmContext.setClientRMService(clientRM); addService(clientRM); rmContext.setClientRMService(clientRM); @@ -788,7 +785,8 @@ public void handle(RMNodeEvent event) { protected void startWepApp() { Builder builder = WebApps - .$for("cluster", ApplicationMasterService.class, masterService, + .$for("cluster", ApplicationMasterService.class, + getRMContext().getApplicationMasterService(), "ws") .with(conf) .withHttpSpnegoPrincipalKey( @@ -951,20 +949,15 @@ protected void serviceStop() throws Exception { } protected ResourceTrackerService createResourceTrackerService() { - return new ResourceTrackerService(this.rmContext, this.nodesListManager, - this.nmLivelinessMonitor, - this.rmContext.getContainerTokenSecretManager(), - this.rmContext.getNMTokenSecretManager()); + return new ResourceTrackerService(this.rmContext); } protected ClientRMService createClientRMService() { - return new ClientRMService(this.rmContext, scheduler, this.rmAppManager, - this.applicationACLsManager, this.queueACLsManager, - this.rmContext.getRMDelegationTokenSecretManager()); + return new ClientRMService(this.rmContext); } protected ApplicationMasterService createApplicationMasterService() { - return new ApplicationMasterService(this.rmContext, scheduler); + return new ApplicationMasterService(this.rmContext); } protected AdminService createAdminService() { @@ -977,7 +970,7 @@ protected RMSecretManagerService createRMSecretManagerService() { @Private public ClientRMService getClientRMService() { - return this.clientRM; + return this.getRMContext().getClientRMService(); } /** @@ -995,22 +988,22 @@ public ResourceScheduler getResourceScheduler() { */ @Private public ResourceTrackerService getResourceTrackerService() { - return this.resourceTracker; + return this.getRMContext().getResourceTrackerService(); } @Private public ApplicationMasterService getApplicationMasterService() { - return this.masterService; + return this.getRMContext().getApplicationMasterService(); } @Private public ApplicationACLsManager getApplicationACLsManager() { - return this.applicationACLsManager; + return this.getRMContext().getApplicationACLsManager(); } @Private public QueueACLsManager getQueueACLsManager() { - return this.queueACLsManager; + return this.getRMContext().getQueueACLsManager(); } @Private @@ -1024,7 +1017,7 @@ public void recover(RMState state) throws Exception { rmContext.getRMDelegationTokenSecretManager().recover(state); // recover applications - rmAppManager.recover(state); + rmContext.getRMAppManager().recover(state); } public static void main(String argv[]) { diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java index f2a8376..fae79ad 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/ResourceTrackerService.java @@ -104,17 +104,14 @@ shutDown.setNodeAction(NodeAction.SHUTDOWN); } - public ResourceTrackerService(RMContext rmContext, - NodesListManager nodesListManager, - NMLivelinessMonitor nmLivelinessMonitor, - RMContainerTokenSecretManager containerTokenSecretManager, - NMTokenSecretManagerInRM nmTokenSecretManager) { + public ResourceTrackerService(RMContext rmContext) { super(ResourceTrackerService.class.getName()); this.rmContext = rmContext; - this.nodesListManager = nodesListManager; - this.nmLivelinessMonitor = nmLivelinessMonitor; - this.containerTokenSecretManager = containerTokenSecretManager; - this.nmTokenSecretManager = nmTokenSecretManager; + this.nodesListManager = rmContext.getNodesListManager(); + this.nmLivelinessMonitor = rmContext.getNMLivelinessMonitor(); + this.containerTokenSecretManager = + rmContext.getContainerTokenSecretManager(); + this.nmTokenSecretManager = rmContext.getNMTokenSecretManager(); } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java index 45c2e5f..067aad1 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/MockRM.java @@ -397,7 +397,8 @@ public KillApplicationResponse killApp(ApplicationId appId) throws Exception { // from AMLauncher public MockAM sendAMLaunched(ApplicationAttemptId appAttemptId) throws Exception { - MockAM am = new MockAM(getRMContext(), masterService, appAttemptId); + MockAM am = new MockAM(getRMContext(), + getRMContext().getApplicationMasterService(), appAttemptId); am.waitForState(RMAppAttemptState.ALLOCATED); getRMContext() .getDispatcher() @@ -409,7 +410,8 @@ public MockAM sendAMLaunched(ApplicationAttemptId appAttemptId) public void sendAMLaunchFailed(ApplicationAttemptId appAttemptId) throws Exception { - MockAM am = new MockAM(getRMContext(), masterService, appAttemptId); + MockAM am = new MockAM(getRMContext(), + getRMContext().getApplicationMasterService(), appAttemptId); am.waitForState(RMAppAttemptState.ALLOCATED); getRMContext().getDispatcher().getEventHandler() .handle(new RMAppAttemptLaunchFailedEvent(appAttemptId, "Failed")); @@ -417,9 +419,7 @@ public void sendAMLaunchFailed(ApplicationAttemptId appAttemptId) @Override protected ClientRMService createClientRMService() { - return new ClientRMService(getRMContext(), getResourceScheduler(), - rmAppManager, applicationACLsManager, queueACLsManager, - getRMContext().getRMDelegationTokenSecretManager()) { + return new ClientRMService(getRMContext()) { @Override protected void serviceStart() { // override to not start rpc handler @@ -442,9 +442,7 @@ protected ResourceTrackerService createResourceTrackerService() { NMTokenSecretManagerInRM nmTokenSecretManager = getRMContext().getNMTokenSecretManager(); nmTokenSecretManager.rollMasterKey(); - return new ResourceTrackerService(getRMContext(), nodesListManager, - this.nmLivelinessMonitor, containerTokenSecretManager, - nmTokenSecretManager) { + return new ResourceTrackerService(getRMContext()) { @Override protected void serviceStart() { @@ -460,7 +458,7 @@ protected void serviceStop() { @Override protected ApplicationMasterService createApplicationMasterService() { - return new ApplicationMasterService(getRMContext(), scheduler) { + return new ApplicationMasterService(getRMContext()) { @Override protected void serviceStart() { // override to not start rpc handler @@ -514,7 +512,7 @@ protected EmbeddedElectorService createEmbeddedElectorService() { } public NodesListManager getNodesListManager() { - return this.nodesListManager; + return this.getRMContext().getNodesListManager(); } public ClientToAMTokenSecretManagerInRM getClientToAMTokenSecretManager() { @@ -522,7 +520,7 @@ public ClientToAMTokenSecretManagerInRM getClientToAMTokenSecretManager() { } public RMAppManager getRMAppManager() { - return this.rmAppManager; + return this.getRMContext().getRMAppManager(); } @Override diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/QueueACLsTestBase.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/QueueACLsTestBase.java index e8f1425..1df9c62 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/QueueACLsTestBase.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/QueueACLsTestBase.java @@ -84,9 +84,7 @@ public void setup() throws InterruptedException, IOException { resourceManager = new MockRM(conf) { protected ClientRMService createClientRMService() { - return new ClientRMService(getRMContext(), this.scheduler, - this.rmAppManager, this.applicationACLsManager, - this.queueACLsManager, getRMContext().getRMDelegationTokenSecretManager()); + return new ClientRMService(getRMContext()); }; @Override diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/RMHATestBase.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/RMHATestBase.java index 58258ac..3af6636 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/RMHATestBase.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/RMHATestBase.java @@ -115,8 +115,7 @@ protected void startRMsWithCustomizedRMAppManager() throws IOException { rm1 = new MockRM(conf1) { @Override protected RMAppManager createRMAppManager() { - return new MyRMAppManager(this.rmContext, this.scheduler, - this.masterService, this.applicationACLsManager, conf1); + return new MyRMAppManager(this.rmContext, conf1); } }; @@ -130,10 +129,8 @@ protected RMAppManager createRMAppManager() { private Configuration conf; private RMContext rmContext; - public MyRMAppManager(RMContext context, YarnScheduler scheduler, - ApplicationMasterService masterService, - ApplicationACLsManager applicationACLsManager, Configuration conf) { - super(context, scheduler, masterService, applicationACLsManager, conf); + public MyRMAppManager(RMContext context, Configuration conf) { + super(context, conf); this.conf = conf; this.rmContext = context; } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAMAuthorization.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAMAuthorization.java index c7f0d0a..2139548 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAMAuthorization.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAMAuthorization.java @@ -145,7 +145,7 @@ protected void doSecureLogin() throws IOException { @Override protected ApplicationMasterService createApplicationMasterService() { - return new ApplicationMasterService(getRMContext(), this.scheduler); + return new ApplicationMasterService(getRMContext()); } @SuppressWarnings("unchecked") diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java index d720eb6..035b423 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestAppManager.java @@ -154,14 +154,7 @@ public void handle(RMAppEvent event) { public class TestRMAppManager extends RMAppManager { public TestRMAppManager(RMContext context, Configuration conf) { - super(context, null, null, new ApplicationACLsManager(conf), conf); - } - - public TestRMAppManager(RMContext context, - ClientToAMTokenSecretManagerInRM clientToAMSecretManager, - YarnScheduler scheduler, ApplicationMasterService masterService, - ApplicationACLsManager applicationACLsManager, Configuration conf) { - super(context, scheduler, masterService, applicationACLsManager, conf); + super(context, conf); } public void checkAppNumCompletedLimit() { @@ -208,11 +201,13 @@ public void setUp() { rmContext = mockRMContext(1, now - 10); ResourceScheduler scheduler = mockResourceScheduler(); Configuration conf = new Configuration(); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); ApplicationMasterService masterService = - new ApplicationMasterService(rmContext, scheduler); - appMonitor = new TestRMAppManager(rmContext, - new ClientToAMTokenSecretManagerInRM(), scheduler, masterService, - new ApplicationACLsManager(conf), conf); + new ApplicationMasterService(rmContext); + ((RMContextImpl) rmContext).setScheduler(scheduler); + ((RMContextImpl) rmContext).setApplicationMasterService(masterService); + appMonitor = new TestRMAppManager(rmContext, conf); appId = MockApps.newAppID(1); RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null); @@ -239,6 +234,8 @@ public void testRMAppRetireNone() throws Exception { RMContext rmContext = mockRMContext(10, now - 10); Configuration conf = new YarnConfiguration(); conf.setInt(YarnConfiguration.RM_MAX_COMPLETED_APPLICATIONS, 10); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); TestRMAppManager appMonitor = new TestRMAppManager(rmContext,conf); Assert.assertEquals("Number of apps incorrect before checkAppTimeLimit", @@ -265,6 +262,8 @@ public void testRMAppRetireSome() throws Exception { Configuration conf = new YarnConfiguration(); conf.setInt(YarnConfiguration.RM_STATE_STORE_MAX_COMPLETED_APPLICATIONS, 3); conf.setInt(YarnConfiguration.RM_MAX_COMPLETED_APPLICATIONS, 3); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); TestRMAppManager appMonitor = new TestRMAppManager(rmContext, conf); Assert.assertEquals("Number of apps incorrect before", 10, rmContext @@ -293,6 +292,8 @@ public void testRMAppRetireSomeDifferentStates() throws Exception { conf.setInt(YarnConfiguration.RM_STATE_STORE_MAX_COMPLETED_APPLICATIONS, 2); conf.setInt(YarnConfiguration.RM_MAX_COMPLETED_APPLICATIONS, 2); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); TestRMAppManager appMonitor = new TestRMAppManager(rmContext, conf); // clear out applications map @@ -346,7 +347,10 @@ public void testRMAppRetireNullApp() throws Exception { long now = System.currentTimeMillis(); RMContext rmContext = mockRMContext(10, now - 20000); - TestRMAppManager appMonitor = new TestRMAppManager(rmContext, new Configuration()); + Configuration conf = new Configuration(); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); + TestRMAppManager appMonitor = new TestRMAppManager(rmContext, conf); Assert.assertEquals("Number of apps incorrect before", 10, rmContext .getRMApps().size()); @@ -365,6 +369,8 @@ public void testRMAppRetireZeroSetting() throws Exception { Configuration conf = new YarnConfiguration(); conf.setInt(YarnConfiguration.RM_STATE_STORE_MAX_COMPLETED_APPLICATIONS, 0); conf.setInt(YarnConfiguration.RM_MAX_COMPLETED_APPLICATIONS, 0); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); TestRMAppManager appMonitor = new TestRMAppManager(rmContext, conf); Assert.assertEquals("Number of apps incorrect before", 10, rmContext .getRMApps().size()); @@ -393,6 +399,8 @@ public void testStateStoreAppLimitLessThanMemoryAppLimit() { conf.setInt(YarnConfiguration.RM_MAX_COMPLETED_APPLICATIONS, maxAppsInMemory); conf.setInt(YarnConfiguration.RM_STATE_STORE_MAX_COMPLETED_APPLICATIONS, maxAppsInStateStore); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); TestRMAppManager appMonitor = new TestRMAppManager(rmContext, conf); addToCompletedApps(appMonitor, rmContext); @@ -421,6 +429,8 @@ public void testStateStoreAppLimitLargerThanMemoryAppLimit() { conf.setInt(YarnConfiguration.RM_MAX_COMPLETED_APPLICATIONS, maxAppsInMemory); // larger than maxCompletedAppsInMemory, reset to RM_MAX_COMPLETED_APPLICATIONS. conf.setInt(YarnConfiguration.RM_STATE_STORE_MAX_COMPLETED_APPLICATIONS, 1000); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); TestRMAppManager appMonitor = new TestRMAppManager(rmContext, conf); addToCompletedApps(appMonitor, rmContext); @@ -483,10 +493,12 @@ public void testRMAppSubmitMaxAppAttempts() throws Exception { Configuration conf = new Configuration(); conf.setInt(YarnConfiguration.RM_AM_MAX_ATTEMPTS, globalMaxAppAttempts[i]); ApplicationMasterService masterService = - new ApplicationMasterService(rmContext, scheduler); - TestRMAppManager appMonitor = new TestRMAppManager(rmContext, - new ClientToAMTokenSecretManagerInRM(), scheduler, masterService, - new ApplicationACLsManager(conf), conf); + new ApplicationMasterService(rmContext); + ((RMContextImpl) rmContext).setApplicationACLsManager( + new ApplicationACLsManager(conf)); + ((RMContextImpl) rmContext).setScheduler(scheduler); + ((RMContextImpl) rmContext).setApplicationMasterService(masterService); + TestRMAppManager appMonitor = new TestRMAppManager(rmContext, conf); ApplicationId appID = MockApps.newAppID(i * 4 + j + 1); asContext.setApplicationId(appID); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationACLs.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationACLs.java index a288c57..454aead 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationACLs.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestApplicationACLs.java @@ -119,9 +119,7 @@ public Object answer(InvocationOnMock invocation) { } protected ClientRMService createClientRMService() { - return new ClientRMService(getRMContext(), this.scheduler, - this.rmAppManager, this.applicationACLsManager, - this.queueACLsManager, null); + return new ClientRMService(getRMContext()); }; }; new Thread() { diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java index 4b1f59c..7cd0fe6 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMService.java @@ -158,9 +158,7 @@ public static void teardownSecretManager() { public void testGetClusterNodes() throws Exception { MockRM rm = new MockRM() { protected ClientRMService createClientRMService() { - return new ClientRMService(this.rmContext, scheduler, - this.rmAppManager, this.applicationACLsManager, this.queueACLsManager, - this.getRMContext().getRMDelegationTokenSecretManager()); + return new ClientRMService(this.rmContext); }; }; rm.start(); @@ -222,8 +220,7 @@ public void testGetApplicationReport() throws YarnException { RMContext rmContext = mock(RMContext.class); when(rmContext.getRMApps()).thenReturn( new ConcurrentHashMap()); - ClientRMService rmService = new ClientRMService(rmContext, null, null, - null, null, null); + ClientRMService rmService = new ClientRMService(rmContext); RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null); GetApplicationReportRequest request = recordFactory .newRecordInstance(GetApplicationReportRequest.class); @@ -263,9 +260,9 @@ public void testGetApplicationAttemptReport() throws YarnException, public void testGetApplicationResourceUsageReportDummy() throws YarnException, IOException { ApplicationAttemptId attemptId = getApplicationAttemptId(1); - YarnScheduler yarnScheduler = mockYarnScheduler(); + ResourceScheduler resourceScheduler = mockResourceScheduler(); RMContext rmContext = mock(RMContext.class); - mockRMContext(yarnScheduler, rmContext); + mockRMContext(resourceScheduler, rmContext); when(rmContext.getDispatcher().getEventHandler()).thenReturn( new EventHandler() { public void handle(Event event) { @@ -275,7 +272,7 @@ public void handle(Event event) { mock(ApplicationSubmissionContext.class); YarnConfiguration config = new YarnConfiguration(); RMAppAttemptImpl rmAppAttemptImpl = new RMAppAttemptImpl(attemptId, - rmContext, yarnScheduler, null, asContext, config, false); + rmContext, resourceScheduler, null, asContext, config, false); ApplicationResourceUsageReport report = rmAppAttemptImpl .getApplicationResourceUsageReport(); assertEquals(report, RMServerUtils.DUMMY_APPLICATION_RESOURCE_USAGE_REPORT); @@ -344,14 +341,14 @@ public void testGetContainers() throws YarnException, IOException { } public ClientRMService createRMService() throws IOException { - YarnScheduler yarnScheduler = mockYarnScheduler(); + ResourceScheduler resourceScheduler = mockResourceScheduler(); RMContext rmContext = mock(RMContext.class); - mockRMContext(yarnScheduler, rmContext); + mockRMContext(resourceScheduler, rmContext); ConcurrentHashMap apps = getRMApps(rmContext, - yarnScheduler); + resourceScheduler); when(rmContext.getRMApps()).thenReturn(apps); - RMAppManager appManager = new RMAppManager(rmContext, yarnScheduler, null, - mock(ApplicationACLsManager.class), new Configuration()); + RMAppManager appManager = new RMAppManager(rmContext, new Configuration()); + when(rmContext.getRMAppManager()).thenReturn(appManager); when(rmContext.getDispatcher().getEventHandler()).thenReturn( new EventHandler() { public void handle(Event event) { @@ -359,12 +356,13 @@ public void handle(Event event) { }); ApplicationACLsManager mockAclsManager = mock(ApplicationACLsManager.class); + when(rmContext.getApplicationACLsManager()).thenReturn(mockAclsManager); QueueACLsManager mockQueueACLsManager = mock(QueueACLsManager.class); when( mockQueueACLsManager.checkAccess(any(UserGroupInformation.class), any(QueueACL.class), anyString())).thenReturn(true); - return new ClientRMService(rmContext, yarnScheduler, appManager, - mockAclsManager, mockQueueACLsManager, null); + when(rmContext.getQueueACLsManager()).thenReturn(mockQueueACLsManager); + return new ClientRMService(rmContext); } @Test @@ -372,8 +370,7 @@ public void testForceKillNonExistingApplication() throws YarnException { RMContext rmContext = mock(RMContext.class); when(rmContext.getRMApps()).thenReturn( new ConcurrentHashMap()); - ClientRMService rmService = new ClientRMService(rmContext, null, null, - null, null, null); + ClientRMService rmService = new ClientRMService(rmContext); ApplicationId applicationId = BuilderUtils.newApplicationId(System.currentTimeMillis(), 0); KillApplicationRequest request = @@ -445,8 +442,7 @@ public void testMoveAbsentApplication() throws YarnException { RMContext rmContext = mock(RMContext.class); when(rmContext.getRMApps()).thenReturn( new ConcurrentHashMap()); - ClientRMService rmService = new ClientRMService(rmContext, null, null, - null, null, null); + ClientRMService rmService = new ClientRMService(rmContext); ApplicationId applicationId = BuilderUtils.newApplicationId(System.currentTimeMillis(), 0); MoveApplicationAcrossQueuesRequest request = @@ -456,11 +452,10 @@ public void testMoveAbsentApplication() throws YarnException { @Test public void testGetQueueInfo() throws Exception { - YarnScheduler yarnScheduler = mock(YarnScheduler.class); + ResourceScheduler yarnScheduler = mock(ResourceScheduler.class); RMContext rmContext = mock(RMContext.class); mockRMContext(yarnScheduler, rmContext); - ClientRMService rmService = new ClientRMService(rmContext, yarnScheduler, - null, null, null, null); + ClientRMService rmService = new ClientRMService(rmContext); GetQueueInfoRequest request = recordFactory .newRecordInstance(GetQueueInfoRequest.class); request.setQueueName("testqueue"); @@ -541,21 +536,19 @@ private void checkTokenRenewal(UserGroupInformation owner, request.setDelegationToken(dToken); RMContext rmContext = mock(RMContext.class); - ClientRMService rmService = new ClientRMService( - rmContext, null, null, null, null, dtsm); + when(rmContext.getRMDelegationTokenSecretManager()).thenReturn(dtsm); + ClientRMService rmService = new ClientRMService(rmContext); rmService.renewDelegationToken(request); } @Test (timeout = 30000) @SuppressWarnings ("rawtypes") public void testAppSubmit() throws Exception { - YarnScheduler yarnScheduler = mockYarnScheduler(); + ResourceScheduler resourceScheduler = mockResourceScheduler(); RMContext rmContext = mock(RMContext.class); - mockRMContext(yarnScheduler, rmContext); + mockRMContext(resourceScheduler, rmContext); RMStateStore stateStore = mock(RMStateStore.class); when(rmContext.getStateStore()).thenReturn(stateStore); - RMAppManager appManager = new RMAppManager(rmContext, yarnScheduler, - null, mock(ApplicationACLsManager.class), new Configuration()); when(rmContext.getDispatcher().getEventHandler()).thenReturn( new EventHandler() { public void handle(Event event) {} @@ -566,13 +559,15 @@ public void handle(Event event) {} when( mockAclsManager.checkAccess(UserGroupInformation.getCurrentUser(), ApplicationAccessType.VIEW_APP, null, appId1)).thenReturn(true); + when(rmContext.getApplicationACLsManager()).thenReturn(mockAclsManager); QueueACLsManager mockQueueACLsManager = mock(QueueACLsManager.class); when(mockQueueACLsManager.checkAccess(any(UserGroupInformation.class), any(QueueACL.class), anyString())).thenReturn(true); - ClientRMService rmService = - new ClientRMService(rmContext, yarnScheduler, appManager, - mockAclsManager, mockQueueACLsManager, null); + when(rmContext.getQueueACLsManager()).thenReturn(mockQueueACLsManager); + RMAppManager appManager = new RMAppManager(rmContext, new Configuration()); + when(rmContext.getRMAppManager()).thenReturn(appManager); + ClientRMService rmService = new ClientRMService(rmContext); // without name and queue @@ -642,13 +637,11 @@ public void testGetApplications() throws IOException, YarnException { * 2. Test each of the filters */ // Basic setup - YarnScheduler yarnScheduler = mockYarnScheduler(); + ResourceScheduler resourceScheduler = mockResourceScheduler(); RMContext rmContext = mock(RMContext.class); - mockRMContext(yarnScheduler, rmContext); + mockRMContext(resourceScheduler, rmContext); RMStateStore stateStore = mock(RMStateStore.class); when(rmContext.getStateStore()).thenReturn(stateStore); - RMAppManager appManager = new RMAppManager(rmContext, yarnScheduler, - null, mock(ApplicationACLsManager.class), new Configuration()); when(rmContext.getDispatcher().getEventHandler()).thenReturn( new EventHandler() { public void handle(Event event) {} @@ -658,9 +651,11 @@ public void handle(Event event) {} QueueACLsManager mockQueueACLsManager = mock(QueueACLsManager.class); when(mockQueueACLsManager.checkAccess(any(UserGroupInformation.class), any(QueueACL.class), anyString())).thenReturn(true); - ClientRMService rmService = - new ClientRMService(rmContext, yarnScheduler, appManager, - mockAclsManager, mockQueueACLsManager, null); + when(rmContext.getApplicationACLsManager()).thenReturn(mockAclsManager); + when(rmContext.getQueueACLsManager()).thenReturn(mockQueueACLsManager); + RMAppManager appManager = new RMAppManager(rmContext, new Configuration()); + when(rmContext.getRMAppManager()).thenReturn(appManager); + ClientRMService rmService = new ClientRMService(rmContext); // Initialize appnames and queues String[] queues = {QUEUE_1, QUEUE_2}; @@ -779,13 +774,15 @@ public void handle(Event event) {} public void testConcurrentAppSubmit() throws IOException, InterruptedException, BrokenBarrierException, YarnException { - YarnScheduler yarnScheduler = mockYarnScheduler(); + ResourceScheduler resourceScheduler = mockResourceScheduler(); RMContext rmContext = mock(RMContext.class); - mockRMContext(yarnScheduler, rmContext); + mockRMContext(resourceScheduler, rmContext); RMStateStore stateStore = mock(RMStateStore.class); when(rmContext.getStateStore()).thenReturn(stateStore); - RMAppManager appManager = new RMAppManager(rmContext, yarnScheduler, - null, mock(ApplicationACLsManager.class), new Configuration()); + ApplicationACLsManager mockAclsManager = mock(ApplicationACLsManager.class); + when(rmContext.getApplicationACLsManager()).thenReturn(mockAclsManager); + RMAppManager appManager = new RMAppManager(rmContext, new Configuration()); + when(rmContext.getRMAppManager()).thenReturn(appManager); final ApplicationId appId1 = getApplicationId(100); final ApplicationId appId2 = getApplicationId(101); @@ -819,9 +816,7 @@ public void handle(Event rawEvent) { when(rmContext.getDispatcher().getEventHandler()).thenReturn(eventHandler); - final ClientRMService rmService = - new ClientRMService(rmContext, yarnScheduler, appManager, null, null, - null); + final ClientRMService rmService = new ClientRMService(rmContext); // submit an app and wait for it to block while in app submission Thread t = new Thread() { @@ -876,7 +871,8 @@ private SubmitApplicationRequest mockSubmitAppRequest(ApplicationId appId, return submitRequest; } - private void mockRMContext(YarnScheduler yarnScheduler, RMContext rmContext) + private void mockRMContext(ResourceScheduler resourceScheduler, + RMContext rmContext) throws IOException { Dispatcher dispatcher = mock(Dispatcher.class); when(rmContext.getDispatcher()).thenReturn(dispatcher); @@ -884,19 +880,18 @@ private void mockRMContext(YarnScheduler yarnScheduler, RMContext rmContext) when(dispatcher.getEventHandler()).thenReturn(eventHandler); QueueInfo queInfo = recordFactory.newRecordInstance(QueueInfo.class); queInfo.setQueueName("testqueue"); - when(yarnScheduler.getQueueInfo(eq("testqueue"), anyBoolean(), anyBoolean())) - .thenReturn(queInfo); - when(yarnScheduler.getQueueInfo(eq("nonexistentqueue"), anyBoolean(), anyBoolean())) - .thenThrow(new IOException("queue does not exist")); + when(resourceScheduler.getQueueInfo(eq("testqueue"), anyBoolean(), + anyBoolean())).thenReturn(queInfo); + when(resourceScheduler.getQueueInfo(eq("nonexistentqueue"), anyBoolean(), + anyBoolean())).thenThrow(new IOException("queue does not exist")); RMApplicationHistoryWriter writer = mock(RMApplicationHistoryWriter.class); when(rmContext.getRMApplicationHistoryWriter()).thenReturn(writer); ConcurrentHashMap apps = getRMApps(rmContext, - yarnScheduler); + resourceScheduler); when(rmContext.getRMApps()).thenReturn(apps); - when(yarnScheduler.getAppsInQueue(eq("testqueue"))).thenReturn( + when(resourceScheduler.getAppsInQueue(eq("testqueue"))).thenReturn( getSchedulerApps(apps)); - ResourceScheduler rs = mock(ResourceScheduler.class); - when(rmContext.getScheduler()).thenReturn(rs); + when(rmContext.getScheduler()).thenReturn(resourceScheduler); } private ConcurrentHashMap getRMApps( @@ -975,20 +970,22 @@ private RMAppImpl getRMApp(RMContext rmContext, YarnScheduler yarnScheduler, return app; } - private static YarnScheduler mockYarnScheduler() { - YarnScheduler yarnScheduler = mock(YarnScheduler.class); - when(yarnScheduler.getMinimumResourceCapability()).thenReturn( + private static ResourceScheduler mockResourceScheduler() { + ResourceScheduler resourceScheduler = mock(ResourceScheduler.class); + when(resourceScheduler.getMinimumResourceCapability()).thenReturn( Resources.createResource( YarnConfiguration.DEFAULT_RM_SCHEDULER_MINIMUM_ALLOCATION_MB)); - when(yarnScheduler.getMaximumResourceCapability()).thenReturn( + when(resourceScheduler.getMaximumResourceCapability()).thenReturn( Resources.createResource( YarnConfiguration.DEFAULT_RM_SCHEDULER_MAXIMUM_ALLOCATION_MB)); - when(yarnScheduler.getAppsInQueue(QUEUE_1)).thenReturn( - Arrays.asList(getApplicationAttemptId(101), getApplicationAttemptId(102))); - when(yarnScheduler.getAppsInQueue(QUEUE_2)).thenReturn( + when(resourceScheduler.getAppsInQueue(QUEUE_1)).thenReturn( + Arrays.asList(getApplicationAttemptId(101), + getApplicationAttemptId(102))); + when(resourceScheduler.getAppsInQueue(QUEUE_2)).thenReturn( Arrays.asList(getApplicationAttemptId(103))); ApplicationAttemptId attemptId = getApplicationAttemptId(1); - when(yarnScheduler.getAppResourceUsageReport(attemptId)).thenReturn(null); - return yarnScheduler; + when(resourceScheduler.getAppResourceUsageReport(attemptId)) + .thenReturn(null); + return resourceScheduler; } } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMTokens.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMTokens.java index ebe7ff0..bbdf31f 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMTokens.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestClientRMTokens.java @@ -64,9 +64,7 @@ import org.apache.hadoop.yarn.security.client.RMDelegationTokenIdentifier; import org.apache.hadoop.yarn.server.resourcemanager.recovery.NullRMStateStore; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler; -import org.apache.hadoop.yarn.server.resourcemanager.security.QueueACLsManager; import org.apache.hadoop.yarn.server.resourcemanager.security.RMDelegationTokenSecretManager; -import org.apache.hadoop.yarn.server.security.ApplicationACLsManager; import org.apache.hadoop.yarn.server.utils.BuilderUtils; import org.apache.hadoop.yarn.util.ConverterUtils; import org.apache.hadoop.yarn.util.Records; @@ -105,8 +103,12 @@ public void testDelegationToken() throws IOException, InterruptedException { + initialInterval + ", maxLifetime: " + maxLifetime + ", renewInterval: " + renewInterval); - final ClientRMService clientRMService = new ClientRMServiceForTest(conf, - scheduler, rmDtSecretManager); + RMContext rmContext = mock(RMContext.class); + when(rmContext.getScheduler()).thenReturn(scheduler); + when(rmContext.getRMDelegationTokenSecretManager()) + .thenReturn(rmDtSecretManager); + final ClientRMService clientRMService = new ClientRMServiceForTest( + rmContext, conf); clientRMService.init(conf); clientRMService.start(); @@ -428,13 +430,13 @@ public ApplicationClientProtocol run() { } class ClientRMServiceForTest extends ClientRMService { + private RMContext rmContext; - public ClientRMServiceForTest(Configuration conf, - ResourceScheduler scheduler, - RMDelegationTokenSecretManager rmDTSecretManager) { - super(mock(RMContext.class), scheduler, mock(RMAppManager.class), - new ApplicationACLsManager(conf), new QueueACLsManager(scheduler, - conf), rmDTSecretManager); + public ClientRMServiceForTest( + RMContext rmContext, + Configuration conf) { + super(rmContext); + this.rmContext = rmContext; } // Use a random port unless explicitly specified. @@ -446,8 +448,8 @@ InetSocketAddress getBindAddress(Configuration conf) { @Override protected void serviceStop() throws Exception { - if (rmDTSecretManager != null) { - rmDTSecretManager.stopThreads(); + if (rmContext.getRMDelegationTokenSecretManager() != null) { + rmContext.getRMDelegationTokenSecretManager().stopThreads(); } super.serviceStop(); } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestKillApplicationWithRMHA.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestKillApplicationWithRMHA.java index 149ddf5..460ba42 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestKillApplicationWithRMHA.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestKillApplicationWithRMHA.java @@ -193,9 +193,7 @@ private void startRMsWithCustomizedClientRMService() throws IOException { rm1 = new MockRM(conf1) { @Override protected ClientRMService createClientRMService() { - return new MyClientRMService(this.rmContext, this.scheduler, - this.rmAppManager, this.applicationACLsManager, - this.queueACLsManager, getRMContext().getRMDelegationTokenSecretManager()); + return new MyClientRMService(this.rmContext); } }; @@ -208,13 +206,8 @@ protected ClientRMService createClientRMService() { private RMContext rmContext; - public MyClientRMService(RMContext rmContext, YarnScheduler scheduler, - RMAppManager rmAppManager, - ApplicationACLsManager applicationACLsManager, - QueueACLsManager queueACLsManager, - RMDelegationTokenSecretManager rmDTSecretManager) { - super(rmContext, scheduler, rmAppManager, applicationACLsManager, - queueACLsManager, rmDTSecretManager); + public MyClientRMService(RMContext rmContext) { + super(rmContext); this.rmContext = rmContext; } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java index 8eed4e6..292f50c 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/TestRMRestart.java @@ -1794,10 +1794,7 @@ public void testSynchronouslyRenewDTOnRecovery() throws Exception { MockRM rm2 = new MockRM(conf, memStore) { @Override protected ResourceTrackerService createResourceTrackerService() { - return new ResourceTrackerService(this.rmContext, - this.nodesListManager, this.nmLivelinessMonitor, - this.rmContext.getContainerTokenSecretManager(), - this.rmContext.getNMTokenSecretManager()) { + return new ResourceTrackerService(this.rmContext) { @Override protected void serviceStart() throws Exception { // send the container_finished event as soon as the @@ -1806,7 +1803,7 @@ protected void serviceStart() throws Exception { nm1.setResourceTrackerService(getResourceTrackerService()); NMContainerStatus status = TestRMRestart.createNMContainerStatus( - am0.getApplicationAttemptId(), 1, ContainerState.COMPLETE); + am0.getApplicationAttemptId(), 1, ContainerState.COMPLETE); nm1.registerNode(Arrays.asList(status), null); } }; @@ -1894,9 +1891,7 @@ public void init(Configuration conf) { @Override protected ClientRMService createClientRMService() { - return new ClientRMService(getRMContext(), getResourceScheduler(), - rmAppManager, applicationACLsManager, null, - getRMContext().getRMDelegationTokenSecretManager()){ + return new ClientRMService(getRMContext()){ @Override protected void serviceStart() throws Exception { // do nothing diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMExpiry.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMExpiry.java index c837450..cb0827e 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMExpiry.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMExpiry.java @@ -89,9 +89,12 @@ public void setUp() { NMTokenSecretManagerInRM nmTokenSecretManager = new NMTokenSecretManagerInRM(conf); nmTokenSecretManager.start(); - resourceTrackerService = new ResourceTrackerService(context, - nodesListManager, nmLivelinessMonitor, containerTokenSecretManager, - nmTokenSecretManager); + ((RMContextImpl) context).setNMLivelinessMonitor(nmLivelinessMonitor); + ((RMContextImpl) context).setNodesListManager(nodesListManager); + ((RMContextImpl) context).setContainerTokenSecretManager( + containerTokenSecretManager); + ((RMContextImpl) context).setNMTokenSecretManager(nmTokenSecretManager); + resourceTrackerService = new ResourceTrackerService(context); resourceTrackerService.init(conf); resourceTrackerService.start(); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMReconnect.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMReconnect.java index cced69a..f116dd9 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMReconnect.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestNMReconnect.java @@ -88,9 +88,12 @@ public void setUp() { NMTokenSecretManagerInRM nmTokenSecretManager = new NMTokenSecretManagerInRM(conf); nmTokenSecretManager.start(); - resourceTrackerService = new ResourceTrackerService(context, - nodesListManager, nmLivelinessMonitor, containerTokenSecretManager, - nmTokenSecretManager); + ((RMContextImpl) context).setNMLivelinessMonitor(nmLivelinessMonitor); + ((RMContextImpl) context).setNodesListManager(nodesListManager); + ((RMContextImpl) context).setContainerTokenSecretManager( + containerTokenSecretManager); + ((RMContextImpl) context).setNMTokenSecretManager(nmTokenSecretManager); + resourceTrackerService = new ResourceTrackerService(context); resourceTrackerService.init(conf); resourceTrackerService.start(); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestRMNMRPCResponseId.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestRMNMRPCResponseId.java index 4f94695..e935d51 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestRMNMRPCResponseId.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/resourcetracker/TestRMNMRPCResponseId.java @@ -76,13 +76,13 @@ public void handle(Event event) { new ResourceManager.NodeEventDispatcher(context)); NodesListManager nodesListManager = new NodesListManager(context); nodesListManager.init(conf); + ((RMContextImpl) context).setNodesListManager(nodesListManager); + ((RMContextImpl) context).setNMLivelinessMonitor( + new NMLivelinessMonitor(dispatcher)); context.getContainerTokenSecretManager().rollMasterKey(); context.getNMTokenSecretManager().rollMasterKey(); - resourceTrackerService = new ResourceTrackerService(context, - nodesListManager, new NMLivelinessMonitor(dispatcher), - context.getContainerTokenSecretManager(), - context.getNMTokenSecretManager()); + resourceTrackerService = new ResourceTrackerService(context); resourceTrackerService.init(conf); } diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java 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 0fd3c3c..219d023 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/TestRMAppTransitions.java @@ -227,7 +227,7 @@ protected RMApp createNewTestApp(ApplicationSubmissionContext submissionContext) scheduler = mock(YarnScheduler.class); ApplicationMasterService masterService = - new ApplicationMasterService(rmContext, scheduler); + new ApplicationMasterService(rmContext); if(submissionContext == null) { submissionContext = new ApplicationSubmissionContextPBImpl(); diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java index dd42aa0..8a2917a 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/fair/TestFairScheduler.java @@ -1773,7 +1773,7 @@ public void testNotAllowSubmitApplication() throws Exception { ApplicationId applicationId = MockApps.newAppID(appId); String name = MockApps.newAppName(); ApplicationMasterService masterService = - new ApplicationMasterService(resourceManager.getRMContext(), scheduler); + new ApplicationMasterService(resourceManager.getRMContext()); ApplicationSubmissionContext submissionContext = new ApplicationSubmissionContextPBImpl(); ContainerLaunchContext clc = BuilderUtils.newContainerLaunchContext(null, null, null, null, diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestClientToAMTokens.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestClientToAMTokens.java index 0dcd228..be20407 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestClientToAMTokens.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/security/TestClientToAMTokens.java @@ -166,9 +166,7 @@ public void testClientToAMTokens() throws Exception { MockRM rm = new MockRMWithCustomAMLauncher(conf, containerManager) { protected ClientRMService createClientRMService() { - return new ClientRMService(this.rmContext, scheduler, - this.rmAppManager, this.applicationACLsManager, this.queueACLsManager, - getRMContext().getRMDelegationTokenSecretManager()); + return new ClientRMService(this.rmContext); }; @Override