Writing negative record size for variable

Ich habe eine Variable, die fast jede Stunde dieses Problem hat.

Es ist eine schlichte Counter Variable, die immer um 1 erhöht wird, wenn einer meiner zwölf 1-Wire Temperatursensoren aktualisiert wird. Damit überwache ich, ob der 1-Wire Bus noch in Ordnung ist (hatte damit mal Probleme).

In einer Stunde wird die Variable um ca. 2000 hochgezählt.

Von daher auch meine Vermutung, dass das Problem durch konkurrierende Zugriffe verursacht wird.

Bei mir sind geloggte Variablen mit streng regelmässigem Sendeintervall unauffällig.

Die Problemen gibt’s bei mir nur bei Variable, die in KNX sowohl zyklisch als auch bei Wertänderung senden, also in unregelmässigen Zeitabständen. Da kommen dann Werte z.B. zyklisch alle 5 Minuten aber auch mal im Intervall von <1s wenn der Wert schnell schwankt.

Das hilft bei der Fehlersuche zwar auch nicht so richtig viel aber ich habe mal einen screenshot über die Häufigkeit des Auftretens beigefügt :

Ich habe insgesamt 4.399 Variablen angelegt von denen 1.735 aufgezeichnet werden

Hallo Paresy,

die negativen Datensätze sind immer noch vorhanden

Ich habe ja in einem anderen Thread schon gedroht, diesen hier wieder raus zu kramen… :smiley:

Mich würde mal interessieren, wie ihr die Größe des Archivs berechnet. Denn darin scheint mir das eigentliche Problem zu liegen und weniger in fehlerhaften Werten. Zumindest konnte ich noch kein funktionales Problem feststellen.
Neben den negativen Größen habe ich auch ständig den umgekehrten Fall: Variablen, deren Archiv angeblich mehrere GB groß ist. In Wirklichkeit sind es aber nur wenige bis einige hundert MB.

Es betrifft in beiden Fällen (soweit ich das überblicken kann) ausschließlich Variablen, die sehr sehr häufig neue Werte bekommen. Und beide Fehler verschwinden (kurzzeitig) mit einer Reaggregation.

Daraus schließe ich, dass ihr die Größe des Archivs im normalen Betrieb anders berechnet als bei einer Reaggregation.
Da aber auch bei „fehlerhaften“ Variablen die CSV-Dateien von der Größe unauffällig sind, würde ich jetzt einfach mal ganz naiv behaupten, dass es doch nicht so aufwändig sein kann, die Größe einfach aus den Dateigrößen der CSV-Dateien abzuleiten, oder?

Ich würde einfach gerne verstehen, wo dieses scheinbar nur kosmetsiche Problem herkommt. Irgendwie nervt es mich doch und ich reaggregiere immer wie doof die Variablen. Ich hatte auch schon überlegt, das wie bumaas mit einem Script zu machen. Aber dummerweise finde ich keinen Ansatzpunkt, um „fehlerhafte“ Varaiblen zu erkennen. Denn das Problem betrifft - wie gesagt - nicht nur negative Größen. Von daher müsste ich auch mit einem Skript immer alle Variablen reaggregieren, um auch alle zu erwischen.

Wie gesagt, da es scheinbar in erster Linie ein kosmetisches Problem zu sein scheint, gibt es natürlich wichtigeres.
Aber vielleicht kriegt man das ja doch noch mal irgendwann in den Griff. :slight_smile:

Gruß
Slummi

Wir haben so einige Umbauarbeiten zur 5.4 am Archiv vor… da werden wir dies ebenfalls erneut angehen.

paresy

Alles klar. Danke für die Info!

Dann warte ich mal auf die 5.4 Beta und baue schon mal eine Testumgebung auf, um das Archiv ordentlich zu stressen. :wink:

Gruß
Slummi

Nur mal aus Interesse, weil ich im Changelog nichts passendes gefunden habe und die Probleme eigentlich immer noch unverändert auftreten: Ihr habt in der 5.4 nichts in Sachen „Negative record size“ gemacht, oder? :smiley:

Nein. Aber zur 5.5 sind wir am Archiv dran :slight_smile:

paresy