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/02/19 18:59:00 UTC

git commit: AMBARI-4744. Going directly to hive query does not show any UI. (alexantonenko)

Repository: ambari
Updated Branches:
  refs/heads/trunk 9285f6feb -> d46396018


AMBARI-4744. Going directly to hive query does not show any UI. (alexantonenko)


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

Branch: refs/heads/trunk
Commit: d46396018701334861b02d7c2815cd78a910d7cf
Parents: 9285f6f
Author: Alex Antonenko <hi...@gmail.com>
Authored: Wed Feb 19 19:56:07 2014 +0200
Committer: Alex Antonenko <hi...@gmail.com>
Committed: Wed Feb 19 19:56:21 2014 +0200

----------------------------------------------------------------------
 .../main/jobs/hive_job_details_controller.js    | 26 ++++++++++++++------
 .../app/controllers/main/jobs_controller.js     |  3 +--
 ambari-web/app/mappers/jobs/hive_job_mapper.js  |  3 +++
 ambari-web/app/models/service/yarn.js           |  7 ++++--
 ambari-web/app/routes/main.js                   |  6 ++---
 ambari-web/app/utils/jobs.js                    | 11 ++-------
 6 files changed, 32 insertions(+), 24 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ambari/blob/d4639601/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js b/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
index 891d8c2..5962af1 100644
--- a/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
+++ b/ambari-web/app/controllers/main/jobs/hive_job_details_controller.js
@@ -20,16 +20,28 @@ var jobsUtils = require('utils/jobs');
 
 App.MainHiveJobDetailsController = Em.Controller.extend({
   name : 'mainHiveJobDetailsController',
+
   content : null,
   loaded : false,
-  loadJobDetails : function() {
+  loadTimeout: null,
+
+  loadJobDetails : function(job) {
     var self = this;
-    this.set('loaded', false);
-    var content = this.get('content');
-    if (content != null) {
-      jobsUtils.refreshJobDetails(content, function() {
-        self.set('loaded', true);
-      });
+    var timeout = this.get('loadTimeout');
+    var yarnService = App.YARNService.find().objectAt(0);
+    if (yarnService != null) {
+      var self = this;
+      this.set('loaded', false);
+      if (job != null) {
+        jobsUtils.refreshJobDetails(job, function() {
+          self.set('loaded', true);
+        });
+      }
+    }else{
+      clearTimeout(timeout);
+      timeout = setTimeout(function(){
+        self.loadJobDetails(job);
+      }, 300);
     }
   },
 

http://git-wip-us.apache.org/repos/asf/ambari/blob/d4639601/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 d4b607b..f8f6c6e 100644
--- a/ambari-web/app/controllers/main/jobs_controller.js
+++ b/ambari-web/app/controllers/main/jobs_controller.js
@@ -272,7 +272,6 @@ App.MainJobsController = Em.ArrayController.extend({
       'filterObject.jobsLimit',
       'filterObject.user',
       'filterObject.windowStart',
-      'filterObject.windowEnd',
-      'App.router.clusterController.isLoaded'
+      'filterObject.windowEnd'
   )
 })

http://git-wip-us.apache.org/repos/asf/ambari/blob/d4639601/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 afe9783..012401b 100644
--- a/ambari-web/app/mappers/jobs/hive_job_mapper.js
+++ b/ambari-web/app/mappers/jobs/hive_job_mapper.js
@@ -157,6 +157,9 @@ App.hiveJobMapper = App.QuickDataMapper.create({
           hiveJob.tezDag = tezDag.id;
         }
       }
+      if(App.HiveJob.find().get('content').length == 0){
+        App.store.load(model, hiveJob);
+      }
       var hiveJobRecord = App.HiveJob.find(hiveJob.id);
       if (hiveJobRecord != null) {
         hiveJobRecord.set('queryText', hiveJob.queryText);

http://git-wip-us.apache.org/repos/asf/ambari/blob/d4639601/ambari-web/app/models/service/yarn.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/models/service/yarn.js b/ambari-web/app/models/service/yarn.js
index c5bfb3b..f78b257 100644
--- a/ambari-web/app/models/service/yarn.js
+++ b/ambari-web/app/models/service/yarn.js
@@ -38,8 +38,11 @@ App.YARNService = App.Service.extend({
   appsKilled: DS.attr('number'),
   appsFailed: DS.attr('number'),
   ahsWebPort: function() {
-    return App.db.getConfigs().findProperty('type', 'yarn-site').properties['yarn.ahs.webapp.address']
-      .match(/:(\d+)/)[1];
+    var yarnConf = App.db.getConfigs().findProperty('type', 'yarn-site')
+    if(yarnConf){
+      return yarnConf.properties['yarn.ahs.webapp.address'].match(/:(\d+)/)[1];;
+    }
+    return "";
   }.property(),
   yarnClientNodes: function(){
     return this.get('hostComponents').filterProperty('componentName', 'YARN_CLIENT').mapProperty('host');

http://git-wip-us.apache.org/repos/asf/ambari/blob/d4639601/ambari-web/app/routes/main.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/routes/main.js b/ambari-web/app/routes/main.js
index b825ca2..bd090b2 100644
--- a/ambari-web/app/routes/main.js
+++ b/ambari-web/app/routes/main.js
@@ -143,10 +143,8 @@ module.exports = Em.Route.extend({
       route : '/:job_id',
       connectOutlets : function(router, job) {
         if (job) {
-          if (job.get('jobType') === App.JobType.HIVE) {
-            router.get('mainController').connectOutlet('mainHiveJobDetails', job);
-            router.get('mainHiveJobDetailsController').loadJobDetails();
-          }
+          router.get('mainHiveJobDetailsController').loadJobDetails(job);
+          router.get('mainController').connectOutlet('mainHiveJobDetails');
         }
       }
     }),

http://git-wip-us.apache.org/repos/asf/ambari/blob/d4639601/ambari-web/app/utils/jobs.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/jobs.js b/ambari-web/app/utils/jobs.js
index a227cc7..9dee00c 100644
--- a/ambari-web/app/utils/jobs.js
+++ b/ambari-web/app/utils/jobs.js
@@ -27,15 +27,7 @@ module.exports = {
    *          successCallback
    */
   refreshJobDetails : function(job, successCallback) {
-    if (job) {
-      switch (job.get('jobType')) {
-      case App.JobType.HIVE:
-        this.refreshHiveJobDetails(job, successCallback);
-        break;
-      default:
-        break;
-      }
-    }
+    this.refreshHiveJobDetails(job, successCallback);
   },
 
   /**
@@ -60,6 +52,7 @@ module.exports = {
       complete : function(jqXHR, textStatus) {
         // Now get the Tez DAG ID from the DAG name
         var hiveRecord = App.HiveJob.find(hiveJobId);
+        App.router.get('mainHiveJobDetailsController').set('content', hiveRecord);
         var tezDagName = hiveRecord.get('tezDag.name');
         if (tezDagName != null) {
           var sender = {