/// <exception cref="System.Exception"/> public ApplicationReport Run() { GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(id); return(this._enclosing.appBaseProt.GetApplicationReport(request).GetApplicationReport ()); }
/// <exception cref="System.Exception"/> private static ApplicationClientProtocol CreateMockRMClient(IList <ApplicationId> finishedApplicaitons, IList <ApplicationId> runningApplications) { ApplicationClientProtocol mockProtocol = Org.Mockito.Mockito.Mock <ApplicationClientProtocol >(); if (finishedApplicaitons != null && !finishedApplicaitons.IsEmpty()) { foreach (ApplicationId appId in finishedApplicaitons) { GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(appId ); GetApplicationReportResponse response = CreateApplicationReportWithFinishedApplication (); Org.Mockito.Mockito.When(mockProtocol.GetApplicationReport(request)).ThenReturn(response ); } } if (runningApplications != null && !runningApplications.IsEmpty()) { foreach (ApplicationId appId in runningApplications) { GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(appId ); GetApplicationReportResponse response = CreateApplicationReportWithRunningApplication (); Org.Mockito.Mockito.When(mockProtocol.GetApplicationReport(request)).ThenReturn(response ); } } return(mockProtocol); }
public virtual AppInfo GetApp(HttpServletRequest req, HttpServletResponse res, string appId) { UserGroupInformation callerUGI = GetUser(req); ApplicationId id = ParseApplicationId(appId); ApplicationReport app = null; try { if (callerUGI == null) { GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(id); app = appBaseProt.GetApplicationReport(request).GetApplicationReport(); } else { app = callerUGI.DoAs(new _PrivilegedExceptionAction_228(this, id)); } } catch (Exception e) { RewrapAndThrowException(e); } if (app == null) { throw new NotFoundException("app with id: " + appId + " not found"); } return(new AppInfo(app)); }
public virtual void TestApplicationNotFound() { ApplicationId appId = null; appId = ApplicationId.NewInstance(0, MaxApps + 1); GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(appId ); try { GetApplicationReportResponse response = clientService.GetApplicationReport(request ); NUnit.Framework.Assert.Fail("Exception should have been thrown before we reach here." ); } catch (ApplicationNotFoundException e) { //This exception is expected. NUnit.Framework.Assert.IsTrue(e.Message.Contains("doesn't exist in the timeline store" )); } catch (Exception) { NUnit.Framework.Assert.Fail("Undesired exception caught"); } }
/// <exception cref="System.Exception"/> public virtual void TestInvalidatedAMHostPortOnAMRestart() { MockRM rm1 = new MockRM(conf); rm1.Start(); MockNM nm1 = new MockNM("127.0.0.1:1234", 15120, rm1.GetResourceTrackerService()); nm1.RegisterNode(); // 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.Accepted); // before new attempt is launched, the app report returns the invalid AM // host and port. GetApplicationReportRequest request1 = GetApplicationReportRequest.NewInstance(app2 .GetApplicationId()); ApplicationReport report1 = rm1.GetClientRMService().GetApplicationReport(request1 ).GetApplicationReport(); NUnit.Framework.Assert.AreEqual("N/A", report1.GetHost()); NUnit.Framework.Assert.AreEqual(-1, report1.GetRpcPort()); }
/// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/> /// <exception cref="System.IO.IOException"/> public override ApplicationReport GetApplicationReport(ApplicationId appId) { GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(appId ); GetApplicationReportResponse response = ahsClient.GetApplicationReport(request); return(response.GetApplicationReport()); }
/// <exception cref="Org.Apache.Hadoop.Yarn.Exceptions.YarnException"/> /// <exception cref="System.IO.IOException"/> public virtual ApplicationReport GetApplicationReport(ApplicationId appId) { ApplicationClientProtocol client = GetClientRMService(); GetApplicationReportResponse response = client.GetApplicationReport(GetApplicationReportRequest .NewInstance(appId)); return(response.GetApplicationReport()); }
/// <exception cref="System.Exception"/> private void VerifyGetClientAMToken(string submitter, string queueAdmin, string queueName , bool setupACLs) { ApplicationId applicationId = SubmitAppAndGetAppId(submitter, queueName, setupACLs ); GetApplicationReportRequest appReportRequest = GetApplicationReportRequest.NewInstance (applicationId); ApplicationClientProtocol submitterClient = GetRMClientForUser(submitter); ApplicationClientProtocol adMinUserClient = GetRMClientForUser(queueAdmin); GetApplicationReportResponse submitterGetReport = submitterClient.GetApplicationReport (appReportRequest); GetApplicationReportResponse adMinUserGetReport = adMinUserClient.GetApplicationReport (appReportRequest); NUnit.Framework.Assert.AreEqual(submitterGetReport.GetApplicationReport().GetClientToAMToken (), adMinUserGetReport.GetApplicationReport().GetClientToAMToken()); }
public virtual void TestApplicationReport() { ApplicationId appId = null; appId = ApplicationId.NewInstance(0, 1); GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(appId ); GetApplicationReportResponse response = clientService.GetApplicationReport(request ); ApplicationReport appReport = response.GetApplicationReport(); NUnit.Framework.Assert.IsNotNull(appReport); NUnit.Framework.Assert.AreEqual(123, appReport.GetApplicationResourceUsageReport( ).GetMemorySeconds()); NUnit.Framework.Assert.AreEqual(345, appReport.GetApplicationResourceUsageReport( ).GetVcoreSeconds()); NUnit.Framework.Assert.AreEqual("application_0_0001", appReport.GetApplicationId( ).ToString()); NUnit.Framework.Assert.AreEqual("test app type", appReport.GetApplicationType().ToString ()); NUnit.Framework.Assert.AreEqual("test queue", appReport.GetQueue().ToString()); }
/// <exception cref="System.IO.IOException"/> private static bool IsApplicationTerminated(ApplicationId appId, ApplicationClientProtocol rmClient) { ApplicationReport appReport = null; try { appReport = rmClient.GetApplicationReport(GetApplicationReportRequest.NewInstance (appId)).GetApplicationReport(); } catch (ApplicationNotFoundException) { return(true); } catch (YarnException e) { throw new IOException(e); } YarnApplicationState currentState = appReport.GetYarnApplicationState(); return(currentState == YarnApplicationState.Failed || currentState == YarnApplicationState .Killed || currentState == YarnApplicationState.Finished); }
protected override void Render(HtmlBlock.Block html) { string webUiType = $(YarnWebParams.WebUiType); string aid = $(YarnWebParams.ApplicationId); if (aid.IsEmpty()) { Puts("Bad request: requires Application ID"); return; } try { appID = Apps.ToAppID(aid); } catch (Exception) { Puts("Invalid Application ID: " + aid); return; } UserGroupInformation callerUGI = GetCallerUGI(); ApplicationReport appReport; try { GetApplicationReportRequest request = GetApplicationReportRequest.NewInstance(appID ); if (callerUGI == null) { appReport = appBaseProt.GetApplicationReport(request).GetApplicationReport(); } else { appReport = callerUGI.DoAs(new _PrivilegedExceptionAction_99(this, request)); } } catch (Exception e) { string message = "Failed to read the application " + appID + "."; Log.Error(message, e); html.P().(message).(); return; } if (appReport == null) { Puts("Application not found: " + aid); return; } AppInfo app = new AppInfo(appReport); SetTitle(StringHelper.Join("Application ", aid)); if (webUiType != null && webUiType.Equals(YarnWebParams.RmWebUi) && conf.GetBoolean (YarnConfiguration.RmWebappUiActionsEnabled, YarnConfiguration.DefaultRmWebappUiActionsEnabled )) { // Application Kill html.Div().Button().$onclick("confirmAction()").B("Kill Application").().(); StringBuilder script = new StringBuilder(); script.Append("function confirmAction() {").Append(" b = confirm(\"Are you sure?\");" ).Append(" if (b == true) {").Append(" $.ajax({").Append(" type: 'PUT',").Append (" url: '/ws/v1/cluster/apps/").Append(aid).Append("/state',").Append(" contentType: 'application/json'," ).Append(" data: '{\"state\":\"KILLED\"}',").Append(" dataType: 'json'").Append( " }).done(function(data){").Append(" setTimeout(function(){").Append(" location.href = '/cluster/app/" ).Append(aid).Append("';").Append(" }, 1000);").Append(" }).fail(function(data){" ).Append(" console.log(data);").Append(" });").Append(" }").Append("}"); html.Script().$type("text/javascript").(script.ToString()).(); } Info("Application Overview").("User:"******"Name:", app.GetName()).("Application Type:" , app.GetType()).("Application Tags:", app.GetApplicationTags() == null ? string.Empty : app.GetApplicationTags()).("YarnApplicationState:", app.GetAppState() == null ? Unavailable : ClarifyAppState(app.GetAppState())).("FinalStatus Reported by AM:" , ClairfyAppFinalStatus(app.GetFinalAppStatus())).("Started:", Times.Format(app. GetStartedTime())).("Elapsed:", StringUtils.FormatTime(Times.Elapsed(app.GetStartedTime (), app.GetFinishedTime()))).("Tracking URL:", app.GetTrackingUrl() == null || app .GetTrackingUrl().Equals(Unavailable) ? null : Root_url(app.GetTrackingUrl()), app .GetTrackingUrl() == null || app.GetTrackingUrl().Equals(Unavailable) ? "Unassigned" : app.GetAppState() == YarnApplicationState.Finished || app.GetAppState() == YarnApplicationState .Failed || app.GetAppState() == YarnApplicationState.Killed ? "History" : "ApplicationMaster" ).("Diagnostics:", app.GetDiagnosticsInfo() == null ? string.Empty : app.GetDiagnosticsInfo ()); ICollection <ApplicationAttemptReport> attempts; try { GetApplicationAttemptsRequest request = GetApplicationAttemptsRequest.NewInstance (appID); if (callerUGI == null) { attempts = appBaseProt.GetApplicationAttempts(request).GetApplicationAttemptList( ); } else { attempts = callerUGI.DoAs(new _PrivilegedExceptionAction_196(this, request)); } } catch (Exception e) { string message = "Failed to read the attempts of the application " + appID + "."; Log.Error(message, e); html.P().(message).(); return; } CreateApplicationMetricsTable(html); html.(typeof(InfoBlock)); GenerateApplicationTable(html, callerUGI, attempts); }