From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [45.144.208.40]) by lore.proxmox.com (Postfix) with ESMTPS id 4A6051FF138 for ; Wed, 22 Jul 2026 10:50:26 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id 1880C2150B; Wed, 22 Jul 2026 10:49:05 +0200 (CEST) From: Daniel Kral To: pve-devel@lists.proxmox.com Subject: [PATCH manager v3 08/16] ui: ha: node affinity: commit node priority store all at once Date: Wed, 22 Jul 2026 10:48:16 +0200 Message-ID: <20260722084824.108350-9-d.kral@proxmox.com> X-Mailer: git-send-email 2.47.3 In-Reply-To: <20260722084824.108350-1-d.kral@proxmox.com> References: <20260722084824.108350-1-d.kral@proxmox.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Bm-Milter-Handled: 55990f41-d878-4baa-be0a-ee34c49e34d2 X-Bm-Transport-Timestamp: 1784710082798 X-SPAM-LEVEL: Spam detection results: 0 AWL -0.128 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: N5GXZB46S4MD6DN2XD6KM5CL5MKIUZ4Q X-Message-ID-Hash: N5GXZB46S4MD6DN2XD6KM5CL5MKIUZ4Q X-MailFrom: d.kral@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: David Riley X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox VE development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Each node entry sets a node priority in the store and missing nodes are added to the store alltogether. Each of those actions will trigger update events, which is wasteful as we iterate through all the nodenames. Therefore, only send those update events after all of the nodenames are processed. Suggested-by: David Riley Signed-off-by: Daniel Kral --- changes since v2: - new! www/manager6/ha/rules/NodeAffinityRuleEdit.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/www/manager6/ha/rules/NodeAffinityRuleEdit.js b/www/manager6/ha/rules/NodeAffinityRuleEdit.js index 6aded3bc..bbc20ec8 100644 --- a/www/manager6/ha/rules/NodeAffinityRuleEdit.js +++ b/www/manager6/ha/rules/NodeAffinityRuleEdit.js @@ -97,6 +97,7 @@ Ext.define('PVE.ha.rules.NodeAffinityInputPanel', { update_node_selection = function (string) { let nodenames = string.length ? string.split(',') : []; + store.beginUpdate(); let nodes = nodenames.map((item) => { let [node, priority] = item.split(':'); @@ -111,6 +112,7 @@ Ext.define('PVE.ha.rules.NodeAffinityInputPanel', { return record; }); + store.endUpdate(); if (nodes.length) { sm.select(nodes); -- 2.47.3