Upgrade schlägt fehl bei dupliziertem Schlüssel-Fehler ("Index, um hotlinked Media auf post id und url md5 zu indexieren")

Ein automatischer Wiederaufbau ist fehlgeschlagen, es scheint Variationen dieses Problems zu geben:

2022-05-03 15:30:54.370 UTC [1262] discourse@discourse LOG:  duration: 1707.909 ms  statement: INSERT INTO post_hotlinked_media (post_id, url, status, upload_id, created_at, updated_at)
        SELECT
          post_id,
          obj.key AS url,
          'downloaded',
          obj.value::bigint AS upload_id,
          pcf.created_at,
          pcf.updated_at
        FROM post_custom_fields pcf
        JOIN json_each_text(pcf.value::json) obj ON true
        JOIN uploads ON obj.value::bigint = uploads.id
        WHERE name='downloaded_images'

ERROR: duplicate key value violates unique constraint "index_post_hotlinked_media_on_post_id_and_url_md5"

Ich habe vor weniger als einem Monat ohne Fehler wiederaufgebaut, daher scheint das, was dies eingeführt hat, neu zu sein.

4 „Gefällt mir“

scheint etwas mit diesem letzten Commit zu tun zu haben?

@david

2 „Gefällt mir“

Ja, das ist es. Ich habe eine Korrektur in der Pipeline, sie sollte in den nächsten Minuten zusammengeführt werden. Danke für die Meldung @axfelix

9 „Gefällt mir“

Danke, das ging schnell!

Muss ich etwas Besonderes tun, um das herunterzuladen? Ich bekomme immer noch Caused by:\nActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR: duplicate key value violates unique constraint \"index_post_hotlinked_media_on_post_id_and_url_md5\" beim Ausführen eines Launcher-Rebuilds, selbst nach einem Docker-Prune.

Die Korrektur wurde vor wenigen Sekunden in Tests-Bestanden übernommen. Wenn Sie jetzt neu kompilieren, sollte es viel besser funktionieren. Lassen Sie uns wissen, wie es läuft.

5 „Gefällt mir“

Wir haben noch eine Stelle gefunden, die diesen Fehler verursachen kann. Wenn die erste Korrektur also nicht geholfen hat, sollte diese hier helfen :crossed_fingers:

(jetzt live in tests-passed)

4 „Gefällt mir“

Auf meiner Entwicklungsinstanz wird die Datenbank erfolgreich migriert, aber wenn ich ein Backup von 2022-04-27-153103-v20220407195246.tar.gz wiederherstelle, schlägt es fehl:

                                                                                [361/9020]
Datenbank wird migriert...                                                                               EXCEPTION: /home/pfaffman/src/discourse-repos/discourse/lib/discourse.rb:126:in `exec': Datenbankmigration fehlgeschlagen.
Ignoriere /home/pfaffman/src/discourse-repos/discourse/db/schema_cache.yml, da es abgelaufen ist. Die aktuelle Schemenversion ist 20220407195246, aber die in der Schema-Cache-Datei ist 20220428094027.
rake abgebrochen!
StandardError: Ein Fehler ist aufgetreten, diese und alle späteren Migrationen wurden abgebrochen:

gefolgt von mehr davon mit einigen dieser:

ActiveRecord::StatementInvalid: PG::DuplicateObject: ERROR:  type \"hotlinked_media_status\" existiert bereits
1 „Gefällt mir“

Nur um kurz zu sagen, dass der erste Fix für uns funktioniert hat, nachdem er die Tests bestanden hat!

2 „Gefällt mir“

Großartig, danke für die Bestätigung!

Ich habe einen PR mit einer Korrektur dafür geöffnet:

4 „Gefällt mir“
Fertig!
[ERFOLG]
Wiederherstellung abgeschlossen.

Danke!

2 „Gefällt mir“