Repository: ambari
Updated Branches:
  refs/heads/trunk d1ae61fef -> d5b830d39


AMBARI-6036. When ATS is not running, Job details 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/d5b830d3
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/d5b830d3
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/d5b830d3

Branch: refs/heads/trunk
Commit: d5b830d395178c02f7a9f48bc5d8bb19a1d61754
Parents: d1ae61f
Author: Alex Antonenko <[email protected]>
Authored: Thu Jun 5 19:55:16 2014 +0300
Committer: Alex Antonenko <[email protected]>
Committed: Thu Jun 5 19:59:38 2014 +0300

----------------------------------------------------------------------
 ambari-web/app/controllers/main/jobs_controller.js |  8 ++++----
 ambari-web/app/mappers/jobs/hive_job_mapper.js     |  4 ++--
 ambari-web/app/templates/main/jobs.hbs             | 14 +++++---------
 ambari-web/app/utils/jobs.js                       |  2 ++
 4 files changed, 13 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/d5b830d3/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 6849ba1..39a4f53 100644
--- a/ambari-web/app/controllers/main/jobs_controller.js
+++ b/ambari-web/app/controllers/main/jobs_controller.js
@@ -391,13 +391,13 @@ App.MainJobsController = Em.Controller.extend({
     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 if ((!jqXHR && this.get('loaded') && !this.get('loading')) || (jqXHR 
&& jqXHR.status == 500)) {
+      this.set('jobsMessage', Em.I18n.t('jobs.nothingToShow'));
     }else{
       this.set('jobsMessage', Em.I18n.t('jobs.loadingTasks'));
     }
-    return false;
   },
 
   loadJobs : function() {
@@ -405,7 +405,7 @@ App.MainJobsController = Em.Controller.extend({
     var timeout = this.get('loadTimeout');
     var yarnService = App.YARNService.find().objectAt(0);
     var retryLoad = this.checkDataLoadingError();
-    if (yarnService != null && !retryLoad) {
+    if (yarnService != null) {
       this.set('loading', true);
       var historyServerHostName = 
yarnService.get('appTimelineServerNode.hostName');
       var filtersLink = this.get('filterObject').createJobsFiltersLink();
@@ -431,8 +431,8 @@ App.MainJobsController = Em.Controller.extend({
           self.set('loaded', true);
         }
       }, function (jqXHR, textStatus) {
-        self.checkDataLoadingError(jqXHR);
         App.hiveJobsMapper.map({entities : []});
+        self.checkDataLoadingError(jqXHR);
       });
     }else{
       clearTimeout(timeout);

http://git-wip-us.apache.org/repos/asf/ambari/blob/d5b830d3/ambari-web/app/mappers/jobs/hive_job_mapper.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mappers/jobs/hive_job_mapper.js 
b/ambari-web/app/mappers/jobs/hive_job_mapper.js
index 3026d08..58d3e90 100644
--- a/ambari-web/app/mappers/jobs/hive_job_mapper.js
+++ b/ambari-web/app/mappers/jobs/hive_job_mapper.js
@@ -47,9 +47,9 @@ App.hiveJobMapper = App.QuickDataMapper.create({
       hiveJob.id = json.entity;
       hiveJob.name = hiveJob.id;
       hiveJob.startTime = json.starttime;
-      if (json.endtime == undefined) {
+      if (typeof(json.endtime) == "undefined") {
         var i = 0;
-        while (hiveJob.endTime == undefined && json.events[i]) {
+        while (typeof(hiveJob.endTime) == "undefined" &&  json.events && 
json.events[i]) {
           if (json.events[i].eventtype == 'QUERY_COMPLETED') {
             hiveJob.endTime = json.events[i].timestamp;
           };

http://git-wip-us.apache.org/repos/asf/ambari/blob/d5b830d3/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 03e9137..c0ce029 100644
--- a/ambari-web/app/templates/main/jobs.hbs
+++ b/ambari-web/app/templates/main/jobs.hbs
@@ -51,15 +51,11 @@
           </thead>
           <tbody>
           {{#if view.noDataToShow}}
-              <tr>
-                <td class="no-data" {{bindAttr 
colspan="controller.columnsName.columnsCount"}}>
-                  {{#if controller.loaded}}
-                    {{t jobs.nothingToShow}}
-                  {{else}}
-                    {{controller.jobsMessage}}
-                  {{/if}}
-                </td>
-              </tr>
+            <tr>
+              <td class="no-data" {{bindAttr 
colspan="controller.columnsName.columnsCount"}}>
+                {{controller.jobsMessage}}
+              </td>
+            </tr>
           {{else}}
             {{#each job in controller.sortedContent}}
               <tr>

http://git-wip-us.apache.org/repos/asf/ambari/blob/d5b830d3/ambari-web/app/utils/jobs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/jobs.js b/ambari-web/app/utils/jobs.js
index ca1c379..c0b5054 100644
--- a/ambari-web/app/utils/jobs.js
+++ b/ambari-web/app/utils/jobs.js
@@ -99,6 +99,8 @@ module.exports = {
           errorCallback('job.dag.noname');
         }
       }
+    }, function () {
+      App.router.transitionTo('main.jobs.index');
     });
   },
 

Reply via email to