Sfoglia il codice sorgente

AMBARI-14559. Hive View Visual explain caches and doesn't account for settings changes (pallavkul)

Pallav Kulshreshtha 9 anni fa
parent
commit
251c741bc5

+ 2 - 10
contrib/views/hive/src/main/resources/ui/hive-web/app/controllers/visual-explain.js

@@ -41,6 +41,7 @@ export default Ember.Controller.extend({
       }
       // Introducing a common function
       var getVisualExplainJson = function(){
+        self.set('showSpinner', undefined);
         self.set('rerender');
         self.get('index')._executeQuery(constants.jobReferrer.visualExplain, true, true).then(function (json) {
           //this condition should be changed once we change the way of retrieving this json
@@ -56,16 +57,7 @@ export default Ember.Controller.extend({
         self.toggleProperty('shouldChangeGraph');
       }
 
-      if(this.get('json') == undefined) {
-        getVisualExplainJson();
-
-      } else if (this.get('shouldChangeGraph')){
-        getVisualExplainJson();
-
-      } else {
-        this.set('rerender', true);
-        return;
-      }
+      getVisualExplainJson();
 
     }
   }

+ 6 - 6
contrib/views/hive/src/main/resources/ui/hive-web/app/templates/visual-explain.hbs

@@ -19,12 +19,12 @@
 <div id="visual-explain" class="index-overlay">
   {{#panel-widget headingTranslation="titles.query.visualExplain"}}
 
-  {{#unless json}}
-    {{#if noquery}}
-      <div class="alert alert-danger" role="alert"><strong>{{tb-helper 'hive.errors.no.query'}}</strong></div>
-    {{else}}
-      <div class="spinner"></div>
-    {{/if}}
+  {{#if noquery}}
+    <div class="alert alert-danger" role="alert"><strong>{{tb-helper 'hive.errors.no.query'}}</strong></div>
+  {{/if}}
+
+  {{#unless showSpinner}}
+     <div class="spinner"></div>
   {{/unless}}
 
   <div id="no-visual-explain-graph"></div>

+ 7 - 4
contrib/views/hive/src/main/resources/ui/hive-web/app/views/visual-explain.js

@@ -442,10 +442,13 @@ export default Ember.View.extend({
       g.setDefaultEdgeLabel(function () { return {}; });
 
       this.setNodes(vertices)
-        .setEdges(edges)
-        .setTableNodesAndEdges(vertices)
-        .createNodeGroups()
-        .renderEdges();
+          .setEdges(edges)
+          .setTableNodesAndEdges(vertices)
+          .createNodeGroups()
+          .renderEdges();
+
+      this.set('controller.showSpinner', true);
+
     } else {
 
       if(!this.get('controller.noquery')) {