You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by at...@apache.org on 2016/07/15 16:08:33 UTC
ambari git commit: AMBARI-17737 Assign Masters: hosts change triggers
too much validation calls. (atkach)
Repository: ambari
Updated Branches:
refs/heads/branch-2.4 f866646ab -> 8c1311aaf
AMBARI-17737 Assign Masters: hosts change triggers too much validation calls. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/8c1311aa
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/8c1311aa
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/8c1311aa
Branch: refs/heads/branch-2.4
Commit: 8c1311aaf73a6c9333e6af86ce9c7ebcd2842bc7
Parents: f866646
Author: Andrii Tkach <at...@apache.org>
Authored: Fri Jul 15 16:52:12 2016 +0300
Committer: Andrii Tkach <at...@apache.org>
Committed: Fri Jul 15 19:07:28 2016 +0300
----------------------------------------------------------------------
.../mixins/wizard/assign_master_components.js | 26 ++++++++++++++++++++
1 file changed, 26 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/8c1311aa/ambari-web/app/mixins/wizard/assign_master_components.js
----------------------------------------------------------------------
diff --git a/ambari-web/app/mixins/wizard/assign_master_components.js b/ambari-web/app/mixins/wizard/assign_master_components.js
index e7779c4..decafcc 100644
--- a/ambari-web/app/mixins/wizard/assign_master_components.js
+++ b/ambari-web/app/mixins/wizard/assign_master_components.js
@@ -121,6 +121,20 @@ App.AssignMasterComponents = Em.Mixin.create({
markSavedComponentsAsInstalled: false,
/**
+ * @type {boolean}
+ * @default false
+ */
+ validationInProgress: false,
+
+ /**
+ * run validation call which was skipped
+ * validation should be always ran after last change
+ * @type {boolean}
+ * @default false
+ */
+ runQueuedValidation: false,
+
+ /**
* Array of <code>servicesMasters</code> objects, that will be shown on the page
* Are filtered using <code>mastersToShow</code>
* @type {Array}
@@ -1134,6 +1148,13 @@ App.AssignMasterComponents = Em.Mixin.create({
recommendAndValidate: function(callback) {
var self = this;
+ if (this.get('validationInProgress')) {
+ this.set('runQueuedValidation', true);
+ return;
+ }
+
+ this.set('validationInProgress', true);
+
// load recommendations with partial request
self.loadComponentsRecommendationsFromServer(function() {
// For validation use latest received recommendations because it contains current master layout and recommended slave/client layout
@@ -1141,6 +1162,11 @@ App.AssignMasterComponents = Em.Mixin.create({
if (callback) {
callback();
}
+ self.set('validationInProgress', false);
+ if (self.get('runQueuedValidation')) {
+ self.set('runQueuedValidation', false);
+ self.recommendAndValidate(callback);
+ }
});
}, true);
},