You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by is...@apache.org on 2018/08/23 16:46:27 UTC
[ambari] branch trunk updated: [AMBARI-24523] Hive and Oozie JDBC
url reset after set manually.
This is an automated email from the ASF dual-hosted git repository.
ishanbha pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ambari.git
The following commit(s) were added to refs/heads/trunk by this push:
new 79ed221 [AMBARI-24523] Hive and Oozie JDBC url reset after set manually.
79ed221 is described below
commit 79ed22126f1ae203d70375bd17088f7c0a2e9645
Author: Ishan Bhatt <is...@gmail.com>
AuthorDate: Wed Aug 22 14:34:09 2018 -0700
[AMBARI-24523] Hive and Oozie JDBC url reset after set manually.
---
.../mixins/common/configs/config_recommendation_parser.js | 11 ++++++++---
ambari-web/app/mixins/common/configs/enhanced_configs.js | 15 ++++++++++++---
ambari-web/app/views/common/controls_view.js | 2 ++
.../common/configs/config_recommendation_parser_test.js | 2 ++
4 files changed, 24 insertions(+), 6 deletions(-)
diff --git a/ambari-web/app/mixins/common/configs/config_recommendation_parser.js b/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
index 6bcd322..49b86a1 100644
--- a/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
+++ b/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
@@ -158,7 +158,7 @@ App.ConfigRecommendationParser = Em.Mixin.create(App.ConfigRecommendations, {
fileName = Em.get(config, 'filename'),
group = Em.get(config, 'group.name'),
value = Em.get(config, 'value'),
- prevRecommeneded = Em.get(config, 'recommendedValue');
+ isUserOverriden = Em.get(config, 'didUserOverrideValue');;
Em.set(config, 'recommendedValue', recommendedValue);
if (this.allowUpdateProperty(parentProperties, name, fileName, group, value)) {
var allowConfigUpdate = true;
@@ -170,7 +170,7 @@ App.ConfigRecommendationParser = Em.Mixin.create(App.ConfigRecommendations, {
}
}
- if (prevRecommeneded !== value && name !== "capacity-scheduler") {
+ if (isUserOverriden && name !== "capacity-scheduler") {
allowConfigUpdate = false;
}
@@ -184,7 +184,12 @@ App.ConfigRecommendationParser = Em.Mixin.create(App.ConfigRecommendations, {
if (!Em.isNone(recommendedValue) && !Em.get(config, 'hiddenBySection')) {
Em.set(config, 'isVisible', true);
}
- this.applyRecommendation(name, fileName, group, recommendedValue, this._getInitialValue(config), parentProperties, Em.get(config, 'isEditable'));
+ let recommendationExists = this.getRecommendation(name, fileName, group);
+ if (recommendationExists && isUserOverriden) {
+ this.removeRecommendation(name, fileName, group);
+ } else if (!isUserOverriden) {
+ this.applyRecommendation(name, fileName, group, recommendedValue, this._getInitialValue(config), parentProperties, Em.get(config, 'isEditable'));
+ }
}
if (this.updateInitialOnRecommendations(Em.get(config, 'serviceName'))) {
Em.set(config, 'initialValue', recommendedValue);
diff --git a/ambari-web/app/mixins/common/configs/enhanced_configs.js b/ambari-web/app/mixins/common/configs/enhanced_configs.js
index e8b0864..750ab4d 100644
--- a/ambari-web/app/mixins/common/configs/enhanced_configs.js
+++ b/ambari-web/app/mixins/common/configs/enhanced_configs.js
@@ -628,14 +628,23 @@ App.EnhancedConfigsMixin = Em.Mixin.create(App.ConfigWithOverrideRecommendationP
},
/**
- * disable saving recommended value for current config
+ * disable saving recommended value for current config. Remove recommendation for useroverriden values
* @param config
* @param {boolean} saveRecommended
* @method removeCurrentFromDependentList
*/
removeCurrentFromDependentList: function (config, saveRecommended) {
- var recommendation = this.getRecommendation(config.get('name'), config.get('filename'), config.get('group.name'));
- if (recommendation) this.saveRecommendation(recommendation, saveRecommended);
+ let name = config.get('name'),
+ fileName = config.get('filename'),
+ group = config.get('group.name');
+ var recommendation = this.getRecommendation(name, fileName, group);
+ if (recommendation) {
+ if (config.get('didUserOverrideValue')) {
+ this.removeRecommendation(name, fileName, group);
+ } else {
+ this.saveRecommendation(recommendation, saveRecommended);
+ }
+ }
},
updateAttributesFromTheme: function (serviceName) {
diff --git a/ambari-web/app/views/common/controls_view.js b/ambari-web/app/views/common/controls_view.js
index 2c3c4d8..387dbca 100644
--- a/ambari-web/app/views/common/controls_view.js
+++ b/ambari-web/app/views/common/controls_view.js
@@ -170,6 +170,7 @@ App.ValueObserver = Em.Mixin.create(App.SupportsDependentConfigs, {
if (this.get('selected') || this.get('serviceConfig.changedViaUndoValue')) {
var self = this, config = this.get('serviceConfig'),
controller = this.get('controller');
+ Em.set(config, 'didUserOverrideValue', true);
delay(function(){
self.sendRequestRorDependentConfigs(config, controller);
}, 500);
@@ -186,6 +187,7 @@ App.WidgetValueObserver = Em.Mixin.create(App.ValueObserver, {
if (this.get('selected')) {
var self = this, config = this.get('config'),
controller = this.get('controller');
+ Em.set(config, 'didUserOverrideValue', true);
delay(function(){
self.sendRequestRorDependentConfigs(config, controller);
}, 500);
diff --git a/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js b/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js
index f08bbad..e128ed5 100644
--- a/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js
+++ b/ambari-web/test/mixins/common/configs/config_recommendation_parser_test.js
@@ -229,6 +229,7 @@ describe('App.ConfigRecommendationParser', function() {
describe('update recommendation', function() {
beforeEach(function() {
sinon.spy(instanceObject, 'applyRecommendation');
+ sinon.stub(instanceObject, 'getRecommendation').returns(false);
sinon.stub(instanceObject, 'allowUpdateProperty').returns(c.allowUpdateProperty);
sinon.stub(instanceObject, 'updateInitialOnRecommendations').returns(c.updateInitialOnRecommendations);
});
@@ -236,6 +237,7 @@ describe('App.ConfigRecommendationParser', function() {
instanceObject.allowUpdateProperty.restore();
instanceObject.updateInitialOnRecommendations.restore();
instanceObject.applyRecommendation.restore();
+ instanceObject.getRecommendation.restore();
});
it(c.m, function() {