[vz-users] falschen Messwert in der Aggregation löschen

Frank Richter frank.richter83 at gmail.com
Wed Feb 8 23:31:35 CET 2017


Betreibst du das auf SD-Karte? Dann sind das wohl die letzten Zuckungen vor
dem Flash-Tod...
Wenn du kein aktuelles Backup hast, versuch mal noch einen DB-Dump zu
machen.

Grüße
Frank
Am 08.02.2017 23:26 schrieb <china2013 at abwesend.de>:

> möglicherweise ist dein /tmp/ zu klein für das was MySQL da vorhat. Ist
> das ein Pi mit Udos Image (/tmp/ als Ramdisk)?
>
> Ja das ist Udos Image:
>
> pi at PI3:~ $ df -h
> Filesystem      Size  Used Avail Use% Mounted on
> /dev/root        30G  5.3G   23G  19% /
> devtmpfs        459M     0  459M   0% /dev
> tmpfs           463M     0  463M   0% /dev/shm
> tmpfs           463M  6.2M  457M   2% /run
> tmpfs           5.0M  4.0K  5.0M   1% /run/lock
> tmpfs           463M     0  463M   0% /sys/fs/cgroup
> tmpfs            30M  4.0K   30M   1% /tmp
> /dev/mmcblk0p1   60M   21M   40M  35% /boot
>
>
> Und brauchst du aggregate minute wirklich? Es war IMHO mal so dass das
> Frontend das nicht benutzt hat, aktuellen Stand kenne ich allerdings nicht.
>
> Hmm, wer kann das beantworten?
>
> Was ist dein interval bzw. aggtime von vzlogger her?
>
> ich brauche die Daten schon in maximaler Auflösung. vzlogger darf
> höchstens die 0-Werte oder Duplikat-Werte zusammenfassen.
>
> Gerade getestet:
> php /var/www/volkszaehler.org/misc/tools/aggregate.php run -m delta -l
> hour
>
> Ergebnis wieder ein Error (die Ramdisk ist nicht voll gelaufen)
> [Doctrine\DBAL\Exception\DriverException]
> An exception occurred while executing 'REPLACE INTO aggregate (channel_id,
> type, timestamp, value, count)SELECT channel_id, ? AS type,
> MAX(agg.timestamp) AS timestamp, COALESCE( SUM(agg.val_by_time) / (MAX(agg.timestamp)
> - MIN(agg.prev_timestamp)), AVG(agg.value)) AS value, COUNT(agg.value) AS
> count FROM ( SELECT channel_id, timestamp, value, value * (timestamp -
> @prev_timestamp) AS val_by_time, GREATEST(0, IF(@prev_timestamp = NULL,
> NULL, @prev_timestamp)) AS prev_timestamp, @prev_timestamp := timestamp
> FROM data CROSS JOIN (SELECT @prev_timestamp := NULL) AS vars WHERE
> channel_id = ? AND timestamp < UNIX_TIMESTAMP(DATE_FORMAT(NOW(),
> "%Y-%m-%d %H:00:00")) * 1000 ORDER BY timestamp ) AS agg GROUP BY
> channel_id, YEAR(FROM_UNIXTIME(timestamp/1000)), DAYOFYEAR(FROM_UNIXTIME(timestamp/1000)),
> HOUR(FROM_UNIXTIME(timestamp/1000))' with params [2, "9"]:SQLSTATE[HY000]:
> General error: 126 Incorrect key file for table '/tmp/#sql_423_1.MYI'; try
> to repair it
>
> [Doctrine\DBAL\Driver\PDOException]
> SQLSTATE[HY000]: General error: 126 Incorrect key file for table
> '/tmp/#sql_423_1.MYI'; try to repair it
>
> [PDOException]
> SQLSTATE[HY000]: General error: 126 Incorrect key file for table
> '/tmp/#sql_423_1.MYI'; try to repair it
>
> Auch wenn man "aggregate day" mit nur einer UUID laufen lässt kommt der
> Error.
> /var/log/mysql/error.log ist heute gewaltige 20MByte groß geworden.
> ------------------------------
> Hallo Andreas, Du bekommt morgen früh post
> Vielen Dank im Vorraus!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20170208/a38582b1/attachment.html>


More information about the volkszaehler-users mailing list