DBLog reduce bringt Fehler SQLlite

Begonnen von Stefan_Ne, 05 August 2018, 21:22:56

Vorheriges Thema - Nächstes Thema

Stefan_Ne

Guten Abend,

ich versuche meine Datenbank zu verkleinern und bekomme immer einen Fehler im Log.

Um die Fehlersuche zu erleichtern reduziere ich nur den ersten Tag an dem ich die Datenbank eingerichtet habe
Folgenden Befehl habe ich abgesetzt:

set logdb reduceLogNbl 295 average

in Logfile kommt folgendes:

2018.08.05 21:00:26 3: DbLog logdb: reduceLogNbl requested with DAYS=295, AVERAGE=HOUR
2018.08.05 21:00:28 3: DbLog logdb: reduceLogNbl deleting 6619 records of day: 2017-10-13

und nach kurzer Zeit folgendes:
2018.08.05 21:01:23 2: DbLog logdb -> Error table history - DBD::SQLite::st execute_array failed: database is locked [err was 5 now 2000000000]
executing 1 generated 1 errors at ./FHEM/93_DbLog.pm line 1632.

ab da ist Fhem nicht mehr erreichbar und er Perl Prozess lastet die CPU ( Intel I5 ) aus.

Hat jemand vielleicht eine Idee ?

Viele Grüße

DS_Starter

Zitat
und nach kurzer Zeit folgendes:
2018.08.05 21:01:23 2: DbLog logdb -> Error table history - DBD::SQLite::st execute_array failed: database is locked [err was 5 now 2000000000] executing 1 generated 1 errors at ./FHEM/93_DbLog.pm line 1632.

Durch den Löschvorgang ist die DB gesperrt ( database is locked ) was normal ist.
Du lässt aber dein DbLog in synchronen Mode laufen. Dadurch blockiert FHEM sobald wieder Events in die DB geschrieben werden sollen.

Abhilfe schafft der asynchrone Modus. Entweder generell einstellen (attr asyncMode = 1) oder zumindest für die Zeit des reducelogNbl-Laufs (vor dem Start einschalten).
Habe gerade gesehen dass ich in der Commandref zum dem Kommando besser explizit darauf hinweisen sollte.

Grüße
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Stefan_Ne

Hallo Heiko,

den Asynchron Modus habe ich eingeschaltet. Fhem blockiert jetzt nicht mehr, aber der perl Prozess läuft ohne fertig zu werden.
Ich lasse das jetzt mal laufen und schaue morgen früh mal wie es ausschaut.

Besten Dank und Grüße
Stefan

DS_Starter

#3
Ja, vielleicht ist da noch was anderes. Verbose 4 oder 5 hilft noch etwas zur Analyse um zu schauen was da passiert.

Edit: Was mir noch einfällt ... ist der Index angelegt ?
Mach mal ein set ... configCheck und schau ob Empfehlungen rauskommen.

Guten Start in die Woche,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter