Ejemplo n.º 1
0
        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());
        }
Ejemplo n.º 2
0
        /// <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());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        /// <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());
        }
Ejemplo n.º 5
0
        // 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);
                }
            }
        }
Ejemplo n.º 6
0
        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());
        }
Ejemplo n.º 7
0
 /// <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());
 }