<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hallo Andreas,<br>
    <br>
    ich hab's mal getestet. Die Kommunikation vom vzlogger scheint erst
    mal zu gehen.<br>
    Den kritischen Fall mit dem Timeout hab ich noch nicht getestet.<br>
    <br>
    Aber das Frontend meldet jetzt in jquery.flot.canvas.js Zeile 44:<br>
    TypeError: classes is undefined<br>
    var Canvas = classes.Canvas;<br>
    <br>
    <br>
    Liebe Grüße, Thomas<br>
    <br>
    <br>
    <br>
    <div class="moz-cite-prefix">Am 11.07.2014 17:50, schrieb Andreas
      Götz:<br>
    </div>
    <blockquote
      cite="mid:BF26158E-3E72-47F8-86C5-1E234D0A6F7D@gmail.com"
      type="cite">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div>Hi Albert,</div>
      <div><br>
      </div>
      <div>Lieber nach dem Urlaub, stimmt. Du musst mein Repo clonen und
        dann den branch wechseln:</div>
      <div><br>
      </div>
      <div>Git checkout ignore-duplicates</div>
      <div><br>
      </div>
      <div>Als config Option taugt das m.E. Nicht weil der Client
        entscheiden sollte ob er das möchte oder nicht, nicht die
        Installation.</div>
      <div><br>
      </div>
      <div>Wenns kappt fehlt also auch noch eine Anpassung im Logger.</div>
      <div><br>
      </div>
      <div>Viele Grüße, Andreas</div>
      <div><br>
        Am 11.07.2014 um 17:22 schrieb Albert Dahmen <<a
          moz-do-not-send="true" href="mailto:albert.dahmen@gmail.com">albert.dahmen@gmail.com</a>>:<br>
        <br>
      </div>
      <blockquote type="cite">
        <div>
          <div dir="ltr">Hallo Andreas,
            <div><br>
            </div>
            <div>ich würde es gerne testen ... allerdings geht es morgen
              für eine Woche in Urlaub ... und ich bin nicht sicher, ob
              ich es vorher noch machen soll :-) Aber danach werde ich
              es direkt ausprobieren! Versprochen :-)</div>
            <div><br>
            </div>
            <div>Aber noch eine vielleicht "dumme" Frage:<br>
              Wie installiere ich die neue Version? Bisher habe ich
              folgendes gemacht:</div>
            <div><br>
            </div>
            <div>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px"> - dann Backup machen mit "cp -a /var/www/<a moz-do-not-send="true" href="http://volkszaehler.org">volkszaehler.org</a>
 /var/www/volkszaehler.org.dist"
 - jetzt mit "git clone git://<a moz-do-not-send="true" href="http://github.com/volkszaehler/volkszaehler.org.git">github.com/volkszaehler/volkszaehler.org.git</a>
 /var/www/<a moz-do-not-send="true" href="http://volkszaehler.org">volkszaehler.org</a>" die aktuelle Version holen
 - und mit "chown -R www-data /var/www/<a moz-do-not-send="true" href="http://volkszaehler.org">volkszaehler.org</a>" die Rechte anpassen

</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Wie mache ich das jetzt mit dem anderen Zweig? Einfach den Teil hinter git:// anpassen?</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">
</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Und noch eine blöde Frage: Wird mit diesem Teil nicht nur die middleware auf einen neuen Stand gebracht? Wenn ja, wie bekomme ich das Update von vzlogger? Das liegt ja in einem anderen Verzeichnis?</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">
</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Ist sonst noch was bei einem Test dieser speziellen Version zu beachten?</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">Und warum hast Du das mit dem URL-Parameter gemacht und nicht diesen Parameter in die config-Datei aufgenommen?</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">
</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">VG Albert</pre>
              <pre style="font-family:courier,'courier new',monospace;font-size:14px;white-space:pre-wrap;word-wrap:break-word;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0);line-height:19.600000381469727px">

</pre>
            </div>
          </div>
          <div class="gmail_extra"><br>
            <br>
            <div class="gmail_quote">Am 11. Juli 2014 14:05 schrieb
              Andreas Goetz <span dir="ltr"><<a
                  moz-do-not-send="true" href="mailto:cpuidle@gmail.com"
                  target="_blank">cpuidle@gmail.com</a>></span>:<br>
              <blockquote class="gmail_quote" style="margin:0 0 0
                .8ex;border-left:1px #ccc solid;padding-left:1ex">
                <div dir="ltr">
                  <div>
                    <div>Hallo,<br>
                      <br>
                      jetzt wärs natürlich auch cool wenns mal jemand
                      testen würde :/<br>
                      <br>
                      <a moz-do-not-send="true"
                        href="https://github.com/andig/volkszaehler.org/tree/ignore-duplicates"
                        target="_blank">https://github.com/andig/volkszaehler.org/tree/ignore-duplicates</a><br>
                      <br>
                    </div>
                    Ich hab das Verhalten jetzt konfigurierbar gemacht-
                    einfach options=skipduplicates an die URL anhängen,
                    dann werden die ignoriert. zusätzlich wird jetzt
                    immer rows=xyz ausgegeben woran man erkennen kann
                    wieviele Datensätze tatsächlich eingefügt wurden.<br>
                  </div>
                  Prinzipiell nutzen wir jetzt immer plain SQL, es
                  sollte also auch noch schneller werden...<br>
                  <br>
                  vg<br>
                  Andreas<br>
                </div>
                <div class="gmail_extra"><br>
                  <br>
                  <div class="gmail_quote">2014-07-08 15:00 GMT+02:00
                    Andreas Goetz <span dir="ltr"><<a
                        moz-do-not-send="true"
                        href="mailto:cpuidle@gmail.com" target="_blank">cpuidle@gmail.com</a>></span>:
                    <div>
                      <div class="h5"><br>
                        <blockquote class="gmail_quote" style="margin:0
                          0 0 .8ex;border-left:1px #ccc
                          solid;padding-left:1ex">
                          <div dir="ltr">
                            <div>
                              <div>
                                <div>
                                  <div>
                                    <div>Hallo Zusammen,<br>
                                      <br>
                                    </div>
                                    ich habe hier mal einen Bastelzweig
                                    eröffnet: <a moz-do-not-send="true"
href="https://github.com/andig/volkszaehler.org/tree/master-ignore-duplicates"
                                      target="_blank">https://github.com/andig/volkszaehler.org/tree/master-ignore-duplicates</a><br>
                                    <br>
                                  </div>
                                  Darin gibts zwei wesentliche
                                  Änderungen:<br>
                                </div>
                                - statt ORM wird jetzt mittels SQL in
                                die DB geschrieben- das könnte einen
                                Performancezuwachs bringen (nicht
                                getestet)<br>
                              </div>
                              - Duplikate werden bei JSON requests wie
                              der Logger sie macht jetzt immer ignoriert
                              (nicht konfigurierbar)<br>
                              <br>
                              Viel Spass beim Testen!<br>
                              <br>
                              vg<br>
                            </div>
                            Andreas<br>
                            <br>
                          </div>
                          <div class="gmail_extra"><br>
                            <br>
                            <div class="gmail_quote">2014-07-07 12:09
                              GMT+02:00 Andreas Goetz <span dir="ltr"><<a
                                  moz-do-not-send="true"
                                  href="mailto:cpuidle@gmail.com"
                                  target="_blank">cpuidle@gmail.com</a>></span>:
                              <div>
                                <div><br>
                                  <blockquote class="gmail_quote"
                                    style="margin:0 0 0
                                    .8ex;border-left:1px #ccc
                                    solid;padding-left:1ex">
                                    <div dir="ltr">Hi Thomas,<br>
                                      <div class="gmail_extra"><br>
                                        <div class="gmail_quote">2014-07-07
                                          11:52 GMT+02:00 <span
                                            dir="ltr"><<a
                                              moz-do-not-send="true"
                                              href="mailto:thomas@gauweiler.org"
                                              target="_blank">thomas@gauweiler.org</a>></span>:
                                          <div>
                                            <br>
                                            <blockquote
                                              class="gmail_quote"
                                              style="margin:0 0 0
                                              .8ex;border-left:1px #ccc
                                              solid;padding-left:1ex">Hallo
                                              Andreas,<br>
                                              <br>
                                              na, man sollte schon beim
                                              ersten Problem anpacken.<br>
                                              z.B. sollte man den
                                              Timeout des vzloggers
                                              größer machen, als den der<br>
                                              Middleware beim Bearbeiten
                                              eines Request.<br>
                                            </blockquote>
                                            <div><br>
                                            </div>
                                          </div>
                                          <div>Klar- aber auch da muss
                                            im logger gehandelt werden.
                                            Letzlich ist das aber nur
                                            Linderung da durch
                                            Lastsituationen sowas
                                            prinzipiell immer auftreten
                                            kann, oder?<br>
                                             <br>
                                          </div>
                                          <div>
                                            <blockquote
                                              class="gmail_quote"
                                              style="margin:0 0 0
                                              .8ex;border-left:1px #ccc
                                              solid;padding-left:1ex">
                                              Dadurch sollte dieser
                                              Zustand nicht mehr
                                              auftreten, denn wenn die<br>
                                              Middleware kein Commit
                                              mehr machen kann, sind die
                                              Daten nicht drin.<br>
                                              (macht die MW eigentlich
                                              Masseninsert mit
                                              abschliessendem Commit
                                              wird<br>
                                              jeder Insert einzeln
                                              Committed?)<br>
                                            </blockquote>
                                            <div><br>
                                            </div>
                                          </div>
                                          <div>Ich vermute vzlogger
                                            übergibt die Daten per JSON
                                            statt mittels einzelner
                                            Requests? Dann gibts auch
                                            den Commit nur einmal. Wenns
                                            da Befindlichkeiten bzgl.
                                            Performance gibt müsste mir
                                            jemand mal einen SQL Trace
                                            schicken da ich keinen
                                            vzlogger habe.<br>
                                             <br>
                                          </div>
                                          <div>
                                            <blockquote
                                              class="gmail_quote"
                                              style="margin:0 0 0
                                              .8ex;border-left:1px #ccc
                                              solid;padding-left:1ex">
                                              <br>
                                              Dann hast du aber
                                              natürlich recht: nach
                                              einem timeout sollte der
                                              vzlogger<br>
                                              die alten Daten nur unter
                                              Vorbehalt noch mal
                                              schreiben.<br>
                                              Am besten wenn er das der
                                              MW im Request mitteilen
                                              kann. Dann könnte die MW<br>
                                            </blockquote>
                                            <div><br>
                                            </div>
                                          </div>
                                          <div>Das wäre auch eine
                                            Variante. Einer muss die
                                            Probleme halt aussortieren.
                                            Entweder der vzl schaut
                                            anhand der Fehlermeldung
                                            welcher Timestamp
                                            problematisch war (und muss
                                            das ggf. mehrfach machen)
                                            oder er sagt der MW "nimm
                                            halt was geht"- aber z.B.
                                            erst bei einem Retry. Die
                                            Variante gefällt mir ganz
                                            gut da sie sich auch für
                                            vzclient anbieten würde.
                                            Muss ich mal recherchieren.<br>
                                             <br>
                                          </div>
                                          <div>
                                            <blockquote
                                              class="gmail_quote"
                                              style="margin:0 0 0
                                              .8ex;border-left:1px #ccc
                                              solid;padding-left:1ex">
                                              noch bei so einer
                                              DB-Meldung prüfen, ob sie
                                              tatsächlich die gleichen
                                              Daten<br>
                                              noch mal schreiben will.
                                              Da der neue Request vom
                                              vzlogger dann alte und<br>
                                              neue Daten umfasst, muss
                                              man das auch Satzweise
                                              prüfen...<br>
                                            </blockquote>
                                            <div><br>
                                            </div>
                                          </div>
                                          <div>Ehrm. Genau- gleicher
                                            Gedanke ;) <br>
                                          </div>
                                          <div>
                                            <blockquote
                                              class="gmail_quote"
                                              style="margin:0 0 0
                                              .8ex;border-left:1px #ccc
                                              solid;padding-left:1ex">
                                              <br>
                                              Hab leider auch zu wenig
                                              Zeit um mich in den
                                              SourceCode von vzlogger
                                              und<br>
                                              MW einzuarbeiten, sonst
                                              würde ich da gerne helfen.<br>
                                              Mit welchen Tools wird da
                                              eigentlich entwickelt?
                                              Doch nicht Editor und<br>
                                              Make, oder? Kann mir
                                              jemand beschreiben, wie
                                              ich einen Debugger auf<br>
                                              vzlogger bzw. auf die MW
                                              ansetze?<br>
                                            </blockquote>
                                            <div><br>
                                            </div>
                                          </div>
                                          <div>Vmtl. Rainer?<br>
                                             <br>
                                          </div>
                                          <blockquote
                                            class="gmail_quote"
                                            style="margin:0 0 0
                                            .8ex;border-left:1px #ccc
                                            solid;padding-left:1ex">
                                            <br>
                                            LG Thomas.<br>
                                          </blockquote>
                                          <div><br>
                                          </div>
                                          <div>vg<span><font
                                                color="#888888"><br>
                                              </font></span></div>
                                          <span><font color="#888888">
                                              <div>Andreas<br>
                                                 <br>
                                              </div>
                                            </font></span>
                                          <div>
                                            <div>
                                              <blockquote
                                                class="gmail_quote"
                                                style="margin:0 0 0
                                                .8ex;border-left:1px
                                                #ccc
                                                solid;padding-left:1ex">
                                                <br>
                                                <br>
                                                On Mon, 7 Jul 2014
                                                11:27:55 +0200, Andreas
                                                Goetz <<a
                                                  moz-do-not-send="true"
href="mailto:cpuidle@gmail.com" target="_blank">cpuidle@gmail.com</a>><br>
                                                wrote:<br>
                                                <div>
                                                  <div>> Moin Thomas,<br>
                                                    ><br>
                                                    > 2014-07-07
                                                    11:19 GMT+02:00 <<a
moz-do-not-send="true" href="mailto:thomas@gauweiler.org"
                                                      target="_blank">thomas@gauweiler.org</a>>:<br>
                                                    ><br>
                                                    >> Das ist
                                                    doch "nur" das
                                                    Folgeproblem. Das
                                                    eigentliche Problem
                                                    ist ein<br>
                                                    >>
                                                    Kommunikationsproblem:<br>
                                                    >> vzlogger
                                                    bricht einen
                                                    HTTP-Request mit
                                                    timeout ab, während
                                                    die<br>
                                                    >> Middleware<br>
                                                    >> den Request
                                                    noch fertig
                                                    bearbeitet.<br>
                                                    >><br>
                                                    ><br>
                                                    > Warum auch
                                                    immer, ja.<br>
                                                    ><br>
                                                    ><br>
                                                    >> Jetzt
                                                    stehen die Daten in
                                                    der DB aber vzlogger
                                                    meint, dass sie noch<br>
                                                    nicht<br>
                                                    >> drin sind.<br>
                                                    >> Und erst
                                                    beim nächsten
                                                    Versuch des
                                                    vzloggers kommt es
                                                    dann zur<br>
                                                    >> DB-Meldung,<br>
                                                    >> dass dieser
                                                    Zeitstempel schon in
                                                    der DB steht.<br>
                                                    >><br>
                                                    ><br>
                                                    > Genau. Aber
                                                    worauf willst Du
                                                    hinaus? Letzlich
                                                    kann nur der Logger
                                                    wissen<br>
                                                    ob<br>
                                                    > oder dass es
                                                    "safe" ist die Daten
                                                    jetzt zu verwerfen.
                                                    Einem anderen<br>
                                                    Client<br>
                                                    > bzw. dem
                                                    Anwender muss die MW
                                                    solche Meldungen
                                                    sehrwohl
                                                    präsentieren.<br>
                                                    ><br>
                                                    > Grüße, Thomas<br>
                                                    >><br>
                                                    ><br>
                                                    > Oder worin
                                                    besteht Dein
                                                    Vorschlag?<br>
                                                    ><br>
                                                    > vg<br>
                                                    > Andreas<br>
                                                    ><br>
                                                    ><br>
                                                    >><br>
                                                    >> On Sun, 6
                                                    Jul 2014 22:40:50
                                                    +0200, Andreas Götz
                                                    <<a
                                                      moz-do-not-send="true"
href="mailto:cpuidle@gmail.com" target="_blank">cpuidle@gmail.com</a>><br>
                                                    >> wrote:<br>
                                                    >> > Hi,<br>
                                                    >> ><br>
                                                    >> > An der
                                                    Fehlermeldung der
                                                    MW?<br>
                                                    >> ><br>
                                                    >> > Woher
                                                    soll den umgekehrt
                                                    die MW wissen welche
                                                    App problematisch
                                                    ist<br>
                                                    so<br>
                                                    >> > dass
                                                    sie deren Daten
                                                    verwerfen soll ohne
                                                    Fehlermeldung?<br>
                                                    >> ><br>
                                                    >> > M.e.
                                                    Gehört das in den
                                                    Logger.<br>
                                                    >> ><br>
                                                    >> > Viele
                                                    Grüße,<br>
                                                    >> >
                                                    Andreas<br>
                                                    >> ><br>
                                                    >> >> Am
                                                    06.07.2014 um 22:04
                                                    schrieb Udo1 <<a
moz-do-not-send="true" href="mailto:udo1@gmx.net" target="_blank">udo1@gmx.net</a>>:<br>
                                                    >> >><br>
                                                    >> >> Am
                                                    06.07.2014 16:27,
                                                    schrieb Andreas
                                                    Götz:<br>
                                                    >>
                                                    >>> Wäre es
                                                    evtl sinnvoll
                                                    vzlogger die
                                                    Möglichkeit zu geben<br>
                                                    insbesondere<br>
                                                    >>
                                                    >>> bei DB
                                                    Integrity Constraint
                                                    Fehlern eine
                                                    bestimmte Anzahl von<br>
                                                    >>
                                                    >>>
                                                    Datensätzen zu
                                                    verwerfen?<br>
                                                    >> >>
                                                    Wie soll vzlogger
                                                    solche "DB Integrity
                                                    Constraint Fehler"
                                                    erkennen?<br>
                                                    >> >>
                                                    Das<br>
                                                    >> >>
                                                    ist doch ein
                                                    Datenbank-Problem.
                                                    Oder sehe ich das
                                                    falsch?<br>
                                                    >> >><br>
                                                    >> >>
                                                    Gruß<br>
                                                    >> >>
                                                    Udo<br>
                                                    >><br>
                                                  </div>
                                                </div>
                                              </blockquote>
                                            </div>
                                          </div>
                                        </div>
                                        <br>
                                      </div>
                                    </div>
                                  </blockquote>
                                </div>
                              </div>
                            </div>
                            <br>
                          </div>
                        </blockquote>
                      </div>
                    </div>
                  </div>
                  <br>
                </div>
              </blockquote>
            </div>
            <br>
          </div>
        </div>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>