[vz-users] aggregate error minute level

Andreas Goetz cpuidle at gmail.com
Sun Jul 7 17:50:22 CEST 2019


Hi Christian,

Ich checks leider nicht, hier die Diskussion: 

https://stackoverflow.com/questions/56923720/why-does-using-replace-over-select-cause-div-by-zero-exception

Mal sehen, ob ein MySQL Guru eine Idee hat. Hast Du mal versucht, MariaDB zu nutzen oder hast Du tatsächlich- wie ich auf dem Testrechner- überhaupt MySQL im Einsatz?

Viele Grüße, Andreas


> On 7. Jul 2019, at 17:36, Andreas Goetz <cpuidle at gmail.com> wrote:
> 
> Perfekt, nach einigem Installationsgerödel (Laptop lange nicht benutzt) kann ichs nachvollziehen, für genauere Analyse brauche ich aber etwas Zeit.
> 
> Viele Grüße, Andreas
> 
> 
>> On 7. Jul 2019, at 10:45, Christian S <schnellrieder.cs at gmail.com <mailto:schnellrieder.cs at gmail.com>> wrote:
>> 
>> Hallo Andreas.
>> 
>> Der Fehler ist wieder gekommen.
>> Log File und Dump liegen auf:
>> https://nextcloud.service-uplink.de/s/9ddDJJqSPL9XxEP <https://nextcloud.service-uplink.de/s/9ddDJJqSPL9XxEP>
>> 
>> 
>> Grüße
>> 
>> Am Do., 4. Juli 2019 um 10:15 Uhr schrieb Andreas Götz <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>:
>> Kein Grund für eine Entschuldigung- Du hast das Problem doch perfekt gelöst! 
>> 
>> Viele Grüße,
>> Andreas
>> 
>> Am 04.07.2019 um 10:03 schrieb Christian S <schnellrieder.cs at gmail.com <mailto:schnellrieder.cs at gmail.com>>:
>> 
>>> Ist notiert und sorry nochmal :(
>>> 
>>> Am Do., 4. Juli 2019 um 10:01 Uhr schrieb Andreas Götz <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>:
>>> Bitte schick mir direkt -v und dump wenn es wieder passiert. Das kam jetzt 2x vor- irgendwo scheint der Wurm drin zu sein, mir fehlen aber ausreichend Informationen den zu beseitigen. 
>>> 
>>> Viele Grüße,
>>> Andreas
>>> 
>>> Am 04.07.2019 um 09:58 schrieb Christian S <schnellrieder.cs at gmail.com <mailto:schnellrieder.cs at gmail.com>>:
>>> 
>>>> Danke Andreas für deine schnelle Antwort.
>>>> 
>>>> Ich war leider schon zu schnell und hab mal in der Zwischenzeit gelesen welche commandos "aggregate" noch so bietet und ein "php /var/www/volkszaehler.org/bin/aggregate <http://volkszaehler.org/bin/aggregate> rebuild" hat scheinbar das Problem beseitigt.
>>>> 
>>>> Die Datenbank ist eine "mysql" Datenbank. Wenn du den dump aber noch immer brauchst lass ich dir den gerne zukommen.
>>>> Auf jeden Fall werd ich mir das mit -v merken und das nächste mal etwas langsamer machen.
>>>> 
>>>> Grüße
>>>> 
>>>> 
>>>> 
>>>> Am Do., 4. Juli 2019 um 08:49 Uhr schrieb Andreas Götz <cpuidle at gmail.com <mailto:cpuidle at gmail.com>>:
>>>> Kannst Du das Kommando bitte nochmal mit -v ausführen damit ich den Verursacher der Fehlermeldung sehr?
>>>> 
>>>> Wäre es evtl möglich mir einen Dump Deiner DB zukommen zu lassen? Was für eine DB ist das?
>>>> 
>>>> Viele Grüße,
>>>> Andreas
>>>> 
>>>> Am 04.07.2019 um 08:25 schrieb Christian S <schnellrieder.cs at gmail.com <mailto:schnellrieder.cs at gmail.com>>:
>>>> 
>>>>> 
>>>>> Hallo.
>>>>> 
>>>>> Seit Tagen bekomme ich beim Ausführen von "aggregate" immer einen Fehler (nur auf dem Level "minute").
>>>>> In den Log Files hätte ich jetzt nichts gefunden. Unten der Fehler im Detail aber so richtig schlau werde ich nicht daraus.
>>>>> 
>>>>> Grüße
>>>>> 
>>>>> root at service-uplink:/home/nas# php /var/www/volkszaehler.org/bin/aggregate <http://volkszaehler.org/bin/aggregate> run -m delta -l minute
>>>>> Performing 'delta' aggregation on 'minute' level
>>>>> 
>>>>>  [>---------------------------]   0%  < 1 sec/< 1 sec  0 channels
>>>>>  [===>------------------------]  11%  < 1 sec/< 1 sec  1 channels
>>>>>  [======>---------------------]  22%  < 1 sec/< 1 sec  2 channels
>>>>>  [=========>------------------]  33%  < 1 sec/< 1 sec  3 channels
>>>>>  [============>---------------]  44%  < 1 sec/< 1 sec  4 channels
>>>>> In AbstractMySQLDriver.php line 106:
>>>>> 
>>>>>   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_times
>>>>>   tamp)), AVG(agg.value)) AS value, COUNT(agg.value) AS count FROM ( SELECT channel_id, timestamp, value, value * (timestam
>>>>>   p - @prev_timestamp) AS val_by_time, COALESCE(@prev_timestamp, 0) AS prev_timestamp, @prev_timestamp := timestamp FROM da
>>>>>   ta CROSS JOIN (SELECT @prev_timestamp := UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(MAX(timestamp) / 1000, "%Y-%m-%d %H:%i:00"
>>>>>   ), INTERVAL 1 minute)) * 1000 FROM aggregate WHERE type = ? AND aggregate.channel_id = ?) AS vars WHERE channel_id = ? AN
>>>>>   D timestamp >= IFNULL((SELECT UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(MAX(timestamp) / 1000, "%Y-%m-%d %H:%i:00"), INTERVAL
>>>>>    1 minute)) * 1000 FROM aggregate WHERE type = ? AND aggregate.channel_id = ? ), 0) AND timestamp < UNIX_TIMESTAMP(DATE_F
>>>>>   ORMAT(NOW(), "%Y-%m-%d %H:%i:00")) * 1000 ) AS agg GROUP BY channel_id, YEAR(FROM_UNIXTIME(timestamp/1000)), DAYOFYEAR(FR
>>>>>   OM_UNIXTIME(timestamp/1000)), HOUR(FROM_UNIXTIME(timestamp/1000)), MINUTE(FROM_UNIXTIME(timestamp/1000))' with params [1,
>>>>>    1, "19", "19", 1, "19"]:
>>>>> 
>>>>>   SQLSTATE[22012]: Division by zero: 1365 Division by 0
>>>>> 
>>>>> 
>>>>> In PDOStatement.php line 119:
>>>>> 
>>>>>   SQLSTATE[22012]: Division by zero: 1365 Division by 0
>>>>> 
>>>>> 
>>>>> In PDOStatement.php line 117:
>>>>> 
>>>>>   SQLSTATE[22012]: Division by zero: 1365 Division by 0
>>>>> 
>>>>> 
>>>>> run [-l|--level LEVEL] [-m|--mode MODE] [-p|--periods PERIODS] [-v|--verbose] [--] [<uuid>...]
>>>>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20190707/51462790/attachment.html>


More information about the volkszaehler-users mailing list