Repository: ambari Updated Branches: refs/heads/branch-2.5 e8dc1e755 -> c5c6d5962
AMBARI-20162. HiveView2.0: No notifications for successful query which yields no output. (pallavkul) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/c5c6d596 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/c5c6d596 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/c5c6d596 Branch: refs/heads/branch-2.5 Commit: c5c6d5962515486b98f57ada4f0e0398eab8f60c Parents: e8dc1e7 Author: pallavkul <[email protected]> Authored: Fri Feb 24 20:31:49 2017 +0530 Committer: pallavkul <[email protected]> Committed: Fri Feb 24 20:33:54 2017 +0530 ---------------------------------------------------------------------- .../resources/ui/app/routes/queries/query.js | 77 +++++++++----------- .../app/routes/queries/query/visual-explain.js | 9 +-- .../src/main/resources/ui/app/services/jobs.js | 3 +- .../ui/app/templates/queries/query/log.hbs | 8 +- .../ui/app/templates/queries/query/results.hbs | 4 +- .../ui/app/templates/queries/query/tez-ui.hbs | 4 +- .../templates/queries/query/visual-explain.hbs | 9 ++- 7 files changed, 59 insertions(+), 55 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/c5c6d596/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query.js ---------------------------------------------------------------------- diff --git a/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query.js b/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query.js index 16103b7..efab0ad 100644 --- a/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query.js +++ b/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query.js @@ -41,35 +41,6 @@ export default Ember.Route.extend(UILoggerMixin, { this.selectDatabase(dbmodel); } - this.store.findAll('file-resource').then((data) => { - let fileResourceList = []; - data.forEach(x => { - let localFileResource = {'id': x.get('id'), - 'name': x.get('name'), - 'path': x.get('path'), - 'owner': x.get('owner') - }; - fileResourceList.push(localFileResource); - }); - this.controller.set('fileResourceList', fileResourceList); - }); - - this.store.findAll('udf').then((data) => { - let allUDFList = []; - data.forEach(x => { - let localUDF = {'id': x.get('id'), - 'name': x.get('name'), - 'classname': x.get('classname'), - 'fileResource': x.get('fileResource'), - 'owner': x.get('owner') - }; - allUDFList.push(localUDF); - }); - this.controller.set('allUDFList', allUDFList); - }); - - - this.store.findAll('setting').then((data) => { let localStr = ''; data.forEach(x => { @@ -127,6 +98,34 @@ export default Ember.Route.extend(UILoggerMixin, { selectedMultiDb.pushObject(selectedDb); } + this.store.findAll('file-resource').then((data) => { + let fileResourceList = []; + data.forEach(x => { + let localFileResource = {'id': x.get('id'), + 'name': x.get('name'), + 'path': x.get('path'), + 'owner': x.get('owner') + }; + fileResourceList.push(localFileResource); + }); + controller.set('fileResourceList', fileResourceList); + }); + + this.store.findAll('udf').then((data) => { + let allUDFList = []; + data.forEach(x => { + let localUDF = {'id': x.get('id'), + 'name': x.get('name'), + 'classname': x.get('classname'), + 'fileResource': x.get('fileResource'), + 'owner': x.get('owner') + }; + allUDFList.push(localUDF); + }); + controller.set('allUDFList', allUDFList); + }); + + controller.set('worksheet', model); controller.set('selectedTablesModels',model.get('selectedTablesModels') || selectedTablesModels ); @@ -319,6 +318,7 @@ export default Ember.Route.extend(UILoggerMixin, { let jobDetails = self.store.peekRecord('job', data.job.id); console.log(jobDetails); self.send('getJobResult', data, payload.title, jobDetails); + self.get('logger').success('Query has been submitted.'); self.transitionTo('queries.query.loading'); }, (error) => { @@ -387,23 +387,16 @@ export default Ember.Route.extend(UILoggerMixin, { }, function(error) { console.log('error' , error); + self.get('logger').danger('Failed to execute query.', self.extractError(error)); }); }, showVisualExplain(payloadTitle){ - let self = this; - let jobId = this.get('controller').get('currentJobId'); - this.get('query').getVisualExplainJson(jobId).then(function(data) { - console.log('Successful getVisualExplainJson', data); - self.get('controller.model').set('visualExplainJson', data.rows[0][0]); - - if( self.paramsFor('queries.query').worksheetId == payloadTitle){ - self.transitionTo('queries.query.visual-explain'); - } - - }, function(error){ - console.log('error getVisualExplainJson', error); - }); + if( this.paramsFor('queries.query').worksheetId == payloadTitle){ + Ember.run.later(() => { + this.transitionTo('queries.query.visual-explain'); + }, 1); + } }, goNextPage(payloadTitle){ http://git-wip-us.apache.org/repos/asf/ambari/blob/c5c6d596/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/visual-explain.js ---------------------------------------------------------------------- diff --git a/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/visual-explain.js b/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/visual-explain.js index ff3832d..c85db19 100644 --- a/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/visual-explain.js +++ b/contrib/views/hive20/src/main/resources/ui/app/routes/queries/query/visual-explain.js @@ -32,17 +32,16 @@ export default Ember.Route.extend({ setupController(controller, model){ this._super(...arguments); - model.set('lastResultRoute', ".visual-explain"); - if(!Ember.isEmpty(model.get('currentJobData'))){ - + if(!Ember.isEmpty(model.get('currentJobData'))) { let jobId = model.get('currentJobData').job.id; this.controller.set('jobId', jobId); this.controller.set('payloadTitle', model.get('currentJobData').job.title); this.controller.set('isQueryRunning', model.get('isQueryRunning')); - this.controller.set('visualExplainJson', model.get('visualExplainJson')); - + if(!Ember.isEmpty(JSON.parse(model.get('queryResult').rows[0][0])['STAGE PLANS'])){ + this.controller.set('visualExplainJson', model.get('queryResult').rows[0][0]); + } this.controller.set('hasJobAssociated', true); } else { this.controller.set('hasJobAssociated', false); http://git-wip-us.apache.org/repos/asf/ambari/blob/c5c6d596/contrib/views/hive20/src/main/resources/ui/app/services/jobs.js ---------------------------------------------------------------------- diff --git a/contrib/views/hive20/src/main/resources/ui/app/services/jobs.js b/contrib/views/hive20/src/main/resources/ui/app/services/jobs.js index 273cd90..fe1b596 100644 --- a/contrib/views/hive20/src/main/resources/ui/app/services/jobs.js +++ b/contrib/views/hive20/src/main/resources/ui/app/services/jobs.js @@ -28,6 +28,7 @@ export default Ember.Service.extend({ }, waitForJobToComplete(jobId, after, fetchDummyResult = true) { + return new Ember.RSVP.Promise((resolve, reject) => { Ember.run.later(() => { this.get('store').findRecord('job', jobId, {reload: true}) @@ -41,7 +42,7 @@ export default Ember.Service.extend({ } else if (status === 'error') { reject(status) } else { - resolve(this.waitForJobToComplete(jobId, after)); + resolve(this.waitForJobToComplete(jobId, after, fetchDummyResult)); } }, (error) => { reject(error); http://git-wip-us.apache.org/repos/asf/ambari/blob/c5c6d596/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/log.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/log.hbs b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/log.hbs index c7e30f2..e9f1a50 100644 --- a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/log.hbs +++ b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/log.hbs @@ -17,13 +17,13 @@ }} {{#unless hasJobAssociated}} - <div>No Log available.</div> + <div class="explain--error"> + <div>No Log available.</div> + </div> {{/unless}} {{#if hasJobAssociated}} <div> <pre class="prettyprint">{{logResults}}</pre> </div> - -{{/if}} - +{{/if}} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ambari/blob/c5c6d596/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/results.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/results.hbs b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/results.hbs index d859b04..ad44c5a 100644 --- a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/results.hbs +++ b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/results.hbs @@ -19,7 +19,9 @@ {{outlet}} {{#unless hasJobAssociated}} - <div>No Results available.</div> + <div class="explain--error"> + <div>No Results available.</div> + </div> {{/unless}} {{#if hasJobAssociated}} http://git-wip-us.apache.org/repos/asf/ambari/blob/c5c6d596/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/tez-ui.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/tez-ui.hbs b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/tez-ui.hbs index 9bf2b2a..edc1e8e 100644 --- a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/tez-ui.hbs +++ b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/tez-ui.hbs @@ -19,5 +19,7 @@ {{#if model.tezUrl}} <iframe class="tez-ui" src={{model.tezUrl}}></iframe> {{else}} -<div>Tez UI not available.</div> +<div class="explain--error"> + <div>Tez UI not available.</div> +</div> {{/if}} http://git-wip-us.apache.org/repos/asf/ambari/blob/c5c6d596/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/visual-explain.hbs ---------------------------------------------------------------------- diff --git a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/visual-explain.hbs b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/visual-explain.hbs index 5b7e566..426f769 100644 --- a/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/visual-explain.hbs +++ b/contrib/views/hive20/src/main/resources/ui/app/templates/queries/query/visual-explain.hbs @@ -19,10 +19,17 @@ {{outlet}} {{#unless hasJobAssociated}} - <div>No Visual Explain available.</div> + <div class="explain--error"> + <div>No Visual Explain available.</div> + </div> {{/unless}} {{#if hasJobAssociated}} + {{#unless visualExplainJson}} + <div class="explain--error"> + <div>No Visual Explain available.</div> + </div> + {{/unless}} {{#if visualExplainJson}} {{visual-explain expandQueryResultPanel='expandQueryResultPanel'
