Return-Path: X-Original-To: apmail-tez-commits-archive@minotaur.apache.org Delivered-To: apmail-tez-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B0D7110F2F for ; Wed, 3 Dec 2014 02:04:08 +0000 (UTC) Received: (qmail 94317 invoked by uid 500); 3 Dec 2014 02:04:08 -0000 Delivered-To: apmail-tez-commits-archive@tez.apache.org Received: (qmail 94281 invoked by uid 500); 3 Dec 2014 02:04:08 -0000 Mailing-List: contact commits-help@tez.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tez.apache.org Delivered-To: mailing list commits@tez.apache.org Received: (qmail 94272 invoked by uid 99); 3 Dec 2014 02:04:08 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 03 Dec 2014 02:04:08 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 4B8A9A0718E; Wed, 3 Dec 2014 02:04:08 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: rbalamohan@apache.org To: commits@tez.apache.org Message-Id: <38df3f39e5e749bc8d03301ccc5c9590@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: tez git commit: TEZ-1813. display loading and other error messages in tez-ui (Prakash Ramachandran via Rajesh Balamohan) Date: Wed, 3 Dec 2014 02:04:08 +0000 (UTC) Repository: tez Updated Branches: refs/heads/TEZ-8 51a4f49cb -> 3ec89d6b9 TEZ-1813. display loading and other error messages in tez-ui (Prakash Ramachandran via Rajesh Balamohan) Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/3ec89d6b Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/3ec89d6b Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/3ec89d6b Branch: refs/heads/TEZ-8 Commit: 3ec89d6b97cc66577a7fc52870c1e99365333ab4 Parents: 51a4f49 Author: Rajesh Balamohan Authored: Wed Dec 3 07:33:52 2014 +0530 Committer: Rajesh Balamohan Committed: Wed Dec 3 07:33:52 2014 +0530 ---------------------------------------------------------------------- .../scripts/controllers/dag_index_controller.js | 8 +----- .../webapp/app/scripts/controllers/dag_tasks.js | 8 +++--- .../app/scripts/controllers/dags_controller.js | 8 +++--- .../controllers/vertex_tasks_controller.js | 6 +++-- .../src/main/webapp/app/scripts/helpers/misc.js | 16 ++++++++++++ .../app/scripts/mixins/paginated_content.js | 26 +++++++++++--------- tez-ui/src/main/webapp/app/scripts/router.js | 16 +++++++++++- tez-ui/src/main/webapp/app/templates/error.hbs | 18 ++++++++++++++ tez-ui/src/main/webapp/app/templates/error_.hbs | 22 ----------------- 9 files changed, 78 insertions(+), 50 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js index 5549a84..a7eb3ea 100644 --- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js +++ b/tez-ui/src/main/webapp/app/scripts/controllers/dag_index_controller.js @@ -50,12 +50,6 @@ App.DagIndexController = Em.ObjectController.extend({ failedTasksLink: function() { return '#tasks?status=FAILED&parentType=TEZ_DAG_ID&parentID=' + this.get('id'); - }.property(), - - actions: { - showFailedTasks: function() { - alert('not implemented'); - } - }, + }.property() }); http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js b/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js index f78f926..f6d2c2c 100644 --- a/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js +++ b/tez-ui/src/main/webapp/app/scripts/controllers/dag_tasks.js @@ -68,9 +68,11 @@ App.DagTasksController = Em.ObjectController.extend(App.PaginatedContentMixin, A Em.RSVP.allSettled(pivotLoaders).then(function(){ that.set('loading', false); }); - }).catch(function(jqXHR){ - if(console) console.log(jqXHR); - alert('failed'); + }).catch(function(error){ + Em.Logger.error(error); + var err = App.Helpers.misc.formatError(error); + var msg = 'error code: %@, message: %@'.fmt(err.errCode, err.msg); + App.Helpers.ErrorBar.getInstance().show(msg, error.details); }); }, http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js index 7f3029c..2ded68e 100644 --- a/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js +++ b/tez-ui/src/main/webapp/app/scripts/controllers/dags_controller.js @@ -99,9 +99,11 @@ App.DagsController = Em.ObjectController.extend(App.PaginatedContentMixin, App.C Em.RSVP.allSettled(loaders).then(function(){ that.set('loading', false); }); - }).catch(function(jqXHR){ - if(console) console.log(jqXHR); - alert('failed'); + }).catch(function(error){ + Em.Logger.error(error); + var err = App.Helpers.misc.formatError(error); + var msg = 'error code: %@, message: %@'.fmt(err.errCode, err.msg); + App.Helpers.ErrorBar.getInstance().show(msg, err.details); }); }, http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/scripts/controllers/vertex_tasks_controller.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/scripts/controllers/vertex_tasks_controller.js b/tez-ui/src/main/webapp/app/scripts/controllers/vertex_tasks_controller.js index c55715b..42f79a9 100644 --- a/tez-ui/src/main/webapp/app/scripts/controllers/vertex_tasks_controller.js +++ b/tez-ui/src/main/webapp/app/scripts/controllers/vertex_tasks_controller.js @@ -66,8 +66,10 @@ App.VertexTasksController = Em.ObjectController.extend(App.PaginatedContentMixin that.set('loading', false); }); }).catch(function(jqXHR){ - if(console) console.log(jqXHR); - alert('failed'); + Em.Logger.error(error); + var err = App.Helpers.misc.formatError(error); + var msg = 'error code: %@, message: %@'.fmt(err.errCode, err.msg); + App.Helpers.ErrorBar.getInstance().show(msg, err.details); }); }, http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/scripts/helpers/misc.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/scripts/helpers/misc.js b/tez-ui/src/main/webapp/app/scripts/helpers/misc.js index d737549..d9c9fdd 100644 --- a/tez-ui/src/main/webapp/app/scripts/helpers/misc.js +++ b/tez-ui/src/main/webapp/app/scripts/helpers/misc.js @@ -129,6 +129,22 @@ App.Helpers.misc = { return value; }, + /* + * returns a formatted message, the real cause is unknown and the error object details + * depends on the error cause. the function tries to handle ajax error or a native errors + */ + formatError: function(error) { + var msg = error.statusText || error.message || ''; + if (error.responseText) { + msg += error.responseText; + } + return { + errCode: error.status || 'Unknown', + msg: msg, + details: error.stack + }; + }, + dagStatusUIOptions: [ { label: 'All', id: null }, { label: 'Submitted', id: 'SUBMITTED' }, http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/scripts/mixins/paginated_content.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/scripts/mixins/paginated_content.js b/tez-ui/src/main/webapp/app/scripts/mixins/paginated_content.js index 01a9f5e..66eb558 100644 --- a/tez-ui/src/main/webapp/app/scripts/mixins/paginated_content.js +++ b/tez-ui/src/main/webapp/app/scripts/mixins/paginated_content.js @@ -45,21 +45,23 @@ App.PaginatedContentMixin = Em.Mixin.create({ return sorted.slice(0, this.count); }.property('entities', 'numEntities'), - loadEntities: function() { - var that = this; - var childEntityType = this.get('childEntityType'); + loadEntities: function() { + var that = this; + var childEntityType = this.get('childEntityType'); that.set('loading', true); - this.get('store').unloadAll(childEntityType); - this.get('store').findQuery(childEntityType, this.getFilterProperties()).then(function(entities){ - that.set('entities', entities); - that.set('loading', false); - }).catch(function(jqXHR){ - if(console) console.log(jqXHR); - alert('failed'); - }); - }, + this.get('store').unloadAll(childEntityType); + this.get('store').findQuery(childEntityType, this.getFilterProperties()).then(function(entities){ + that.set('entities', entities); + that.set('loading', false); + }).catch(function(jqXHR){ + Em.Logger.error(error); + var err = App.Helpers.misc.formatError(error); + var msg = 'error code: %@, message: %@'.fmt(err.errCode, err.msg); + App.Helpers.ErrorBar.getInstance().show(msg, err.details); + }); + }, setFiltersAndLoadEntities: function(filters) { this._paginationFilters = filters; http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/scripts/router.js ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/scripts/router.js b/tez-ui/src/main/webapp/app/scripts/router.js index a67b91f..7521e4a 100644 --- a/tez-ui/src/main/webapp/app/scripts/router.js +++ b/tez-ui/src/main/webapp/app/scripts/router.js @@ -51,7 +51,7 @@ App.Router.map(function() { this.resource('taskAttempt', {path: '/task_attempt/:task_attempt_id'}, function() { this.route('counters'); }); - //this.resource('error', {path:$ '/error'}); + this.resource('error', {path: '/error'}); }); /* --- Router helper functions --- */ @@ -102,6 +102,20 @@ function setupControllerFactory(format) { }; } +App.ApplicationRoute = Em.Route.extend({ + actions: { + willTransition: function(transition) { + App.Helpers.ErrorBar.getInstance().hide(); + }, + error: function(error, transition, originRoute) { + this.replaceWith('error'); + Em.Logger.error(error); + var err = App.Helpers.misc.formatError(error); + var msg = 'error code: %@, message: %@'.fmt(err.errCode, err.msg); + App.Helpers.ErrorBar.getInstance().show(msg, error.details); + } + } +}); /* --- Dag related routes --- */ App.DagsRoute = Em.Route.extend({ http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/templates/error.hbs ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/templates/error.hbs b/tez-ui/src/main/webapp/app/templates/error.hbs new file mode 100644 index 0000000..47e7cd5 --- /dev/null +++ b/tez-ui/src/main/webapp/app/templates/error.hbs @@ -0,0 +1,18 @@ +{{! + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +}} +

An Error Occurred

\ No newline at end of file http://git-wip-us.apache.org/repos/asf/tez/blob/3ec89d6b/tez-ui/src/main/webapp/app/templates/error_.hbs ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/app/templates/error_.hbs b/tez-ui/src/main/webapp/app/templates/error_.hbs deleted file mode 100644 index 31fe3e3..0000000 --- a/tez-ui/src/main/webapp/app/templates/error_.hbs +++ /dev/null @@ -1,22 +0,0 @@ -{{! - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. -}} - -
An error occurred while loading {{err.target}}
-
Error was {{err.statusText}}
-
details:
{{err.responseText}}
-