You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by su...@apache.org on 2019/08/10 15:36:35 UTC

[hadoop] branch trunk updated: YARN-9729. [UI2] Fix error message for logs without ATSv2. Contributed by Zoltan Siegl.

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 <su...@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-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org