[vz-users] Aggregation (minute) schlägt fehl

Michael Hartmann hartmann-micha at web.de
Mo Mär 20 10:37:59 CET 2023


Hallo,

 

ich hole das hier noch einmal vor, da es ziemliche nervt.

 

Via cronjob lasse ich alle 10min eine Aggregation auf die Minute laufen.
Bereits vor einigen Wochen ist diese dann plötzlich mit der folgenden
Fehlermeldung ausgestiegen:

 

In AbstractMySQLDriver.php line 128:

 

  An exception occurred while executing 'REPLACE INTO aggregate (channel_id,

  type, timestamp, value, count) SELECT channel_id, ? AS type,
MAX(agg.timest

  amp) AS timestamp, COALESCE( SUM(agg.val_by_time) / (MAX(agg.timestamp) -
M

  IN(agg.prev_timestamp)), AVG(agg.value)) AS value, COUNT(agg.value) AS
coun

  t FROM ( SELECT channel_id, timestamp, value, value * (timestamp -
@prev_ti

  mestamp) AS val_by_time, COALESCE(@prev_timestamp, 0) AS prev_timestamp,
@p

  rev_timestamp := timestamp FROM data 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
aggreg

  ate.channel_id = ?) AS vars WHERE channel_id = ? AND timestamp >=
IFNULL((S

  ELECT 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_FORMAT(N

  OW(), "%Y-%m-%d %H:%i:00")) * 1000 ) AS agg GROUP BY channel_id,
YEAR(FROM_

  UNIXTIME(timestamp/1000)), DAYOFYEAR(FROM_UNIXTIME(timestamp/1000)),
HOUR(F

  ROM_UNIXTIME(timestamp/1000)), MINUTE(FROM_UNIXTIME(timestamp/1000))' with

  params [1, 1, "3", "3", 1, "3"]:

 

  SQLSTATE[22012]: Division by zero: 1365 Division by 0

 

 

In Exception.php line 18:

 

  SQLSTATE[22012]: Division by zero: 1365 Division by 0

 

 

In PDOStatement.php line 117:

 

  SQLSTATE[22012]: Division by zero: 1365 Division by 0

 

Die Aggregation auf Stunde und Tag bereitet (bisher) keine Probleme.

 

Beim letzten Mal hatte ich die Aggregationstabelle gelöscht und neu
aufgebaut. Nach einigen Wochen kommt der Fehler nun wieder.

 

Kann mir jemand erklären wo das Problem liegt? Die Fehlermeldung kann ich
nicht interpretieren.

 

Viele Grüße

 

Micha

-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20230320/0b21def9/attachment.html>


Mehr Informationen über die Mailingliste volkszaehler-users