Closed NilsVollmer closed 7 years ago
Update: ich habe die arabische Übersetzung wieder zum Bearbeiten freigegeben, also wird das updated_at dort sehr wahrscheinlich bald überschrieben. Da die polnische Übersetzung ebenfalls betroffen ist und die keiner bearbeitet, können wir den Bug genauso gut damit verfolgen.
Da ich die Zuweisungen eigentlich erst nach mindestens einer weiteren Schleife mit Julian auf die Übersetzerinnen loslassen will wäre es super, wenn dieser Bug bis dahin behoben ist.
Update: es scheint ein größeres Problem zu sein. Ich habe mir gerade mal alle Orgas gezogen, bei denen die [tr, pl, fr]-Translations keinen eindeutigen updated_at-Tag (.to_date cast) haben und es sind ganze 79, also fas 10% der Orgas. Meist werden einzelne Übersetzungen nicht aktualisiert, ich habe gerade auch eine englische gefunden, die durch den Bug tatsächlich noch alt (und nicht possibly_outdated) ist.
Und die 10% decken jetzt ja nur die drei Sprachen ab, wo ich mir sicher bin, dass die eigentlich alle am gleichen Tag aktualisiert werden müssten. Der Bug tritt bestimmt auch bei anderen Sprachen auf aber da kann ich nicht mit dem updated_at arbeiten, weil die Übersetzungen ja händisch angepasst werden. Aber wie gesagt: nach meinem aktuellen Stand könnten auch da Übersetzungen nicht aktualisiert worden sein.
Der aktuelleste Problemfall stammt vom 5.12.2016 - möglicherweise wurde es durch die vielen Änderungen bei den Zuweisungen gefixed aber ich bin nicht sicher..
Hier mal ein paar Ausgaben der letzten (zuletzt aktualisiert) Orgas bzw. deren Translations:
en=>2016-02-17 11:44:46 +0100 || 2016-10-02 14:17:08 +0200 source:GoogleTranslate possibly_outdated:false
ar=>2016-04-07 16:02:38 +0200 || 2016-10-02 14:17:08 +0200 source:GoogleTranslate possibly_outdated:false
tr=>2016-04-07 16:02:38 +0200 || 2016-10-02 14:17:09 +0200 source:GoogleTranslate possibly_outdated:false
de=>2016-02-17 11:44:46 +0100 || 2016-11-23 21:18:12 +0100 source:researcher possibly_outdated:false
fa=>2016-11-23 21:18:12 +0100 || 2016-11-23 21:18:12 +0100 source:GoogleTranslate possibly_outdated:false
ru=>2016-04-01 14:54:20 +0200 || 2016-11-23 21:18:12 +0100 source:GoogleTranslate possibly_outdated:false
pl=>2016-04-01 14:54:20 +0200 || 2016-11-23 21:18:13 +0100 source:GoogleTranslate possibly_outdated:false
fr=>2016-04-07 16:02:38 +0200 || 2016-11-23 21:18:13 +0100 source:GoogleTranslate possibly_outdated:false
-------------------------------
en=>2016-10-24 11:40:27 +0200 || 2016-10-24 11:40:27 +0200 source:GoogleTranslate possibly_outdated:false
ar=>2016-10-24 11:40:27 +0200 || 2016-10-24 11:40:27 +0200 source:GoogleTranslate possibly_outdated:false
fa=>2016-10-24 11:40:27 +0200 || 2016-10-24 11:40:27 +0200 source:GoogleTranslate possibly_outdated:false
pl=>2016-10-24 11:40:27 +0200 || 2016-10-24 11:40:27 +0200 source:GoogleTranslate possibly_outdated:false
de=>2016-10-21 17:54:42 +0200 || 2016-12-13 11:14:30 +0100 source:researcher possibly_outdated:false
tr=>2016-10-24 11:40:27 +0200 || 2016-12-13 11:14:31 +0100 source:GoogleTranslate possibly_outdated:false
fr=>2016-10-24 11:40:27 +0200 || 2016-12-13 11:14:31 +0100 source:GoogleTranslate possibly_outdated:false
ru=>2016-10-24 11:40:27 +0200 || 2016-12-13 11:14:31 +0100 source:GoogleTranslate possibly_outdated:false
-------------------------------
en=>2016-02-17 11:45:02 +0100 || 2016-02-17 11:45:02 +0100 source:GoogleTranslate possibly_outdated:false
ar=>2016-04-07 16:03:29 +0200 || 2016-04-07 16:03:29 +0200 source:GoogleTranslate possibly_outdated:false
tr=>2016-04-07 16:03:29 +0200 || 2016-04-07 16:03:29 +0200 source:GoogleTranslate possibly_outdated:false
fa=>2016-10-04 10:46:42 +0200 || 2016-10-04 10:46:42 +0200 source:GoogleTranslate possibly_outdated:false
de=>2016-02-17 11:44:57 +0100 || 2016-12-29 15:17:27 +0100 source:researcher possibly_outdated:false
pl=>2016-04-01 14:54:52 +0200 || 2016-12-29 15:17:27 +0100 source:GoogleTranslate possibly_outdated:false
ru=>2016-04-01 14:54:52 +0200 || 2016-12-29 15:17:27 +0100 source:GoogleTranslate possibly_outdated:false
fr=>2016-04-07 16:03:29 +0200 || 2016-12-29 15:17:27 +0100 source:GoogleTranslate possibly_outdated:false
-------------------------------
de=>2016-02-17 11:44:56 +0100 || 2016-02-17 11:44:56 +0100 source:researcher possibly_outdated:false
en=>2016-02-17 11:45:01 +0100 || 2016-02-17 11:45:01 +0100 source:GoogleTranslate possibly_outdated:false
pl=>2016-04-01 14:54:51 +0200 || 2016-04-01 14:54:51 +0200 source:GoogleTranslate possibly_outdated:false
ru=>2016-04-01 14:54:51 +0200 || 2016-04-01 14:54:51 +0200 source:GoogleTranslate possibly_outdated:false
ar=>2016-04-07 16:03:28 +0200 || 2016-04-07 16:03:28 +0200 source:GoogleTranslate possibly_outdated:false
fr=>2016-04-07 16:03:28 +0200 || 2016-04-07 16:03:28 +0200 source:GoogleTranslate possibly_outdated:false
tr=>2016-04-07 16:03:28 +0200 || 2016-04-07 16:03:28 +0200 source:GoogleTranslate possibly_outdated:false
fa=>2016-10-04 10:46:42 +0200 || 2016-10-04 10:46:42 +0200 source:GoogleTranslate possibly_outdated:false
-------------------------------
tr=>2016-06-28 14:58:14 +0200 || 2016-09-06 17:11:32 +0200 source:GoogleTranslate possibly_outdated:false
de=>2016-06-28 14:47:07 +0200 || 2016-12-05 12:38:08 +0100 source:researcher possibly_outdated:false
en=>2016-06-28 14:58:14 +0200 || 2016-12-05 12:38:08 +0100 source:GoogleTranslate possibly_outdated:false
fa=>2016-12-05 12:38:08 +0100 || 2016-12-05 12:38:08 +0100 source:GoogleTranslate possibly_outdated:false
ar=>2016-06-28 14:58:14 +0200 || 2016-12-05 12:38:08 +0100 source:GoogleTranslate possibly_outdated:false
pl=>2016-06-28 14:58:14 +0200 || 2016-12-05 12:38:08 +0100 source:GoogleTranslate possibly_outdated:false
fr=>2016-06-28 14:58:14 +0200 || 2016-12-05 12:38:08 +0100 source:GoogleTranslate possibly_outdated:false
ru=>2016-06-28 14:58:14 +0200 || 2016-12-05 12:38:08 +0100 source:GoogleTranslate possibly_outdated:false
Update: durch intensives Logging haben wir den Fehler gefunden! Es liegt daran, dass wir die neuen translations after_update des Models (Offer/Orga) durchführen und dann direkt Sidekiq worker starten.
After_update passiert in der Pipeline aber noch vor dem commit und die Worker sind manchmal so schnell, dass sie auf die DB zugreifen, bevor die neuen Änderungen dort gespeichert wurden. Deshalb werden dann einige Übersetzungen mit den alten Texten gestartet und erzeugen keine Änderungen. Einige Worker brauchen 1-2 Sekunden länger und bei denen hat es dann funktioniert.
Ich arbeite gerade an einem Hotfix, in dem die neuen Übersetzungen erst after_commit getriggert werden.
Update: Fix is aufgespielt und der Bug damit (hoffentlich) behoben.
Jetzt werde ich noch die veralteten/fehlenden Übersetzungen manuell neu triggern.
Update: für die letzten veralteten Übersetzungen habe ich gerade die worker angeworfen und die sollten dann (nach ein paar retries) in ein paar Stunden alle durchgelaufen sein.
Wenn von Sprache keine Beschwerden mehr kommen, kann das Ticket wohl geschlossen werden.
Berichtet von Nahlaa für arabisch: OrganizationTranslation 4617 wurde als abweichend zu der deutschen Quelle gemeldet. Die zugehörige Orga hat die ID 823.
Erste Nachforschungen per Konsole haben ergeben:
Alle Übersetzungen wurden korrekt zur einer sehr ähnlichen Zeit kurz nach der deutschen erstellt. Das macht Sinn, weil sie eigentlich direkt erstellt werden, aber nicht im initialized state. Vermutlich wurde das Angebot um 15:29 auf completed gesetzt und erst dann wurden die Übersetzungen generiert. Farsi kam dann logischerweise später nach.
Aber dann geht es merkwürdig weiter:
Die englische Übersetzung wurde offensichtlich von Jacinta händisch angepasst => korrekt. Da könnte man sich höchstens über die Geschwindigkeit (4 minuten später) wundern aber wenn die Researcher direkt mit den Übersetzern kommunizieren, kann das ja so schnell gehen. Die deutsche wurde um 14:18:55 geändert und genau zeitgleich (weil nicht mehr im state initialized) kamen die Übersetzungen für ru, tr, fr.
Problem: fa, pl & ar wurden nicht aktualisiert und sind aber auch nicht als possibly_outdated markiert.. sollten sie auch nicht sein, weil source 'GoogleTranslate' ist. Außerdem ist bei den beiden created_at == updated_at, sie wurden also wirklich nur generiert und danach nicht mehr aktualisiert.
@Twiek bitte in Bezug auf die Zuweisungen priorisieren