[pve-devel] [PATCH widget-toolkit 1/2] data/*Store: drop storeid requirement

Dominik Csapak d.csapak at proxmox.com
Thu Mar 11 10:14:32 CET 2021


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 at 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






More information about the pve-devel mailing list