Große Wiederherstellung schlägt mitten im Vorgang fehl

Hallo nochmal! Ich habe die letzte Migration, über die ich gepostet habe, zurückgestellt, aber wieder aufgenommen. Sie wurde mit einigen Problemen auf dem (veralteten) Host, auf dem die ursprüngliche Installation lief, etwas dringlicher.

Kontext: Während der Migration zu einer neuen Instanz habe ich beschlossen, zu einer externen PG- und Redis-Instanz zu migrieren. Die Einrichtung der frischen Installation verlief reibungslos, und ich plane, für die Migration selbst ein Backup + Wiederherstellung über die Befehlszeile durchzuführen. Derzeit versuche ich, den Workflow zu testen und sicherzustellen, dass die neu wiederhergestellte Instanz wie erwartet funktioniert, bevor ich die ursprüngliche Instanz auf schreibgeschützt setze und fortfahre, insbesondere da es sich um eine ziemlich alte/große Instanz handelt, die ich migriere.

Alte Instanz: Einfache Self-Hosting-Einrichtung, eine Instanz mit der Standard-Kollokation von PG, Postgres, Redis.
Neue Instanz: Gleiche app.yml, aber mit externem, verwaltetem PG + Redis (DigitalOcean).

Der Wiederherstellungsbefehl scheint eine ganze Weile gut zu funktionieren. Dann, nach beträchtlicher Zeit, erhalte ich durchweg eine Fehlermeldung, die (einschließlich einiger Erfolgsprotokolle als Kontext) wie folgt aussieht:

COPY 99820
COPY 3216770
COPY 3251307
SSL connection has been closed unexpectedly
FATAL:  terminating connection due to administrator command
CONTEXT:  COPY post_timings, line 63404000: "8311	4897	1816	6999"
SSL connection has been closed unexpectedly
FATAL:  terminating connection due to administrator command
CONTEXT:  COPY post_timings, line 63404000: "8311	4897	1816	6999"
invalid socket
connection to server was lost
EXCEPTION: psql failed: connection to server was lost
/var/www/discourse/lib/backup_restore/database_restorer.rb:95:in `restore_dump'

Es ist bei verschiedenen spezifischen Kopierpunkten bei verschiedenen Durchläufen passiert, daher ist dies nach meinem Dafürhalten nichts Spezifisches für die Migration selbst. Da die DB-Verbindungen eindeutig funktionieren, gehe ich davon aus, dass dies etwas mit dem Verhalten von DigitalOcean zu tun hat, aber ich hoffe, dass jemand anderes hier etwas Ähnliches gesehen hat und mich in die richtige Richtung weisen kann.

Da es sich um eine verwaltete PG-Instanz handelt, sollten Sie die Protokolle für diesen Dienst überprüfen.

(Schauen Sie sich immer die Protokolle an!)

Dort finden Sie möglicherweise den Grund dafür, z. B. eine konfigurierte maximale Verbindungslebensdauer, und die Wiederherstellung dauert länger.

2 „Gefällt mir“

Nun… äh… ich habe die Protokolle überprüft und es waren größtenteils dieselben Informationen, die ich in den Discourse-Protokollen gesehen habe, aber als ich tiefer in sie eintauchte, habe ich tatsächlich die historischen Graphen aus dieser Zeit überprüft… Ich hatte die Test-DB zu klein dimensioniert :facepalm:, sodass sie sich füllte und DO einfach die Verbindung killte. Doh.

Alles vergrößert und wir fühlen uns dumm, aber wieder auf der Rennstrecke.

2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.