This is an automated email from the ASF dual-hosted git repository. sunilg pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/trunk by this push: new 50cec5a YARN-9729. [UI2] Fix error message for logs without ATSv2. Contributed by Zoltan Siegl. 50cec5a is described below commit 50cec5a704d11ffc5e0333d22dbea7cf6837c2fc Author: Sunil G <sun...@apache.org> AuthorDate: Sat Aug 10 21:06:25 2019 +0530 YARN-9729. [UI2] Fix error message for logs without ATSv2. Contributed by Zoltan Siegl. --- .../main/webapp/app/controllers/yarn-app/logs.js | 9 ++- .../src/main/webapp/app/routes/yarn-app/logs.js | 5 +- .../main/webapp/app/templates/yarn-app/logs.hbs | 73 ++++++++++++---------- 3 files changed, 53 insertions(+), 34 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js index e1a8ec8..d7eac3f 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/controllers/yarn-app/logs.js @@ -263,5 +263,12 @@ export default Ember.Controller.extend({ isLogAggregationNotSucceeded: Ember.computed("model.app", function() { const logAggregationStatus = this.get("model.app.logAggregationStatus"); return logAggregationStatus !== "SUCCEEDED"; - }) + }), + + isTimelineUnHealthy: function() { + if (this.model && this.model.timelineHealth) { + return this.model.timelineHealth.get('isTimelineUnHealthy'); + } + return true; + }.property('model.timelineHealth') }); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js index b73bc80..9719f80 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/routes/yarn-app/logs.js @@ -31,7 +31,10 @@ export default AbstractRoute.extend(AppAttemptMixin, { attempts: this.fetchAttemptListFromRMorATS(app_id, this.store).catch(function() { return []; }), - app: this.fetchAppInfoFromRMorATS(app_id, this.store) + app: this.fetchAppInfoFromRMorATS(app_id, this.store), + timelineHealth: this.store.queryRecord('timeline-health', {}).catch(function() { + return null; + }) }); }, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app/logs.hbs b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app/logs.hbs index 10fd73e..72147b9 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app/logs.hbs +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-ui/src/main/webapp/app/templates/yarn-app/logs.hbs @@ -32,43 +32,52 @@ <img src="assets/images/spinner.gif" alt="Loading..."> </div> {{/if}} - {{#if attemptList}} - <div class="row"> - <div class="col-md-6"> - <label>Choose attempt to fetch containers</label> - <div> - <select class="js-fetch-attempt-containers" onchange={{action "showContainersForAttemptId" value="target.value"}} style="max-width:350px;"> - <option value="" selected={{eq selectedAttemptId ''}}>None</option> - {{#each attemptList as |attempt|}} - <option value="{{attempt.id}}" selected={{eq selectedAttemptId attempt.id}}>{{attempt.id}}</option> - {{/each}} - </select> - </div> + {{#if isTimelineUnHealthy}} + <div class="row panel-heading"> + <div class="col-md-2"></div> + <div class="col-md-8 alert alert-warning glyphicon glyphicon-warning-sign text-center"> + <span>Logs are unavailable because Application Timeline Service seems unhealthy.</span> + </div> </div> - {{#if attemptContainerList}} - <div class="col-md-6"> - <label>Choose container to fetch logs</label> - <div> - <select class="js-fetch-logs-containers" onchange={{action "showLogFilesForContainerId" value="target.value"}} style="max-width:350px"> - <option value="" selected={{eq selectedContainerId ''}}>None</option> - {{#each attemptContainerList as |container|}} - <option value="{{container.id}}" selected={{eq selectedContainerId container.id}}>{{container.id}}</option> - {{/each}} - </select> + {{else}} + {{#if attemptList}} + <div class="row"> + <div class="col-md-6"> + <label>Choose attempt to fetch containers</label> + <div> + <select class="js-fetch-attempt-containers" onchange={{action "showContainersForAttemptId" value="target.value"}} style="max-width:350px;"> + <option value="" selected={{eq selectedAttemptId ''}}>None</option> + {{#each attemptList as |attempt|}} + <option value="{{attempt.id}}" selected={{eq selectedAttemptId attempt.id}}>{{attempt.id}}</option> + {{/each}} + </select> + </div> + </div> + {{#if attemptContainerList}} + <div class="col-md-6"> + <label>Choose container to fetch logs</label> + <div> + <select class="js-fetch-logs-containers" onchange={{action "showLogFilesForContainerId" value="target.value"}} style="max-width:350px"> + <option value="" selected={{eq selectedContainerId ''}}>None</option> + {{#each attemptContainerList as |container|}} + <option value="{{container.id}}" selected={{eq selectedContainerId container.id}}>{{container.id}}</option> + {{/each}} + </select> + </div> + </div> + {{else}} + {{#if (and selectedAttemptId (not _isLoadingTopPanel))}} + <div class="col-md-4"> + <h4 class="text-center" style="margin-top:25px;">No container data available!</h4> + </div> + {{/if}} + {{/if}} </div> - </div> {{else}} - {{#if (and selectedAttemptId (not _isLoadingTopPanel))}} - <div class="col-md-4"> - <h4 class="text-center" style="margin-top:25px;">No container data available!</h4> + <div class="col-md-12"> + <h4 class="text-center">No data available!</h4> </div> - {{/if}} {{/if}} - </div> - {{else}} - <div class="col-md-12"> - <h4 class="text-center">No data available!</h4> - </div> {{/if}} </div> </div> --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org