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/10 18:19:36 UTC
[ambari] 06/06: [AMBARI-24452] [UI Deploy] LLAP queue is not created/set in YARN conf… (#2016)
This is an automated email from the ASF dual-hosted git repository.
ishanbha pushed a commit to branch branch-2.7
in repository https://gitbox.apache.org/repos/asf/ambari.git
commit cf3ec0c543681387f2bfeec7a921207d1fcbc6d7
Author: Ishan Bhatt <is...@gmail.com>
AuthorDate: Thu Aug 9 17:12:07 2018 -0700
[AMBARI-24452] [UI Deploy] LLAP queue is not created/set in YARN conf… (#2016)
* [AMBARI-24452] [UI Deploy] LLAP queue is not created/set in YARN configs while enabling HSI.
* Changed function parameters info
---
.../common/configs/config_recommendation_parser.js | 45 ++++++++++++++++++++++
1 file changed, 45 insertions(+)
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 74aeacd..19ea8a5 100644
--- a/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
+++ b/ambari-web/app/mixins/common/configs/config_recommendation_parser.js
@@ -169,9 +169,15 @@ App.ConfigRecommendationParser = Em.Mixin.create(App.ConfigRecommendations, {
allowConfigUpdate = false;
}
}
+
if (prevRecommeneded !== value) {
allowConfigUpdate = false;
}
+
+ if (name === "capacity-scheduler") {
+ allowConfigUpdate = this.compareCapacitySchedulerValues(prevRecommeneded, value);
+ }
+
if (allowConfigUpdate) {
Em.setProperties(config, {
value: recommendedValue,
@@ -192,6 +198,45 @@ App.ConfigRecommendationParser = Em.Mixin.create(App.ConfigRecommendations, {
},
/**
+ * Configs with value across multiple lines could have them in a different order
+ * Eg: capacity-scheduler
+ *
+ * @param {String} prevRec
+ * @param {String} value
+ * @returns {Boolean}
+ * @method isPrevRecAndValueEqual
+ */
+
+ compareCapacitySchedulerValues: function (prevRec, value) {
+
+
+ let prevRecArr = prevRec.split("\n");
+ let valueArr = value.split("\n");
+
+ //first value being added is capacity-scheduler=null. Remove that for comparison
+ if (valueArr[0].includes("capacity-scheduler")) {
+ valueArr = valueArr.splice(1);
+ }
+
+ if (prevRecArr.length !== valueArr.length) {
+ return false;
+ }
+ if (prevRecArr.length < 2 || valueArr.length < 2) {
+ return prevRec === value;
+ }
+ let strMap = {};
+ for (var i=0; i <prevRecArr.length; i++) {
+ strMap[prevRecArr[i]] = true;
+ }
+ for (var i=0; i<valueArr.length; i++) {
+ if (!strMap[valueArr[i]]) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ /**
* Add config based on recommendations
*
* @param name