From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <d.csapak@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id 2C34769614
 for <pve-devel@lists.proxmox.com>; Thu, 11 Mar 2021 10:14:35 +0100 (CET)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 2A6A925430
 for <pve-devel@lists.proxmox.com>; Thu, 11 Mar 2021 10:14:35 +0100 (CET)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [212.186.127.180])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id 971FB25426
 for <pve-devel@lists.proxmox.com>; Thu, 11 Mar 2021 10:14:34 +0100 (CET)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 5C44C41E09
 for <pve-devel@lists.proxmox.com>; Thu, 11 Mar 2021 10:14:34 +0100 (CET)
From: Dominik Csapak <d.csapak@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Thu, 11 Mar 2021 10:14:32 +0100
Message-Id: <20210311091433.10150-1-d.csapak@proxmox.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL 0.192 Adjusted score from AWL reputation of From: address
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_DNSWL_MED        -2.3 Sender listed at https://www.dnswl.org/,
 medium trust
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
Subject: [pve-devel] [PATCH widget-toolkit 1/2] data/*Store: drop storeid
 requirement
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Thu, 11 Mar 2021 09:14:35 -0000

We never use that and it serves no purpose. It probably was meant
to be the upstream config 'storeId' which would add the store to
the Ext.StoreManager. This is unpractical though, since then the
store has to be explicitely destroyed, otherwise the StoreManager
retains a reference and the GC cannot remove the store.

Since donwstream users of the store can simply give the 'storeId'
property anyway if they need to be managed by the StoreManager,
drop the requirement here.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
i tried to measure the memory impact of the StoreManager, but i did not
find an easy way to deterministically find out. On average though,
using 'storeId' everywhere, we retained a bit more memory (single
digit percentage difference) as far as i could see.

but since we never actually use that functionality, i'd opt for
not doing it by default and if we need it for a single store,
do it manually (and then make sure the store gets removed again)

if we apply this, i can prepare patch series to remove the
'storeid's from pve/pmg/pbs

 src/data/ObjectStore.js | 4 ----
 src/data/RRDStore.js    | 5 -----
 src/data/UpdateStore.js | 3 ---
 3 files changed, 12 deletions(-)

diff --git a/src/data/ObjectStore.js b/src/data/ObjectStore.js
index 860cbfd..cb41f9c 100644
--- a/src/data/ObjectStore.js
+++ b/src/data/ObjectStore.js
@@ -21,10 +21,6 @@ Ext.define('Proxmox.data.ObjectStore', {
 
         config = config || {};
 
-	if (!config.storeid) {
-	    config.storeid = 'proxmox-store-' + ++Ext.idSeed;
-	}
-
         Ext.applyIf(config, {
 	    model: 'KeyValue',
             proxy: {
diff --git a/src/data/RRDStore.js b/src/data/RRDStore.js
index 67ffb57..7c96ded 100644
--- a/src/data/RRDStore.js
+++ b/src/data/RRDStore.js
@@ -37,11 +37,6 @@ Ext.define('Proxmox.data.RRDStore', {
 	    config.interval = 30000;
 	}
 
-	// set a new storeid
-	if (!config.storeid) {
-	    config.storeid = 'rrdstore-' + ++Ext.idSeed;
-	}
-
 	// rrdurl is required
 	if (!config.rrdurl) {
 	    throw "no rrdurl specified";
diff --git a/src/data/UpdateStore.js b/src/data/UpdateStore.js
index be85e4f..cd51089 100644
--- a/src/data/UpdateStore.js
+++ b/src/data/UpdateStore.js
@@ -33,9 +33,6 @@ Ext.define('Proxmox.data.UpdateStore', {
 	    delete config.interval;
 	}
 
-	if (!config.storeid) {
-	    throw "no storeid specified";
-	}
 
 	let load_task = new Ext.util.DelayedTask();
 
-- 
2.20.1