Grande ripristino che fallisce a metà strada

Ciao di nuovo! Ho messo da parte la scorsa migrazione di cui ho parlato, ma l’ho ripresa. È diventata un po’ più urgente con alcuni problemi sull’host (obsoleto) su cui risiedeva l’installazione originale.

Contesto: Durante la migrazione a una nuova istanza ho deciso di procedere anche alla migrazione a un’istanza PG ed Redis esterna. L’impostazione della nuova installazione è andata bene e ho intenzione di eseguire un backup + ripristino dalla riga di comando per la migrazione stessa. Attualmente sto cercando di testare il flusso di lavoro e assicurarmi che l’istanza appena ripristinata funzioni come previsto prima di impostare l’istanza originale in sola lettura e procedere, soprattutto perché si tratta di un’istanza abbastanza vecchia/grande che sto migrando.

Vecchia istanza: configurazione self-hosting semplice, un’istanza con PG, Postgres, Redis standard co-locati.
Nuova istanza: Stesso app.yml, ma con PG + Redis esterni e gestiti (DigitalOcean)

Il comando di ripristino sembra andare bene per un bel po’. Poi, dopo un tempo considerevole, ricevo costantemente un errore che appare così (inclusi alcuni log di successo per contesto):

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'

È successo in diversi punti di copia specifici tra le esecuzioni, quindi per quanto ne so non è nulla di specifico della migrazione stessa. Dato che chiaramente le connessioni al DB funzionano tutte, penso sia sicuro presumere che si tratti di qualcosa legato al comportamento di DigitalOcean, ma spero che qualcun altro qui abbia già visto qualcosa di simile e possa indicarmi la giusta direzione.

Poiché si tratta di un’istanza PG gestita, dovrai controllare i log per quel servizio.

(guarda sempre i log!)

Potresti scoprire il motivo per cui è successo, ad esempio potrebbe avere una durata massima della connessione configurata e il ripristino richiede più tempo per essere completato.

2 Mi Piace

Beh… uh… ho controllato i log e c’erano per lo più le stesse informazioni che vedevo nei log di Discourse, ma scavando più a fondo ho finito per controllare i grafici storici di quel periodo… avevo sottodimensionato il DB di test :facepalm: così si è riempito e DO ha semplicemente interrotto la connessione. Doh.

Abbiamo ridimensionato tutto e ci sentiamo stupidi ma siamo di nuovo in pista.

2 Mi Piace

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