NEWS
states/objects effektiv löschen
-
Hallo zusammen,
durch einen Bug in einem Adapter hat mein ioBroker jetzt über 380.000 states und ist dadurch nicht mehr bedienbar. Browser stürzen ab, wenn sie den objects-Tab öffnen wollen, Schaltvorgänge finden quasi nicht mehr statt.
Jetzt wollte ich eine Instanz mit den vielen states löschen, aber das macht keinen Spaß. Schon fast blanker Hohn ist es, wenn da steht "Only 35400 objects left to be deleted". Zum Löschen von 200 Objekten braucht das System ca. 10 Minuten. Seit Anfang der Woche bin ich nur am Löschen und es ist noch kein Ende in Sicht.
Löschen versuche ich über die Konsole (per Browser gehts ja sowieso nicht) über den Befehl "iobroker del <instanz>". Mehrmals habe ich schon abgebrochen, der VM mehr Speicher/CPUs gegeben (letzteres bringt nichts, da immer nur eine CPU mit 100 % ausgelastet ist), das System läuft auch auf SSD-Speicher. Mein ioBroker läuft über eine redis-Datenbank, die ich auch schon versucht habe, zu optimieren (keine Zwischenspeicherung, mehrere gleichzeitige Verbindungen etc.), alles ohne Erfolg.
Da ich die Object-IDs kenne, dachte ich mir, vielleicht kann ich die Einträge per CLI über redis-cli effektiver löschen. Auf einem Testsystem hat das aber irgendwie nichts gebracht - in der GUI waren die Channels/States immer noch vorhanden, obwohl ich state- und config-Eintrag aus der Redis-DB gelöscht habe. Leider habe ich keine Doku gefunden, wie das in ioBroker gehandhabt wird, ich dachte, dass alle Daten direkt in der redis-DB gespeichert werden?
Habt Ihr noch andere Tips für mich, wie ich die überflüssigen Einträge loswerden kann? Entweder manuell über die Datenbank, aber auch gerne über einen anderen Weg - nur halt möglichst schneller/effizienter als 200 Werte in 10 Minuten...
-
Mittlerweile habe ich nach langem Warten einen Großteil der States gelöscht bekommen. Leider passiert beim Löschen des Adapters noch folgendes:
iobroker@srv:/opt/iobroker$ iobroker del hue-extended.0 Delete adapter "hue-extended.0" host.srv error: RangeError: Maximum call stack size exceeded RangeError: Maximum call stack size exceeded at Install.enumerateAdapterStates (/opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupInstall.js:1524:40) at process._tickCallback (internal/process/next_tick.js:68:7) host.neuron error: RangeError: Maximum call stack size exceededIst auch verständlich, denn es sind wirklich viele States... nur wie bekomme ich die denn jetzt wieder raus?
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden