You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vi...@apache.org on 2017/04/05 22:00:42 UTC
ambari git commit: AMBARI-20429. Warn users about pending requests
while trying to enable Interactive Query immediately after disabling it
(vivekratnavel)
Repository: ambari
Updated Branches:
refs/heads/branch-2.5 413db00ff -> 09105035a
AMBARI-20429. Warn users about pending requests while trying to enable Interactive Query immediately after disabling it (vivekratnavel)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/09105035
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/09105035
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/09105035
Branch: refs/heads/branch-2.5
Commit: 09105035abd51ef0d820bcafa7ec38cebb079e2f
Parents: 413db00
Author: Vivek Ratnavel Subramanian <vi...@gmail.com>
Authored: Wed Apr 5 14:59:47 2017 -0700
Committer: Vivek Ratnavel Subramanian <vi...@gmail.com>
Committed: Wed Apr 5 14:59:47 2017 -0700
----------------------------------------------------------------------
.../wizard/step7/assign_master_controller.js | 75 ++++++++++++++++++--
ambari-web/app/messages.js | 2 +
ambari-web/app/utils/ajax/ajax.js | 4 ++
.../configs/widgets/config_widget_view.js | 3 +
4 files changed, 78 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/09105035/ambari-web/app/controllers/wizard/step7/assign_master_controller.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js
index e2c5fa6..b1e3397 100644
--- a/ambari-web/app/controllers/wizard/step7/assign_master_controller.js
+++ b/ambari-web/app/controllers/wizard/step7/assign_master_controller.js
@@ -62,15 +62,13 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App
this.set('configWidgetContext', context);
this.set('content', context.get('controller.content'));
this.set('configActionComponent', hostComponent);
- var missingDependentServices = this.getAllMissingDependentServices();
- var isNonWizardPage = !this.get('content.controllerName');
+
switch (action) {
case 'ADD':
- if (missingDependentServices.length && isNonWizardPage) {
- this.showInstallServicesPopup(missingDependentServices);
+ if (hostComponent.componentName == "HIVE_SERVER_INTERACTIVE") {
+ this.getPendingBatchRequests(hostComponent);
} else {
- this.set('mastersToCreate', [hostComponent.componentName]);
- this.showAssignComponentPopup();
+ this.showPopup(hostComponent);
}
break;
case 'DELETE':
@@ -80,6 +78,71 @@ App.AssignMasterOnStep7Controller = Em.Controller.extend(App.BlueprintMixin, App
}
},
+ getPendingBatchRequests: function(hostComponent) {
+ var self = this;
+ // Send Ajax request to get status of pending batch requests
+ App.ajax.send({
+ name : 'request_schedule.get.pending',
+ sender: self,
+ error : 'pendingBatchRequestsAjaxError',
+ success: 'pendingBatchRequestsAjaxSuccess',
+ data: {
+ hostComponent: hostComponent
+ }
+ });
+ },
+
+ pendingBatchRequestsAjaxError: function(data) {
+ var error = Em.I18n.t('services.service.actions.run.yarnRefreshQueues.error');
+ if(data && data.responseText){
+ try {
+ var json = $.parseJSON(data.responseText);
+ error += json.message;
+ } catch (err) {}
+ }
+ App.showAlertPopup(Em.I18n.t('services.service.actions.run.yarnRefreshQueues.error'), error, null);
+ },
+
+ pendingBatchRequestsAjaxSuccess : function(data, opt, params) {
+ var self = this;
+ var showAlert = false;
+ if (data.hasOwnProperty('items') && data.items.length > 0) {
+ data.items.forEach( function(_item) {
+ _item.RequestSchedule.batch.batch_requests.forEach( function(batchRequest) {
+ // Check if a DELETE request on HIVE_SERVER_INTERACTIVE is in progress
+ if (batchRequest.request_type == "DELETE" && batchRequest.request_uri.indexOf("HIVE_SERVER_INTERACTIVE") > -1) {
+ showAlert = true;
+ }
+ });
+ });
+ }
+ if (showAlert) {
+ App.showAlertPopup(Em.I18n.t('services.service.actions.hsi.alertPopup.header'), Em.I18n.t('services.service.actions.hsi.alertPopup.body'), function() {
+ var configWidgetContext = self.get('configWidgetContext');
+ var config = self.get('configWidgetContext.config');
+ configWidgetContext.toggleProperty('controller.forceUpdateBoundaries');
+ var value = config.get('initialValue');
+ config.set('value', value);
+ configWidgetContext.setValue(value);
+ configWidgetContext.sendRequestRorDependentConfigs(config);
+ this.hide();
+ });
+ } else {
+ this.showPopup(params.hostComponent);
+ }
+ },
+
+ showPopup: function(hostComponent) {
+ var missingDependentServices = this.getAllMissingDependentServices();
+ var isNonWizardPage = !this.get('content.controllerName');
+ if (missingDependentServices.length && isNonWizardPage) {
+ this.showInstallServicesPopup(missingDependentServices);
+ } else {
+ this.set('mastersToCreate', [hostComponent.componentName]);
+ this.showAssignComponentPopup();
+ }
+ },
+
/**
* Used to set showAddControl/showRemoveControl flag
* @param componentName
http://git-wip-us.apache.org/repos/asf/ambari/blob/09105035/ambari-web/app/messages.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/messages.js b/ambari-web/app/messages.js
index a2a9d60..8173ca3 100644
--- a/ambari-web/app/messages.js
+++ b/ambari-web/app/messages.js
@@ -1963,6 +1963,8 @@ Em.I18n.translations = {
'services.service.actions.run.runHawqCheck.label':'Run HAWQ Config Check',
'services.service.actions.manage_configuration_groups.short':'Manage Config Groups',
'services.service.actions.serviceActions':'Service Actions',
+ 'services.service.actions.hsi.alertPopup.header':'Cannot enable Interactive Query',
+ 'services.service.actions.hsi.alertPopup.body':'You cannot enable Interactive Query now because Interactive Query is in the process of being disabled. This may take a few minutes. Try again later.',
'services.service.delete.popup.header': 'Delete Service',
'services.service.delete.popup.kerberos': 'The Kerberos Service <i>cannot be deleted</i> because Kerberos is ' +
http://git-wip-us.apache.org/repos/asf/ambari/blob/09105035/ambari-web/app/utils/ajax/ajax.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/utils/ajax/ajax.js b/ambari-web/app/utils/ajax/ajax.js
index 8be3b62..70ecb23 100644
--- a/ambari-web/app/utils/ajax/ajax.js
+++ b/ambari-web/app/utils/ajax/ajax.js
@@ -2326,6 +2326,10 @@ var urls = {
'real': '/clusters/{clusterName}/request_schedules/{request_schedule_id}',
'mock': ''
},
+ 'request_schedule.get.pending': {
+ 'real': '/clusters/{clusterName}/request_schedules?fields=*&(RequestSchedule/status.in(SCHEDULED,IN_PROGRESS))',
+ 'mock': ''
+ },
'restart.hostComponents': {
'real': '/clusters/{clusterName}/requests',
'mock': '',
http://git-wip-us.apache.org/repos/asf/ambari/blob/09105035/ambari-web/app/views/common/configs/widgets/config_widget_view.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/views/common/configs/widgets/config_widget_view.js b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
index cb5d5b9..3a1e24d 100644
--- a/ambari-web/app/views/common/configs/widgets/config_widget_view.js
+++ b/ambari-web/app/views/common/configs/widgets/config_widget_view.js
@@ -482,6 +482,9 @@ App.ConfigWidgetView = Em.View.extend(App.SupportsDependentConfigs, App.WidgetPo
this.set('controller.saveInProgress', true);
assignMasterOnStep7Controller.execute(this, 'ADD', hostComponent);
} else {
+ if(hostComponent.componentName == "HIVE_SERVER_INTERACTIVE") {
+ assignMasterOnStep7Controller.execute(this, 'ADD', hostComponent);
+ }
assignMasterOnStep7Controller.clearComponentsToBeDeleted(hostComponent.componentName);
}
break;