[prev in list] [next in list] [prev in thread] [next in thread] 

List:       volkszaehler-dev
Subject:    Re: [vz-dev] Request failed: [400] PDOException: SQLSTATE[23000]: Integrity constraint violation: 10
From:       Thorben Thuermer <r00t () constancy ! org>
Date:       2012-12-18 21:48:28
Message-ID: 20121218224828.e29a26319e5526e81561a089 () constancy ! org
[Download RAW message or body]

On Tue, 18 Dec 2012 20:08:56 +0100 xdiwi <xdiwi@gmx.net> wrote:
> das Problem ist heute wieder aufgetreten! Den entscheidenden Bereich aus 
> dem Log-File findet Ihr im Anhang. Ich hoffe der Log hilft weiter!

alles nichts neues.

workaround fuer dich:
http://volkszaehler.org/pipermail/volkszaehler-dev/2012-December/002210.html

zum beheben des problems:
http://volkszaehler.org/pipermail/volkszaehler-dev/2012-December/002211.html

> Viele Grüße
>     Dieter

- T.

> Am 17.12.2012 21:10, schrieb Thorben Thuermer:
> > On Sat, 15 Dec 2012 22:38:06 +0100 xdiwi <xdiwi@gmx.net> wrote:
> >> Am 15.12.2012 22:30, schrieb Thorben Thuermer:
> >>> On Sat, 15 Dec 2012 22:21:48 +0100 xdiwi <xdiwi@gmx.net> wrote:
> >>>> Am 15.12.2012 22:00, schrieb Thorben Thuermer:
> >>>>> On Sat, 15 Dec 2012 21:45:49 +0100 xdiwi <xdiwi@gmx.net> wrote:
> >>>>>> Es kommt immer wieder zu obiger Fehlermeldung.
> >>>>> die meldung bedeutet einfach, das versucht wurde zwei werte mit identischem
> >>>>> zeitstempel in die datenbank einzutragen.
> >>> es kann sein, das vzlogger wegen dem fehler immer wieder versucht,
> >>> die gleichen daten aus seinem puffer einzutragen -
> >>> das ist dann tatsaechlich ein bug.
> >> Ich habe gerade mal das Log-File durchgeschaut und ja, vzlogger versucht
> >> immer wieder die selben Daten mit dem selben Timestamp zu loggen!
> >
> > als workaround, bis wir einen korrekten fix zustande bekommen,
> > koenntest du in vzlogger/src/threads.c ab zeile 201 ("/* check response */")
> > grosszuegig den code auskommentieren/entfernen/bearbeiten,
> > so dass unabhaengig von der serverantwort der puffer geleert wird.
> > (bei einem zaehler der absolute werte liefert, ist es ohnehin nicht so
> >   kritisch, wenn mal einzelne werte fehlen...)
> >
> > am einfachsten waehre wohl, folgende zeile einzufuegen:
> > @@ -210,6 +210,7 @@ void * logging_thread(void *arg) {
> >                          else {
> >                                  print(log_error, "Request failed: %i", ch, http_code);
> >                          }
> > +                       ch->buffer.sent = last->next;
> >                  }
> >                  else {
> >                          print(log_debug, "Request succeeded: %i", ch, http_code);
> >
> > (also: auch im fehlerfall den puffer leeren.)
> Ich werde dies mal einbauen und testen (kann aber ein paar Tage dauern)!
> >
> > - T.
> >
> 
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic