[vz-dev] Request failed: [400] PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ... for key 'ts_uniq'

xdiwi xdiwi at gmx.net
Tue Dec 18 20:08:56 CET 2012


Hallo,

das Problem ist heute wieder aufgetreten! Den entscheidenden Bereich aus 
dem Log-File findet Ihr im Anhang. Ich hoffe der Log hilft weiter!

Zunächst schon mal vielen Dank für die Unterstützung!!!!!


Viele Grüße

    Dieter


Am 17.12.2012 21:10, schrieb Thorben Thuermer:
> On Sat, 15 Dec 2012 22:38:06 +0100 xdiwi <xdiwi at gmx.net> wrote:
>> Am 15.12.2012 22:30, schrieb Thorben Thuermer:
>>> On Sat, 15 Dec 2012 22:21:48 +0100 xdiwi <xdiwi at gmx.net> wrote:
>>>> Am 15.12.2012 22:00, schrieb Thorben Thuermer:
>>>>> On Sat, 15 Dec 2012 21:45:49 +0100 xdiwi <xdiwi at 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.
>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: vzlogger.log
Type: text/x-log
Size: 56288 bytes
Desc: not available
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20121218/b8c4bd3c/attachment-0001.bin>


More information about the volkszaehler-dev mailing list