Restauração extensa falhando no meio do caminho

Olá novamente! Deixei de lado a última migração sobre a qual postei, mas voltei a ela. Tornou-se um pouco mais urgente com alguns problemas no host (desatualizado) onde a instalação original residia.

Contexto: Durante a migração para uma nova instância, decidi migrar para uma instância externa de PG e Redis. A configuração da nova instalação correu bem, e estou planejando fazer um backup + restauração a partir da linha de comando para a própria migração. Atualmente, estou tentando apenas testar o fluxo de trabalho e garantir que a instância recém-restaurada funcione como esperado antes de definir a instância original como somente leitura e prosseguir, especialmente porque esta é uma instância bastante antiga/grande que estou migrando.

Instância antiga: configuração simples de auto-hospedagem, uma instância com o PG, Postgres e Redis padrão colocalizados.
Nova instância: Mesmo app.yml, mas com PG + Redis externos e gerenciados (DigitalOcean).

O comando de restauração parece funcionar bem por um bom tempo. Então, após um tempo considerável, recebo consistentemente um erro que se parece com isto (incluindo alguns logs de sucesso como contexto):

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'

Isso aconteceu em pontos de cópia específicos diferentes em execuções distintas, então, até onde posso dizer, isso não é nada específico da migração em si. Dado que claramente todas as conexões de banco de dados funcionam, acho seguro assumir que isso está relacionado ao comportamento do DigitalOcean, mas espero que alguém aqui já tenha visto algo assim antes e possa me apontar na direção certa.

Como é uma instância PG gerenciada, você vai querer verificar os logs desse serviço.

(sempre olhe os logs!)

Você pode descobrir o motivo pelo qual isso aconteceu, por exemplo, talvez ele tenha um tempo de vida máximo de conexão configurado e a restauração esteja demorando mais para ser concluída.

2 curtidas

Bem… eu… verifiquei os logs e era basicamente a mesma informação que eu estava vendo nos logs do Discourse, mas vasculhando mais fundo neles me fez verificar os gráficos históricos daquela época… eu subestimei o tamanho do DB de teste :facepalm: então ele encheu e o DO simplesmente mata a conexão. Doh.

Redimensionei tudo e estamos nos sentindo burros, mas de volta à ativa.

2 curtidas

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