You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-commits@hadoop.apache.org by vi...@apache.org on 2011/07/06 06:51:48 UTC

svn commit: r1143250 [4/4] - in /hadoop/common/branches/MR-279/mapreduce: ./ mr-client/hadoop-mapreduce-client-app/src/main/java/org/apache/hadoop/mapreduce/v2/app/launcher/ mr-client/hadoop-mapreduce-client-common/src/main/java/org/apache/hadoop/mapre...

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCResponseId.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCResponseId.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCResponseId.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRMRPCResponseId.java Wed Jul  6 04:51:46 2011
@@ -27,6 +27,7 @@ import junit.framework.Assert;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest;
 import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest;
+import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest;
 import org.apache.hadoop.yarn.api.records.AMResponse;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationMaster;
@@ -42,8 +43,10 @@ import org.apache.hadoop.yarn.factories.
 import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.apache.hadoop.yarn.security.ApplicationTokenSecretManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService;
+import org.apache.hadoop.yarn.server.resourcemanager.ClientRMService;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.ApplicationsStore.ApplicationStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.Allocation;
@@ -57,6 +60,7 @@ public class TestAMRMRPCResponseId {
   ApplicationMasterService amService = null;
   ApplicationTokenSecretManager appTokenManager = new ApplicationTokenSecretManager();
   DummyApplicationsManager applicationsManager;
+  private ClientRMService clientService;
   DummyScheduler scheduler;
   private final static Container[] EMPTY_CONTAINER_ARRAY = new Container[] {};
   private final static List<Container> EMPTY_CONTAINER_LIST = Arrays.asList(EMPTY_CONTAINER_ARRAY);
@@ -68,18 +72,6 @@ public class TestAMRMRPCResponseId {
         YarnScheduler scheduler, RMContext asmContext) {
       super(applicationTokenSecretManager, scheduler, asmContext);      
     }
-    @Override
-    public void registerApplicationMaster(ApplicationMaster applicationMaster)
-    throws IOException {
-    }
-    @Override
-    public void applicationHeartbeat(ApplicationStatus status)
-    throws IOException {      
-    }
-    @Override
-    public void finishApplicationMaster(ApplicationMaster applicationMaster)
-    throws IOException {  
-    }
   }
   
   
@@ -130,12 +122,20 @@ public class TestAMRMRPCResponseId {
   @Before
   public void setUp() {
     context = new ResourceManager.RMContextImpl(new MemStore());
+
+    context.getDispatcher().register(ApplicationEventType.class,
+        new ResourceManager.ApplicationEventDispatcher(context));
+
     scheduler = new DummyScheduler();
     applicationsManager = new DummyApplicationsManager(new 
         ApplicationTokenSecretManager(), scheduler, context);
-    amService = new ApplicationMasterService(
-        appTokenManager, applicationsManager, scheduler, context);
     Configuration conf = new Configuration();
+    this.clientService = new ClientRMService(context, applicationsManager
+        .getAmLivelinessMonitor(), applicationsManager
+        .getClientToAMSecretManager(), null, scheduler);
+    this.clientService.init(conf);
+    amService = new ApplicationMasterService(appTokenManager, scheduler,
+        context);
     applicationsManager.init(conf);
     amService.init(conf);
     context.getDispatcher().init(conf);
@@ -149,10 +149,13 @@ public class TestAMRMRPCResponseId {
 
   @Test
   public void testARRMResponseId() throws Exception {
-    ApplicationId applicationID = applicationsManager.getNewApplicationID();
+    ApplicationId applicationID = clientService.getNewApplicationId();
     ApplicationSubmissionContext context = recordFactory.newRecordInstance(ApplicationSubmissionContext.class);
     context.setApplicationId(applicationID);
-    applicationsManager.submitApplication(context);
+    SubmitApplicationRequest submitRequest = recordFactory
+        .newRecordInstance(SubmitApplicationRequest.class);
+    submitRequest.setApplicationSubmissionContext(context);
+    clientService.submitApplication(submitRequest);
     ApplicationMaster applicationMaster = recordFactory.newRecordInstance(ApplicationMaster.class);
     applicationMaster.setApplicationId(applicationID);
     applicationMaster.setStatus(recordFactory.newRecordInstance(ApplicationStatus.class));

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRestart.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRestart.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRestart.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestAMRestart.java Wed Jul  6 04:51:46 2011
@@ -12,6 +12,7 @@ import junit.framework.Assert;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationMaster;
 import org.apache.hadoop.yarn.api.records.ApplicationState;
@@ -29,13 +30,15 @@ import org.apache.hadoop.yarn.event.Even
 import org.apache.hadoop.yarn.factories.RecordFactory;
 import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.apache.hadoop.yarn.security.ApplicationTokenSecretManager;
+import org.apache.hadoop.yarn.server.resourcemanager.ClientRMService;
 import org.apache.hadoop.yarn.server.resourcemanager.RMConfig;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMLauncherEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ASMEvent;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.AMLauncherEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationTrackerEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationTrackerEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.ApplicationsStore.ApplicationStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.Store.RMState;
@@ -61,6 +64,7 @@ public class TestAMRestart {
   ApplicationTokenSecretManager appTokenSecretManager = 
     new ApplicationTokenSecretManager();
   DummyResourceScheduler scheduler;
+  private ClientRMService clientRMService;
   int count = 0;
   ApplicationId appID;
   final int maxFailures = 3;
@@ -71,7 +75,6 @@ public class TestAMRestart {
   int schedulerRemoveApplication = 0;
   int launcherLaunchCalled = 0;
   int launcherCleanupCalled = 0;
-  ApplicationMasterInfo masterInfo;
   private final static RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null);
   
   private class ExtApplicationsManagerImpl extends ApplicationsManagerImpl {
@@ -104,7 +107,7 @@ public class TestAMRestart {
                 }
               }
               asmContext.getDispatcher().getEventHandler().handle(
-                  new ApplicationMasterInfoEvent(
+                  new ApplicationEvent(
                       ApplicationEventType.LAUNCHED, appID));
               launchNotify.addAndGet(-1);
             }
@@ -226,6 +229,10 @@ public class TestAMRestart {
 
   @Before
   public void setUp() {
+
+    asmContext.getDispatcher().register(ApplicationEventType.class,
+        new ResourceManager.ApplicationEventDispatcher(asmContext));
+
     appID = recordFactory.newRecordInstance(ApplicationId.class);
     appID.setClusterTimestamp(System.currentTimeMillis());
     appID.setId(1);
@@ -240,20 +247,25 @@ public class TestAMRestart {
     conf.setInt(RMConfig.AM_MAX_RETRIES, maxFailures);
     appImpl.init(conf);
     appImpl.start();
+
+    this.clientRMService = new ClientRMService(asmContext, appImpl
+        .getAmLivelinessMonitor(), appImpl.getClientToAMSecretManager(),
+        null, scheduler); 
+    this.clientRMService.init(conf);
   }
 
   @After
   public void tearDown() {
   }
 
-  private void waitForFailed(ApplicationMasterInfo masterInfo, ApplicationState 
+  private void waitForFailed(Application application, ApplicationState 
       finalState) throws Exception {
     int count = 0;
-    while(masterInfo.getState() != finalState && count < 10) {
+    while(application.getState() != finalState && count < 10) {
       Thread.sleep(500);
       count++;
     }
-    Assert.assertEquals(finalState, masterInfo.getState());
+    Assert.assertEquals(finalState, application.getState());
   }
 
   @Test
@@ -265,8 +277,11 @@ public class TestAMRestart {
 //    subContext.environment = new HashMap<String, String>();
 //    subContext.fsTokens = new ArrayList<String>();
     subContext.setFsTokensTodo(ByteBuffer.wrap(new byte[0]));
-    appImpl.submitApplication(subContext);
-    masterInfo = appImpl.getApplicationMasterInfo(appID);
+    SubmitApplicationRequest request = recordFactory
+        .newRecordInstance(SubmitApplicationRequest.class);
+    request.setApplicationSubmissionContext(subContext);
+    clientRMService.submitApplication(request);
+    Application application = asmContext.getApplications().get(appID); 
     synchronized (schedulerNotify) {
       while(schedulerNotify.get() == 0) {
         schedulerNotify.wait();
@@ -276,8 +291,8 @@ public class TestAMRestart {
     Assert.assertEquals(maxFailures, launcherLaunchCalled);
     Assert.assertEquals(maxFailures, schedulerAddApplication);
     Assert.assertEquals(maxFailures, schedulerRemoveApplication);
-    Assert.assertEquals(maxFailures, masterInfo.getFailedCount());
-    waitForFailed(masterInfo, ApplicationState.FAILED);
+    Assert.assertEquals(maxFailures, application.getFailedCount());
+    waitForFailed(application, ApplicationState.FAILED);
     stop = true;
   }
 }
\ No newline at end of file

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestASMStateMachine.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestASMStateMachine.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestASMStateMachine.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestASMStateMachine.java Wed Jul  6 04:51:46 2011
@@ -34,11 +34,16 @@ import org.apache.hadoop.yarn.factories.
 import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMLauncherEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ASMEvent;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.AMLauncherEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationTrackerEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.SNEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMFinishEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMAllocatedEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMRegistrationEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMStatusUpdateEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationTrackerEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.SNEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.StoreFactory;
 import org.junit.After;
@@ -75,7 +80,7 @@ public class TestASMStateMachine {
   }
 
   private class DummyAMLaunchEventHandler implements EventHandler<ASMEvent<AMLauncherEventType>> {
-    AppContext appcontext;
+    Application application;
     AtomicInteger amsync = new AtomicInteger(0);
 
     public DummyAMLaunchEventHandler() {
@@ -87,10 +92,10 @@ public class TestASMStateMachine {
       switch(event.getType()) {
       case LAUNCH:
         launchCalled = true;
-        appcontext = event.getAppContext();
+        application = event.getApplication();
         context.getDispatcher().getEventHandler().handle(
-            new ApplicationMasterInfoEvent(ApplicationEventType.LAUNCHED,
-                appcontext.getApplicationID()));
+            new ApplicationEvent(ApplicationEventType.LAUNCHED,
+                application.getApplicationID()));
         break;
       case CLEANUP:
         launchCleanupCalled = true;
@@ -100,7 +105,7 @@ public class TestASMStateMachine {
   }
 
   private class DummySNEventHandler implements EventHandler<ASMEvent<SNEventType>> {
-    AppContext appContext;
+    Application application;
     AtomicInteger snsync = new AtomicInteger(0);
 
     public DummySNEventHandler() {
@@ -110,15 +115,15 @@ public class TestASMStateMachine {
     @Override
     public void handle(ASMEvent<SNEventType> event) {
       switch(event.getType()) {
-      case CLEANUP:
+      case RELEASE:
         snreceivedCleanUp = true;
         break;
       case SCHEDULE:
         snAllocateReceived = true;
-        appContext = event.getAppContext();
+        application = event.getApplication();
         context.getDispatcher().getEventHandler().handle(
-            new ApplicationMasterAllocatedEvent(appContext.getApplicationID(),
-                appContext.getMasterContainer()));
+            new AMAllocatedEvent(application.getApplicationID(),
+                application.getMasterContainer()));
         break;
       }
     }
@@ -144,19 +149,19 @@ public class TestASMStateMachine {
   }
 
   private class MockAppplicationMasterInfo implements
-      EventHandler<ApplicationMasterInfoEvent> {
+      EventHandler<ApplicationEvent> {
 
     MockAppplicationMasterInfo() {
       context.getDispatcher().register(ApplicationEventType.class, this);
     }
     @Override
-    public void handle(ApplicationMasterInfoEvent event) {
+    public void handle(ApplicationEvent event) {
       LOG.info("The event type is " + event.getType());
     }
   }
 
   private void waitForState( ApplicationState 
-      finalState, ApplicationMasterInfo masterInfo) throws Exception {
+      finalState, ApplicationImpl masterInfo) throws Exception {
     int count = 0;
     while(masterInfo.getState() != finalState && count < 10) {
       Thread.sleep(500);
@@ -175,13 +180,13 @@ public class TestASMStateMachine {
     submissioncontext.getApplicationId().setId(1);
     submissioncontext.getApplicationId().setClusterTimestamp(System.currentTimeMillis());
 
-    ApplicationMasterInfo masterInfo = new ApplicationMasterInfo(context,
+    ApplicationImpl masterInfo = new ApplicationImpl(context,
         conf, "dummyuser", submissioncontext, "dummyToken", StoreFactory
             .createVoidAppStore(), new AMLivelinessMonitor(context
             .getDispatcher().getEventHandler()));
 
     context.getDispatcher().register(ApplicationEventType.class, masterInfo);
-    handler.handle(new ApplicationMasterInfoEvent(
+    handler.handle(new ApplicationEvent(
         ApplicationEventType.ALLOCATE, submissioncontext.getApplicationId()));
 
     waitForState(ApplicationState.LAUNCHED, masterInfo);
@@ -189,21 +194,21 @@ public class TestASMStateMachine {
     Assert.assertTrue(launchCalled);
     Assert.assertTrue(addedApplication);
     handler
-        .handle(new ApplicationMasterRegistrationEvent(masterInfo.getMaster()));
+        .handle(new AMRegistrationEvent(masterInfo.getMaster()));
     waitForState(ApplicationState.RUNNING, masterInfo);
     Assert.assertEquals(ApplicationState.RUNNING, masterInfo.getState());
 
     ApplicationStatus status = recordFactory
         .newRecordInstance(ApplicationStatus.class);
     status.setApplicationId(masterInfo.getApplicationID());
-    handler.handle(new ApplicationMasterStatusUpdateEvent(status));
+    handler.handle(new AMStatusUpdateEvent(status));
 
     /* check if the state is still RUNNING */
 
     Assert.assertEquals(ApplicationState.RUNNING, masterInfo.getState());
 
-    handler.handle(new ApplicationFinishEvent(masterInfo.getApplicationID(),
-        ApplicationState.COMPLETED));
+    handler.handle(new AMFinishEvent(masterInfo.getApplicationID(),
+        ApplicationState.COMPLETED, "", ""));
     waitForState(ApplicationState.COMPLETED, masterInfo);
     Assert.assertEquals(ApplicationState.COMPLETED, masterInfo.getState());
     /* check if clean up is called for everyone */
@@ -212,7 +217,7 @@ public class TestASMStateMachine {
     Assert.assertTrue(removedApplication);
 
     /* check if expiry doesnt make it failed */
-    handler.handle(new ApplicationMasterInfoEvent(ApplicationEventType.EXPIRE,
+    handler.handle(new ApplicationEvent(ApplicationEventType.EXPIRE,
         masterInfo.getApplicationID()));
     Assert.assertEquals(ApplicationState.COMPLETED, masterInfo.getState());   
   }

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationCleanup.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationCleanup.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationCleanup.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationCleanup.java Wed Jul  6 04:51:46 2011
@@ -34,6 +34,7 @@ import org.apache.hadoop.net.NetworkTopo
 import org.apache.hadoop.net.Node;
 import org.apache.hadoop.net.NodeBase;
 import org.apache.hadoop.security.UserGroupInformation;
+import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationState;
 import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
@@ -46,13 +47,16 @@ import org.apache.hadoop.yarn.event.Even
 import org.apache.hadoop.yarn.factories.RecordFactory;
 import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.apache.hadoop.yarn.security.ApplicationTokenSecretManager;
+import org.apache.hadoop.yarn.server.resourcemanager.ClientRMService;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMLauncherEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ASMEvent;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.AMLauncherEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationTrackerEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.SNEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMAllocatedEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationTrackerEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.SNEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
 import org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.NodeInfo;
 import org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.NodeInfoTracker;
@@ -83,6 +87,7 @@ public class TestApplicationCleanup {
   private static final int memoryNeeded = 100;
 
   private final RMContext context = new ResourceManager.RMContextImpl(new MemStore());
+  private ClientRMService clientService;
   private TestRMResourceTrackerImpl clusterTracker;
 
   private class TestRMResourceTrackerImpl extends RMResourceTrackerImpl {
@@ -115,6 +120,9 @@ public class TestApplicationCleanup {
     context.getDispatcher().start();
     asm = new ExtASM(new ApplicationTokenSecretManager(), scheduler);
     asm.init(conf);
+    clientService = new ClientRMService(context,
+        asm.getAmLivelinessMonitor(), asm.getClientToAMSecretManager(),
+        clusterTracker, scheduler);
   }
 
   @After
@@ -142,7 +150,7 @@ public class TestApplicationCleanup {
 
     private class DummyApplicationMasterLauncher implements EventHandler<ASMEvent<AMLauncherEventType>> {
       private AtomicInteger notify = new AtomicInteger(0);
-      private AppContext appContext;
+      private Application application;
 
       public DummyApplicationMasterLauncher(RMContext context) {
         context.getDispatcher().register(AMLauncherEventType.class, this);
@@ -158,10 +166,10 @@ public class TestApplicationCleanup {
         case LAUNCH:
           LOG.info("Launcher Launch called");
           launcherLaunchCalled = true;
-          appContext = appEvent.getAppContext();
+          application = appEvent.getApplication();
           context.getDispatcher().getEventHandler().handle(
-              new ApplicationMasterInfoEvent(ApplicationEventType.LAUNCHED,
-                  appContext.getApplicationID()));
+              new ApplicationEvent(ApplicationEventType.LAUNCHED,
+                  application.getApplicationID()));
           break;
         default:
           break;
@@ -171,7 +179,7 @@ public class TestApplicationCleanup {
 
     private class DummySchedulerNegotiator implements EventHandler<ASMEvent<SNEventType>> {
       private AtomicInteger snnotify = new AtomicInteger(0);
-      AppContext acontext;
+      Application application;
       public  DummySchedulerNegotiator(RMContext context) {
         context.getDispatcher().register(SNEventType.class, this);
       }
@@ -180,15 +188,15 @@ public class TestApplicationCleanup {
       public void handle(ASMEvent<SNEventType> appEvent) {
         SNEventType event = appEvent.getType();
         switch (event) {
-        case CLEANUP:
+        case RELEASE:
           schedulerCleanupCalled = true;
           break;
         case SCHEDULE:
           schedulerScheduleCalled = true;
-          acontext = appEvent.getAppContext();
+          application = appEvent.getApplication();
           context.getDispatcher().getEventHandler().handle(
-              new ApplicationMasterAllocatedEvent(acontext.getApplicationID(),
-                  acontext.getMasterContainer()));
+              new AMAllocatedEvent(application.getApplicationID(),
+                  application.getMasterContainer()));
         default:
           break;
         }
@@ -215,13 +223,13 @@ public class TestApplicationCleanup {
   }
 
   private void waitForState(ApplicationState 
-      finalState, ApplicationMasterInfo masterInfo) throws Exception {
+      finalState, Application application) throws Exception {
     int count = 0;
-    while(masterInfo.getState() != finalState && count < 10) {
+    while(application.getState() != finalState && count < 10) {
       Thread.sleep(500);
       count++;
     }
-    Assert.assertEquals(finalState, masterInfo.getState());
+    Assert.assertEquals(finalState, application.getState());
   }
 
 
@@ -249,13 +257,17 @@ public class TestApplicationCleanup {
 
   @Test
   public void testApplicationCleanUp() throws Exception {
-    ApplicationId appID = asm.getNewApplicationID();
-    ApplicationSubmissionContext context = recordFactory.newRecordInstance(ApplicationSubmissionContext.class);
-    context.setApplicationId(appID);
-    context.setQueue("queuename");
-    context.setUser("dummyuser");
-    asm.submitApplication(context);
-    waitForState(ApplicationState.LAUNCHED, asm.getApplicationMasterInfo(appID));
+    ApplicationId appID = clientService.getNewApplicationId();
+    ApplicationSubmissionContext submissionContext = recordFactory.newRecordInstance(ApplicationSubmissionContext.class);
+    submissionContext.setApplicationId(appID);
+    submissionContext.setQueue("queuename");
+    submissionContext.setUser("dummyuser");
+    SubmitApplicationRequest request = recordFactory
+        .newRecordInstance(SubmitApplicationRequest.class);
+    request.setApplicationSubmissionContext(submissionContext);
+    clientService.submitApplication(request);
+    waitForState(ApplicationState.LAUNCHED, context.getApplications().get(
+        appID));
     List<ResourceRequest> reqs = new ArrayList<ResourceRequest>();
     ResourceRequest req = createNewResourceRequest(100, 1);
     reqs.add(req);
@@ -279,8 +291,8 @@ public class TestApplicationCleanup {
     /* only allocate the containers to the first node */
     Assert.assertEquals((firstNodeMemory - (2 * memoryNeeded)), firstNode
         .getAvailableResource().getMemory());
-    ApplicationMasterInfo masterInfo = asm.getApplicationMasterInfo(appID);
-    asm.finishApplication(appID, UserGroupInformation.getCurrentUser());
+    context.getDispatcher().getEventHandler().handle(
+        new ApplicationEvent(ApplicationEventType.KILL, appID));
     while (asm.launcherCleanupCalled != true) {
       Thread.sleep(500);
     }

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterExpiry.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterExpiry.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterExpiry.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterExpiry.java Wed Jul  6 04:51:46 2011
@@ -34,13 +34,15 @@ import org.apache.hadoop.yarn.factories.
 import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMAllocatedEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMLauncherEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ASMEvent;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.AMLauncherEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationTrackerEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.SNEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationTrackerEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.SNEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
-import org.junit.After;
+import org.apache.hadoop.yarn.server.resourcemanager.recovery.ApplicationsStore.ApplicationStore;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -51,28 +53,26 @@ import org.junit.Test;
 public class TestApplicationMasterExpiry {
   private static final Log LOG = LogFactory.getLog(TestApplicationMasterExpiry.class);
   private static RecordFactory recordFactory = RecordFactoryProvider.getRecordFactory(null);
-  AMTracker tracker;
   
   private final RMContext context = new ResourceManager.RMContextImpl(new MemStore());
+  private AMLivelinessMonitor amLivelinessMonitor;
   
   @Before
   public void setUp() {
     new DummyApplicationTracker();
     new DummySN();
     new DummyLauncher();
-    new ApplicationEventTypeListener();
-    tracker = new AMTracker(context); 
+    new ApplicationEventTypeListener(); 
     Configuration conf = new Configuration();
+    context.getDispatcher().register(ApplicationEventType.class,
+        new ResourceManager.ApplicationEventDispatcher(context));
     context.getDispatcher().init(conf);
     context.getDispatcher().start();
     conf.setLong(YarnConfiguration.AM_EXPIRY_INTERVAL, 1000L);
-    tracker.init(conf);
-    tracker.start();
-  }
-  
-  @After 
-  public void tearDown() {
-    tracker.stop();
+    amLivelinessMonitor = new AMLivelinessMonitor(this.context
+        .getDispatcher().getEventHandler());
+    amLivelinessMonitor.init(conf);
+    amLivelinessMonitor.start();
   }
   
   private class DummyApplicationTracker implements EventHandler<ASMEvent<ApplicationTrackerEventType>> {
@@ -88,12 +88,12 @@ public class TestApplicationMasterExpiry
   private boolean expired = false;
   
   private class ApplicationEventTypeListener implements
-      EventHandler<ApplicationMasterInfoEvent> {
+      EventHandler<ApplicationEvent> {
     ApplicationEventTypeListener() {
       context.getDispatcher().register(ApplicationEventType.class, this);
     }
     @Override
-    public void handle(ApplicationMasterInfoEvent event) {
+    public void handle(ApplicationEvent event) {
       switch(event.getType()) {
       case EXPIRE:
         expired = true;
@@ -123,14 +123,14 @@ public class TestApplicationMasterExpiry
     }
   }
   
-  private void waitForState(ApplicationMasterInfo masterInfo, ApplicationState 
+  private void waitForState(Application application, ApplicationState 
       finalState) throws Exception {
     int count = 0;
-    while(masterInfo.getState() != finalState && count < 10) {
+    while(application.getState() != finalState && count < 10) {
       Thread.sleep(500);
       count++;
     }
-    Assert.assertEquals(finalState, masterInfo.getState());
+    Assert.assertEquals(finalState, application.getState());
   }
 
   @Test
@@ -142,19 +142,31 @@ public class TestApplicationMasterExpiry
     submissionContext.getApplicationId().setClusterTimestamp(
         System.currentTimeMillis());
     submissionContext.getApplicationId().setId(1);
-    
-    tracker.addMaster(
-        "dummy", 
-        submissionContext, "dummytoken");
-    ApplicationMasterInfo masterInfo = tracker.get(submissionContext.getApplicationId());
-    tracker.runApplication(submissionContext.getApplicationId());
+
+    ApplicationStore appStore = context.getApplicationsStore()
+    .createApplicationStore(submissionContext.getApplicationId(),
+        submissionContext);
+    Application application = new ApplicationImpl(context,
+        new Configuration(), "dummy", submissionContext, "dummytoken", appStore,
+        amLivelinessMonitor);
+    context.getApplications()
+        .put(application.getApplicationID(), application);
+
+    this.context.getDispatcher().getSyncHandler().handle(
+        new ApplicationEvent(ApplicationEventType.ALLOCATE, submissionContext
+            .getApplicationId()));
+
+    waitForState(application, ApplicationState.ALLOCATING);
+
     this.context.getDispatcher().getEventHandler().handle(
-        new ApplicationMasterAllocatedEvent(masterInfo.getApplicationID(),
-            masterInfo.getMasterContainer()));
-    waitForState(masterInfo, ApplicationState.LAUNCHING);
+        new AMAllocatedEvent(application.getApplicationID(),
+            application.getMasterContainer()));
+
+    waitForState(application, ApplicationState.LAUNCHING);
+
     this.context.getDispatcher().getEventHandler().handle(
-        new ApplicationMasterInfoEvent(ApplicationEventType.LAUNCHED,
-            masterInfo.getApplicationID()));
+        new ApplicationEvent(ApplicationEventType.LAUNCHED,
+            application.getApplicationID()));
     synchronized(expiry) {
       while (expiry.get() == 0) {
         expiry.wait(1000);

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterLauncher.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterLauncher.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterLauncher.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestApplicationMasterLauncher.java Wed Jul  6 04:51:46 2011
@@ -35,9 +35,11 @@ import org.apache.hadoop.yarn.security.A
 import org.apache.hadoop.yarn.security.client.ClientToAMSecretManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMLauncherEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ASMEvent;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.AMLauncherEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMFinishEvent;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.StoreFactory;
 import org.junit.After;
@@ -65,9 +67,9 @@ public class TestApplicationMasterLaunch
 
   private Configuration conf = new Configuration();
   
-  private class DummyASM implements EventHandler<ApplicationMasterInfoEvent> {
+  private class DummyASM implements EventHandler<ApplicationEvent> {
     @Override
-    public void handle(ApplicationMasterInfoEvent appEvent) {
+    public void handle(ApplicationEvent appEvent) {
       ApplicationEventType event = appEvent.getType();
       switch (event) {
       case FINISH:
@@ -96,8 +98,8 @@ public class TestApplicationMasterLaunch
     }
     public void run() {
       cleanedUp.incrementAndGet();
-      asmHandle.handle(new ApplicationFinishEvent(null,
-          ApplicationState.COMPLETED));
+      asmHandle.handle(new AMFinishEvent(null,
+          ApplicationState.COMPLETED, "", ""));
     }
   }
 
@@ -112,7 +114,7 @@ public class TestApplicationMasterLaunch
     }
 
     @Override
-    protected Runnable createRunnableLauncher(AppContext masterInfo, 
+    protected Runnable createRunnableLauncher(Application masterInfo, 
         AMLauncherEventType event) {
       Runnable r = null;
       switch (event) {
@@ -152,7 +154,7 @@ public class TestApplicationMasterLaunch
     submissionContext.getApplicationId().setClusterTimestamp(System.currentTimeMillis());
     submissionContext.getApplicationId().setId(1);
     submissionContext.setUser("dummyuser");
-    ApplicationMasterInfo masterInfo = new ApplicationMasterInfo(this.context,
+    ApplicationImpl masterInfo = new ApplicationImpl(this.context,
         this.conf, "dummyuser", submissionContext, "dummyclienttoken",
         StoreFactory.createVoidAppStore(), new AMLivelinessMonitor(context
             .getDispatcher().getEventHandler()));

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestSchedulerNegotiator.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestSchedulerNegotiator.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestSchedulerNegotiator.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/applicationsmanager/TestSchedulerNegotiator.java Wed Jul  6 04:51:46 2011
@@ -42,10 +42,11 @@ import org.apache.hadoop.yarn.factories.
 import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.AMLauncherEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ASMEvent;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.AMLauncherEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationEventType;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationMasterEvents.ApplicationTrackerEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEvent;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationEventType;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.events.ApplicationTrackerEventType;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.ApplicationsStore.ApplicationStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
 import org.apache.hadoop.yarn.server.resourcemanager.recovery.Store.RMState;
@@ -67,7 +68,7 @@ public class TestSchedulerNegotiator {
   private final int testNum = 99999;
   
   private final RMContext context = new ResourceManager.RMContextImpl(new MemStore());
-  ApplicationMasterInfo masterInfo;
+  ApplicationImpl masterInfo;
   private EventHandler handler;
   private Configuration conf = new Configuration();
   private class DummyScheduler implements ResourceScheduler {
@@ -166,7 +167,7 @@ public class TestSchedulerNegotiator {
     schedulerNegotiator.stop();
   }
   
-  public void waitForState(ApplicationState state, ApplicationMasterInfo info) {
+  public void waitForState(ApplicationState state, ApplicationImpl info) {
     int count = 0;
     while (info.getState() != state && count < 100) {
       try {
@@ -192,7 +193,7 @@ public class TestSchedulerNegotiator {
     submissionContext.getApplicationId().setClusterTimestamp(System.currentTimeMillis());
     submissionContext.getApplicationId().setId(1);
     
-    masterInfo = new ApplicationMasterInfo(this.context, this.conf, "dummy",
+    masterInfo = new ApplicationImpl(this.context, this.conf, "dummy",
         submissionContext, "dummyClientToken", StoreFactory
             .createVoidAppStore(), new AMLivelinessMonitor(context
             .getDispatcher().getEventHandler()));
@@ -200,7 +201,7 @@ public class TestSchedulerNegotiator {
     context.getDispatcher().register(ApplicationTrackerEventType.class, scheduler);
     context.getDispatcher().register(AMLauncherEventType.class,
         new DummyEventHandler());
-    handler.handle(new ApplicationMasterInfoEvent(
+    handler.handle(new ApplicationEvent(
         ApplicationEventType.ALLOCATE, submissionContext.getApplicationId()));
     waitForState(ApplicationState.LAUNCHING, masterInfo); // LAUNCHING because ALLOCATED automatically movesto LAUNCHING for now.
     Container container = masterInfo.getMasterContainer();

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebApp.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebApp.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebApp.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebApp.java Wed Jul  6 04:51:46 2011
@@ -18,30 +18,40 @@
 
 package org.apache.hadoop.yarn.server.resourcemanager.webapp;
 
-import com.google.inject.Injector;
+import static org.apache.hadoop.test.MockitoMaker.make;
+import static org.apache.hadoop.test.MockitoMaker.stub;
+import static org.apache.hadoop.yarn.server.resourcemanager.MockNodes.newResource;
+import static org.apache.hadoop.yarn.webapp.Params.TITLE;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentMap;
 
-import static org.apache.hadoop.test.MockitoMaker.*;
-import static org.apache.hadoop.yarn.server.resourcemanager.MockNodes.*;
-import static org.apache.hadoop.yarn.webapp.Params.*;
-
+import org.apache.hadoop.yarn.api.records.ApplicationId;
+import org.apache.hadoop.yarn.server.resourcemanager.ApplicationsManager;
 import org.apache.hadoop.yarn.server.resourcemanager.MockNodes;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
-import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.ApplicationsManager;
+import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContext;
+import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager.RMContextImpl;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.Application;
 import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.MockAsm;
+import org.apache.hadoop.yarn.server.resourcemanager.recovery.MemStore;
+import org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.ClusterTracker;
 import org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.NodeInfo;
 import org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.RMResourceTrackerImpl;
-import org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.ClusterTracker;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler;
 import org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacitySchedulerConfiguration;
 import org.apache.hadoop.yarn.webapp.WebApps;
 import org.apache.hadoop.yarn.webapp.test.WebAppTests;
-
 import org.junit.Test;
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import com.google.inject.Injector;
 
 public class TestRMWebApp {
   static final int GiB = 1024; // MiB
@@ -54,8 +64,8 @@ public class TestRMWebApp {
   }
 
   @Test public void testView() {
-    Injector injector = WebAppTests.createMockInjector(ApplicationsManager.class,
-                                                       MockAsm.create(3));
+    Injector injector = WebAppTests.createMockInjector(RMContext.class,
+                                                       mockRMContext(3));
     injector.getInstance(RmView.class).render();
     WebAppTests.flushOutput(injector);
   }
@@ -73,16 +83,33 @@ public class TestRMWebApp {
         getAllNodeInfo());
   }
 
+  public static RMContext mockRMContext(int n) {
+    final List<Application> apps = MockAsm.newApplications(n);
+    final ConcurrentMap<ApplicationId, Application> map = Maps
+        .newConcurrentMap();
+    for (Application app : apps) {
+      map.put(app.getApplicationID(), app);
+    }
+    return new RMContextImpl(new MemStore()) {
+      @Override
+      public ConcurrentMap<ApplicationId, Application> getApplications() {
+        return map;
+      }
+    };
+  }
+
   public static ResourceManager mockRm(int apps, int racks, int nodes,
                                        int mbsPerNode)
   throws Exception {
     ResourceManager rm = mock(ResourceManager.class);
-    ApplicationsManager asm = MockAsm.create(apps);
+    ApplicationsManager asm = MockAsm.create();
+    RMContext rmContext = mockRMContext(apps);
     RMResourceTrackerImpl rt = mockResource(racks, nodes, mbsPerNode);
     ResourceScheduler rs = mockCapacityScheduler();
     when(rm.getApplicationsManager()).thenReturn(asm);
     when(rm.getResourceTracker()).thenReturn(rt);
     when(rm.getResourceScheduler()).thenReturn(rs);
+    when(rm.getRMContext()).thenReturn(rmContext);
     return rm;
   }
 

Modified: hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerTokenSecretManager.java
URL: http://svn.apache.org/viewvc/hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerTokenSecretManager.java?rev=1143250&r1=1143249&r2=1143250&view=diff
==============================================================================
--- hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerTokenSecretManager.java (original)
+++ hadoop/common/branches/MR-279/mapreduce/yarn/yarn-server/yarn-server-tests/src/test/java/org/apache/hadoop/yarn/server/TestContainerTokenSecretManager.java Wed Jul  6 04:51:46 2011
@@ -52,7 +52,8 @@ import org.apache.hadoop.yarn.api.Contai
 import org.apache.hadoop.yarn.api.protocolrecords.AllocateRequest;
 import org.apache.hadoop.yarn.api.protocolrecords.GetContainerStatusRequest;
 import org.apache.hadoop.yarn.api.protocolrecords.RegisterApplicationMasterRequest;
-import org.apache.hadoop.yarn.api.records.Application;
+import org.apache.hadoop.yarn.api.protocolrecords.SubmitApplicationRequest;
+import org.apache.hadoop.yarn.api.records.ApplicationReport;
 import org.apache.hadoop.yarn.api.records.ApplicationId;
 import org.apache.hadoop.yarn.api.records.ApplicationMaster;
 import org.apache.hadoop.yarn.api.records.ApplicationState;
@@ -79,6 +80,7 @@ import org.apache.hadoop.yarn.security.C
 import org.apache.hadoop.yarn.security.ContainerTokenIdentifier;
 import org.apache.hadoop.yarn.security.SchedulerSecurityInfo;
 import org.apache.hadoop.yarn.server.resourcemanager.ResourceManager;
+import org.apache.hadoop.yarn.server.resourcemanager.applicationsmanager.Application;
 import org.apache.hadoop.yarn.util.ConverterUtils;
 import org.junit.BeforeClass;
 import org.junit.Test;
@@ -154,18 +156,20 @@ public class TestContainerTokenSecretMan
     rsrc.setType(LocalResourceType.FILE);
     rsrc.setVisibility(LocalResourceVisibility.PRIVATE);
     appSubmissionContext.setResourceTodo("testFile", rsrc);
-    resourceManager.getApplicationsManager().submitApplication(
-        appSubmissionContext);
+    SubmitApplicationRequest submitRequest = recordFactory
+        .newRecordInstance(SubmitApplicationRequest.class);
+    submitRequest.setApplicationSubmissionContext(appSubmissionContext);
+    resourceManager.getClientRMService().submitApplication(submitRequest);
 
     // Wait till container gets allocated for AM
     int waitCounter = 0;
     Application app =
-        resourceManager.getApplicationsManager().getApplication(appID);
+        resourceManager.getRMContext().getApplications().get(appID);
     while (app.getState() != ApplicationState.LAUNCHED && waitCounter <= 20) {
       Thread.sleep(1000);
       LOG.info("Waiting for AM to be allocated a container. Current state is "
           + app.getState());
-      app = resourceManager.getApplicationsManager().getApplication(appID);
+      app = resourceManager.getRMContext().getApplications().get(appID);
     }
 
     Assert.assertTrue(ApplicationState.PENDING != app.getState());