public virtual void TestApplications() { ApplicationId appId = null; appId = ApplicationId.NewInstance(0, 1); ApplicationId appId1 = ApplicationId.NewInstance(0, 2); GetApplicationsRequest request = GetApplicationsRequest.NewInstance(); GetApplicationsResponse response = clientService.GetApplications(request); IList <ApplicationReport> appReport = response.GetApplicationList(); NUnit.Framework.Assert.IsNotNull(appReport); NUnit.Framework.Assert.AreEqual(appId, appReport[1].GetApplicationId()); NUnit.Framework.Assert.AreEqual(appId1, appReport[0].GetApplicationId()); // Create a historyManager, and set the max_apps can be loaded // as 1. Configuration conf = new YarnConfiguration(); conf.SetLong(YarnConfiguration.ApplicationHistoryMaxApps, 1); ApplicationHistoryManagerOnTimelineStore historyManager2 = new ApplicationHistoryManagerOnTimelineStore (dataManager, new ApplicationACLsManager(conf)); historyManager2.Init(conf); historyManager2.Start(); ApplicationHistoryClientService clientService2 = new ApplicationHistoryClientService (historyManager2); response = clientService2.GetApplications(request); appReport = response.GetApplicationList(); NUnit.Framework.Assert.IsNotNull(appReport); NUnit.Framework.Assert.IsTrue(appReport.Count == 1); // Expected to get the appReport for application with appId1 NUnit.Framework.Assert.AreEqual(appId1, appReport[0].GetApplicationId()); }
/// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/> /// <exception cref="System.IO.IOException"/> public override IList <ApplicationReport> GetApplications() { GetApplicationsRequest request = GetApplicationsRequest.NewInstance(null, null); GetApplicationsResponse response = ahsClient.GetApplications(request); return(response.GetApplicationList()); }
public static ClientRMService MockClientRMService(RMContext rmContext) { ClientRMService clientRMService = Org.Mockito.Mockito.Mock <ClientRMService>(); IList <ApplicationReport> appReports = new AList <ApplicationReport>(); foreach (RMApp app in rmContext.GetRMApps().Values) { ApplicationReport appReport = ApplicationReport.NewInstance(app.GetApplicationId( ), (ApplicationAttemptId)null, app.GetUser(), app.GetQueue(), app.GetName(), (string )null, 0, (Token)null, app.CreateApplicationState(), app.GetDiagnostics().ToString (), (string)null, app.GetStartTime(), app.GetFinishTime(), app.GetFinalApplicationStatus (), (ApplicationResourceUsageReport)null, app.GetTrackingUrl(), app.GetProgress( ), app.GetApplicationType(), (Token)null); appReports.AddItem(appReport); } GetApplicationsResponse response = Org.Mockito.Mockito.Mock <GetApplicationsResponse >(); Org.Mockito.Mockito.When(response.GetApplicationList()).ThenReturn(appReports); try { Org.Mockito.Mockito.When(clientRMService.GetApplications(Matchers.Any <GetApplicationsRequest >())).ThenReturn(response); } catch (YarnException) { NUnit.Framework.Assert.Fail("Exception is not expteced."); } return(clientRMService); }
/// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/> /// <exception cref="System.IO.IOException"/> public override IList <ApplicationReport> GetApplications(ICollection <string> applicationTypes , EnumSet <YarnApplicationState> applicationStates) { GetApplicationsRequest request = GetApplicationsRequest.NewInstance(applicationTypes , applicationStates); GetApplicationsResponse response = rmClient.GetApplications(request); return(response.GetApplicationList()); }
// This is to test AM Host and rpc port are invalidated after the am attempt // is killed or failed, so that client doesn't get the wrong information. /// <exception cref="System.Exception"/> public virtual void TestInvalidateAMHostPortWhenAMFailedOrKilled() { conf.SetInt(YarnConfiguration.RmAmMaxAttempts, 1); MockRM rm1 = new MockRM(conf); rm1.Start(); // a succeeded app RMApp app1 = rm1.SubmitApp(200); MockNM nm1 = new MockNM("127.0.0.1:1234", 15120, rm1.GetResourceTrackerService()); nm1.RegisterNode(); MockAM am1 = MockRM.LaunchAndRegisterAM(app1, rm1, nm1); MockRM.FinishAMAndVerifyAppState(app1, rm1, nm1, am1); // a failed app RMApp app2 = rm1.SubmitApp(200); MockAM am2 = MockRM.LaunchAndRegisterAM(app2, rm1, nm1); nm1.NodeHeartbeat(am2.GetApplicationAttemptId(), 1, ContainerState.Complete); am2.WaitForState(RMAppAttemptState.Failed); rm1.WaitForState(app2.GetApplicationId(), RMAppState.Failed); // a killed app RMApp app3 = rm1.SubmitApp(200); MockAM am3 = MockRM.LaunchAndRegisterAM(app3, rm1, nm1); rm1.KillApp(app3.GetApplicationId()); rm1.WaitForState(app3.GetApplicationId(), RMAppState.Killed); rm1.WaitForState(am3.GetApplicationAttemptId(), RMAppAttemptState.Killed); GetApplicationsRequest request1 = GetApplicationsRequest.NewInstance(EnumSet.Of(YarnApplicationState .Finished, YarnApplicationState.Killed, YarnApplicationState.Failed)); GetApplicationsResponse response1 = rm1.GetClientRMService().GetApplications(request1 ); IList <ApplicationReport> appList1 = response1.GetApplicationList(); NUnit.Framework.Assert.AreEqual(3, appList1.Count); foreach (ApplicationReport report in appList1) { // killed/failed apps host and rpc port are invalidated. if (report.GetApplicationId().Equals(app2.GetApplicationId()) || report.GetApplicationId ().Equals(app3.GetApplicationId())) { NUnit.Framework.Assert.AreEqual("N/A", report.GetHost()); NUnit.Framework.Assert.AreEqual(-1, report.GetRpcPort()); } // succeeded app's host and rpc port is not invalidated if (report.GetApplicationId().Equals(app1.GetApplicationId())) { NUnit.Framework.Assert.IsFalse(report.GetHost().Equals("N/A")); NUnit.Framework.Assert.IsTrue(report.GetRpcPort() != -1); } } }
public virtual void TestAppsRace() { // mock up an RM that returns app reports for apps that don't exist // in the RMApps list ApplicationId appId = ApplicationId.NewInstance(1, 1); ApplicationReport mockReport = Org.Mockito.Mockito.Mock <ApplicationReport>(); Org.Mockito.Mockito.When(mockReport.GetApplicationId()).ThenReturn(appId); GetApplicationsResponse mockAppsResponse = Org.Mockito.Mockito.Mock <GetApplicationsResponse >(); Org.Mockito.Mockito.When(mockAppsResponse.GetApplicationList()).ThenReturn(Arrays .AsList(new ApplicationReport[] { mockReport })); ClientRMService mockClientSvc = Org.Mockito.Mockito.Mock <ClientRMService>(); Org.Mockito.Mockito.When(mockClientSvc.GetApplications(Matchers.IsA <GetApplicationsRequest >(), Matchers.AnyBoolean())).ThenReturn(mockAppsResponse); ResourceManager mockRM = Org.Mockito.Mockito.Mock <ResourceManager>(); RMContextImpl rmContext = new RMContextImpl(null, null, null, null, null, null, null , null, null, null); Org.Mockito.Mockito.When(mockRM.GetRMContext()).ThenReturn(rmContext); Org.Mockito.Mockito.When(mockRM.GetClientRMService()).ThenReturn(mockClientSvc); RMWebServices webSvc = new RMWebServices(mockRM, new Configuration(), Org.Mockito.Mockito.Mock <HttpServletResponse>()); ICollection <string> emptySet = Collections.UnmodifiableSet(Collections.EmptySet <string >()); // verify we don't get any apps when querying HttpServletRequest mockHsr = Org.Mockito.Mockito.Mock <HttpServletRequest>(); AppsInfo appsInfo = webSvc.GetApps(mockHsr, null, emptySet, null, null, null, null , null, null, null, null, emptySet, emptySet); NUnit.Framework.Assert.IsTrue(appsInfo.GetApps().IsEmpty()); // verify we don't get an NPE when specifying a final status query appsInfo = webSvc.GetApps(mockHsr, null, emptySet, "FAILED", null, null, null, null , null, null, null, emptySet, emptySet); NUnit.Framework.Assert.IsTrue(appsInfo.GetApps().IsEmpty()); }
/// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/> /// <exception cref="System.IO.IOException"/> public override IList <ApplicationReport> GetApplications() { Org.Mockito.Mockito.When(mockAppResponse.GetApplicationList()).ThenReturn(reports ); return(base.GetApplications()); }