You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by al...@apache.org on 2014/04/16 18:59:25 UTC

git commit: AMBARI-5484. When ATS is not running, Jobs page just shows "Loading..." forever (alexantonenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk a21ea8b8a -> 8c6e09152


AMBARI-5484. When ATS is not running, Jobs page just shows "Loading..." forever (alexantonenko)


Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8c6e0915
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8c6e0915
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8c6e0915

Branch: refs/heads/trunk
Commit: 8c6e09152279e72361fa7c143cd83137df43ff9a
Parents: a21ea8b
Author: Alex Antonenko <hi...@gmail.com>
Authored: Wed Apr 16 19:48:16 2014 +0300
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Wed Apr 16 19:48:16 2014 +0300

----------------------------------------------------------------------
 .../app/controllers/main/jobs_controller.js       | 18 +++++++++++++++++-
 ambari-web/app/messages.js                        |  2 ++
 ambari-web/app/templates/main/jobs.hbs            | 12 +++++++-----
 3 files changed, 26 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/8c6e0915/ambari-web/app/controllers/main/jobs_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/jobs_controller.js b/ambari-web/app/controllers/main/jobs_controller.js
index 3db6a7c..a458efa 100644
--- a/ambari-web/app/controllers/main/jobs_controller.js
+++ b/ambari-web/app/controllers/main/jobs_controller.js
@@ -107,6 +107,7 @@ App.MainJobsController = Em.Controller.extend({
   sortProperty: 'id',
   sortAscending: true,
   sortingDone: true,
+  jobsMessage: Em.I18n.t('jobs.loadingTasks'),
 
   sortingColumnObserver: function () {
     if(this.get('sortingColumn')){
@@ -377,11 +378,25 @@ App.MainJobsController = Em.Controller.extend({
     console.debug(jqXHR);
   },
 
+  checkDataLoadingError: function (jqXHR){
+    var atsComponent = App.HostComponent.find().findProperty('componentName','APP_TIMELINE_SERVER');
+    if(atsComponent && atsComponent.get('workStatus') != "STARTED") {
+      this.set('jobsMessage', Em.I18n.t('jobs.error.ats.down'));
+      return true;
+    }else if (jqXHR && jqXHR.status == 400) {
+      this.set('jobsMessage', Em.I18n.t('jobs.error.400'));
+    }else{
+      this.set('jobsMessage', Em.I18n.t('jobs.loadingTasks'));
+    }
+    return false;
+  },
+
   loadJobs : function() {
     var self = this;
     var timeout = this.get('loadTimeout');
     var yarnService = App.YARNService.find().objectAt(0);
-    if (yarnService != null) {
+    var retryLoad = this.checkDataLoadingError();
+    if (yarnService != null && !retryLoad) {
       this.set('loading', true);
       var historyServerHostName = yarnService.get('appTimelineServerNode.hostName');
       var filtersLink = this.get('filterObject').createJobsFiltersLink();
@@ -407,6 +422,7 @@ App.MainJobsController = Em.Controller.extend({
           self.set('loaded', true);
         }
       }, function (jqXHR, textStatus) {
+        self.checkDataLoadingError(jqXHR);
         App.hiveJobsMapper.map({entities : []});
       });
     }else{

http://git-wip-us.apache.org/repos/asf/ambari/blob/8c6e0915/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index 51e451d..6ef14fa 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1990,6 +1990,8 @@ Em.I18n.translations = {
 
   'jobs.nothingToShow': 'No jobs to display',
   'jobs.loadingTasks': 'Loading...',
+  'jobs.error.ats.down': 'Jobs data cannot be shown since YARN App Timeline Server is not running.',
+  'jobs.error.400': 'Unable to load data.',
   'jobs.table.custom.date.am':'AM',
   'jobs.table.custom.date.pm':'PM',
   'jobs.table.custom.date.header':'Select Custom Dates',

http://git-wip-us.apache.org/repos/asf/ambari/blob/8c6e0915/ambari-web/app/templates/main/jobs.hbs
----------------------------------------------------------------------
diff --git a/ambari-web/app/templates/main/jobs.hbs b/ambari-web/app/templates/main/jobs.hbs
index b8341cb..c4e7fe6 100644
--- a/ambari-web/app/templates/main/jobs.hbs
+++ b/ambari-web/app/templates/main/jobs.hbs
@@ -52,11 +52,13 @@
           <tbody>
           {{#if view.noDataToShow}}
               <tr>
-                {{#if controller.loaded}}
-                <td class="no-data" {{bindAttr colspan="controller.columnsName.content.length"}}>{{t jobs.nothingToShow}}</td>
-              {{else}}
-                    <td class="no-data" {{bindAttr colspan="controller.columnsName.content.length"}}>{{t jobs.loadingTasks}}</td>
-                {{/if}}
+                <td class="no-data" {{bindAttr colspan="controller.columnsName.content.length"}}>
+                  {{#if controller.loaded}}
+                    {{t jobs.nothingToShow}}
+                  {{else}}
+                    {{controller.jobsMessage}}
+                  {{/if}}
+                </td>
               </tr>
           {{else}}
             {{#each job in controller.sortedContent}}