<div dir="ltr">Hallo Albert,<br><div class="gmail_extra"><br><div class="gmail_quote">2014-07-21 21:16 GMT+02:00 Albert Dahmen <span dir="ltr"><<a href="mailto:albert.dahmen@gmail.com" target="_blank">albert.dahmen@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">Nachdem ich nun aus dem Urlaub zurück bin würde ich gerne in den Test einsteigen.</div></blockquote><div>
<br></div><div>Die Lösung ist fertig und wurde von Thomas schon erfolgreich getestet.<br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>
Da ich mich aber leider mit GIT absolut nicht auskenne brauche ich ein wenig Hilfe :-)</div><div><br></div><div>Was genau muss ich machen?</div></div></blockquote><div><br></div><div>Eigentlich nichts. Was wir wirklich brauchen ist jemanden der den vzlogger so anpasst dass das neue Feature auch verwendet werden kann. Leider gabs von den Entwicklern kein Feedback- insofern ruht das Thema bis sich jemand findet.<br>
<br></div><div>Ich kanns leider nicht lösen.<br><br></div><div>vg<br>Andreas<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">
<div><br></div><div>VG Albert</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Am 11. Juli 2014 17:50 schrieb Andreas Götz <span dir="ltr"><<a 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="auto"><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 href="mailto:albert.dahmen@gmail.com" target="_blank">albert.dahmen@gmail.com</a>>:<br>

<br></div><div><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 href="http://volkszaehler.org" target="_blank">volkszaehler.org</a>
 /var/www/volkszaehler.org.dist"
 - jetzt mit "git clone git://<a href="http://github.com/volkszaehler/volkszaehler.org.git" target="_blank">github.com/volkszaehler/volkszaehler.org.git</a>
 /var/www/<a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a>" die aktuelle Version holen
 - und mit "chown -R www-data /var/www/<a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a>" die Rechte anpassen
<br></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"><br></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">
<br></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"><br></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"><br>


</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 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 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 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"><div><div><div><div><div>Hallo Zusammen,<br><br></div>ich habe hier mal einen Bastelzweig eröffnet: <a 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 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 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 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 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 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 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></div></div></div></blockquote></div></div></div><br></div>
</blockquote></div><br></div></div>