NEWS
Test ioBroker Fixer mit JSONL-Compression
-
woody@ioBroker:~$ npm -v 8.19.2 woody@ioBroker:~$ iob stop [sudo] Passwort für woody: woody@ioBroker:~$ ls -la /opt/iobroker/iobroker-data/*.jsonl -rw-rw-r--+ 1 iobroker iobroker 26161720 20. Nov 06:32 /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 17136842 20. Nov 06:32 /opt/iobroker/iobroker-data/states.jsonl
========================================================================== Database maintenance (3/4) ========================================================================== Checking for uncompressed JSONL databases... This might take a while! Compressing /opt/iobroker/iobroker-data/states.jsonl Compressing /opt/iobroker/iobroker-data/objects.jsonl Compressed 2 JSONL files. Done
-
@da_woody
und wie war die Größe nach dem Fix? -
@latzi sorry, hab ich vergessen zu kopieren... lauft schon wieder...
-
@da_woody alles gut. Bei euren Größen seidige alle vom „große files“ problem nicht betroffen. Aber log sie ja gut aus. Danke
-
kalle@iobrokerct:~$ npm -v 8.19.2 Vorher kalle@iobrokerct:~$ kalle@iobrokerct:~$ ls -la /opt/iobroker/iobroker-data/*.jsonl -rw-rw-r--+ 1 iobroker iobroker 20807087 20. Nov 09:17 /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 4919960 20. Nov 09:18 /opt/iobroker/iobroker-data/states.jsonl Nacher kalle@iobrokerct:~$ ls -la /opt/iobroker/iobroker-data/*.jsonl -rw-rw-r--+ 1 iobroker iobroker 18449470 20. Nov 09:19 /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 4181835 20. Nov 09:19 /opt/iobroker/iobroker-data/states.jsonl ========================================================================== Database maintenance (3/4) ========================================================================== Checking for uncompressed JSONL databases... This might take a while! Compressing /opt/iobroker/iobroker-data/states.jsonl Compressing /opt/iobroker/iobroker-data/objects.jsonl Compressed 2 JSONL files. Done Gruß Kalle
-
Moin,
Ich hoffe das ist groß genug.pi@iobroker:~$ ls -la /opt/iobroker/iobroker-data/*.jsonl -rw-rwxr--+ 1 iobroker iobroker 145665583 Nov 20 02:40 /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 801992 Nov 20 09:25 /opt/iobroker/iobroker-data/states.jsonl pi@iobroker:~$ ========================================================================== Database maintenance (3/4) ========================================================================== Checking for uncompressed JSONL databases... This might take a while! Compressing /opt/iobroker/iobroker-data/states.jsonl Compressing /opt/iobroker/iobroker-data/objects.jsonl Compressed 2 JSONL files. Done pi@iobroker:~$ ls -la /opt/iobroker/iobroker-data/*.jsonl -rw-rw-r--+ 1 iobroker iobroker 6821778 Nov 20 09:29 /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 302548 Nov 20 09:29 /opt/iobroker/iobroker-data/states.jsonl pi@iobroker:~$
-
@mrjeschke 145 mb auf 6 wenn ich grad aufm Handy nicht verzählt hab ;-)) aber ja cool. Tut. Dann kann das später raus.
-
So aus technischer Neugier -
*.jsonl
ist doch im Prinzip eine schnöde Textdatei.
Wie/was komprimiert er da - also wie schafft er es da Platz zu schaffen? Oder lässt er "nur die Luft raus" und entfernt ungenuztes? -
@apollon77 Ich habe nach Systemcrash und Neuaufbau und Rücksicherung der states und objects.jsonl auch gerade "Effekte", die nach kaputter Datenbankstruktur riechen. Objecte tauchen mehrfach auf, alte Werte kommen irgendwie immer wieder hervor. Da kommt mir ein Werkzeug zur Reparatur der Datenbank gerade recht!
-
@bananajoe Das Konzept von der jsonl Datenbank ist das pro Zeile ein Objekt drin steht und zuerst mal neue Daten ans file angehängt werden. Die standard „Komprimierung“ (also einen stand komplett neu zu schreiben bei dem für jeden key der aktuellste Wert drin steht) passiert an sich mit unseren Einstellungen wenn doppelt so viele Zeilen wie unique Objekte sind.
Und ja die Komprimierung räumt da auf. Vor allem da sich Objekte eher selten ändern halbes da Auswirkungen.
Der fixer kann so mit aufräumen und so Probleme beim iobroker start falls mal eine date groß wird und die sd Karte langsam ist zu vermeiden
-
@wolfgangd wobei sowas an sich damit weniger was zu tun haben kann. Aber ja „Schaden kann’s auch nicht“ aber wenn die Probleme anhalten dann mal in eigenen thread „vorstellen“
-
Skript gestartet. Keine Probleme.
Werte
VORHER
pi@pi4:~ $ ls -la /opt/iobroker/iobroker-data/*.jsonl
-rw-r--r-- 1 iobroker iobroker 20202339 Nov 21 20:24 /opt/iobroker/iobroker-data/objects.jsonl
-rw-r--r-- 1 iobroker iobroker 3889023 Nov 21 20:24 /opt/iobroker/iobroker-data/states.jsonl
pi@pi4:~ $NACHHER
pi@pi4:~ $ ls -la /opt/iobroker/iobroker-data/*.jsonl
-rw-rw-r--+ 1 iobroker iobroker 8740574 Nov 21 20:27 /opt/iobroker/iobroker-data/objects.jsonl
-rw-rw-r--+ 1 iobroker iobroker 956049 Nov 21 20:27 /opt/iobroker/iobroker-data/states.jsonl
pi@pi4:~ $ -
Hallo alle miteinander,
Für Linux
die Version des Fixers, die wir hier im Thread getestet hatten, ist seid gestern auch Live. Wäre cool wenn Ihr nochmal mit checken könntet das es auch mit einem "iob fix" immer noch tut.
Und wenn Ihr schon dabei seid wäre cool wenn Ihr auch (nachdem Ihr einmal iob fix gemacht habt!!) danach ein "iob diag" versuchen könntet. Geht das? Da ist bestimmt @Thomas-Braun interessiert ob es da noch Fehler gibt
Für Windows
Der Fixer ist jetzt auch unter Windows verfügbar! Wäre cool wenn ich da ggf auch Tester finden ...
Im ioBroker Verzeichnis wäre dies das Ausführen von
npx @iobroker/fix
... (bei gestopptem ioBroker natürlich).Danke für Euer Feedback
Ingo
-
@apollon77 sagte in Test ioBroker Fixer mit JSONL-Compression:
iob fix
Funktioniert! objects.jsonl von 32751637 -> 20090424, states.jsonl von 20246420 -> 3260086
iob diag
Da bekomme ich folgenden Fehler:
bash: line 1: syntax error near unexpected token `<' bash: line 1: `<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/www/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#2196F3"><meta name="description" content="Remote access to personal ioBroker server via ioBroker.cloud"/><link rel="apple-touch-icon" href="/www/logo192.png"/><link rel="manifest" href="/www/manifest.json"/><title>ioBroker Cloud</title><style>#root,body,html{height:100%;width:100%;display:flex;overflow:hidden}</style><script defer="defer" src="/www/static/js/main.ae982c84.js"></script><link href="/www/static/css/main.59da0ebb.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>'
-
@dr-bakterius Danke, lasse es Bluefox nochmal prüfen
-
@apollon77
für iob diag wie @Dr-Bakteriusbash: Zeile 1: Syntaxfehler beim unerwarteten Symbol »<« bash: Zeile 1: `<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="/www/favicon.ico"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#2196F3"><meta name="description" content="Remote access to personal ioBroker server via ioBroker.cloud"/><link rel="apple-touch-icon" href="/www/logo192.png"/><link rel="manifest" href="/www/manifest.json"/><title>ioBroker Cloud</title><style>#root,body,html{height:100%;width:100%;display:flex;overflow:hidden}</style><script defer="defer" src="/www/static/js/main.ae982c84.js"></script><link href="/www/static/css/main.59da0ebb.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div></body></html>'
für iob fix auf meinem vermanschten System
vorher:bommel@iobroker:~$ ls -lah /opt/iobroker/iobroker-data/*.jsonl -rw-rw-r--+ 1 iobroker iobroker 54M 13. Dez 10:52 /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 218M 13. Dez 10:52 /opt/iobroker/iobroker-data/states.jsonl
nachher:
bommel@iobroker:/opt/iobroker$ ls -lah /opt/iobroker/iobroker-data/*.jsonl -rw-rw-r--+ 1 iobroker iobroker 31M 13. Dez 10:53 /opt/iobroker/iobroker-data/objects.jsonl -rw-rw-r--+ 1 iobroker iobroker 15M 13. Dez 10:53 /opt/iobroker/iobroker-data/states.jsonl
-
So, "iob diag" sollte jetzt gefixt sein!!
-
@apollon77 sagte in Test ioBroker Fixer mit JSONL-Compression:
So, "iob diag" sollte jetzt gefixt sein!!
jup, so ist es!
Edit: Leider wird alles vor der
summary
in meiner putty-session gelöscht (ich kann zumindest nicht mehr hochscrollen), ist das so gewollt? -
Das Script soll beim Start und vor summary auf einen Tastendruck warten.
Das macht es aber leider nicht. -
Richtig, sollte es.
Tut es auf meiner lokalen Version auch. Muss ich mal buddeln was da jetzt auf dem Server gelandet ist.echad@chet:~/iob_diag $ diff iob_diag diag.sh 8c8 < SKRIPTV="0.0.8"; #version of this script --- > SKRIPTV="2022-12-09"; #version of this script
Bis auf der angepasste Versionsnummer ist das gleich. Keine Ahnung warum das nicht wie vorgesehen funktioniert.