Restauração falhou em "EXCEPTION: x de y uploads não foram migrados para S3. Falha na migração S3 para o banco de dados 'default'."

Isso ficou como um rascunho no meta.discourse.org enquanto eu trabalhava na questão no meu servidor Discourse. Consegui contornar o problema descrito abaixo, mas o fato de não ter sido possível realizar o que seria efetivamente uma recuperação de desastre (uma restauração sem a possibilidade de acessar o servidor antigo e quebrado) é preocupante. (A causa raiz foi uma falha na atualização do Postgres da versão 10 para a 12, mas consegui adiar a atualização no arquivo app.yml do Discourse o suficiente para desabilitar a configuração do site enable_s3_uploads antes de criar o backup. Agora fiz esse backup, fiz o upload para o novo servidor, restaurei e o site Discourse está funcionando novamente. Mensagem original:


Estou reconstituindo uma instalação do Discourse a partir de um backup armazenado no S3. A instalação antiga era muito antiga — foi instalada pela primeira vez em junho de 2016. Iniciei a restauração a partir de uma instalação nova devido a uma falha na atualização do Postgres da versão 10 para a 12. Em vez de corrigir isso… já que essa máquina estava executando uma versão do Ubuntu que não é mais suportada… pensei em pegar simplesmente o backup mais recente e carregá-lo no novo servidor. No entanto, a restauração falha. Nos logs, o ponto em que estou enfrentando o problema é aqui:

[2020-11-23 22:27:32] Recarregando traduções...
[2020-11-23 22:27:32] Remapeando uploads...
[2020-11-23 22:27:32] Restaurando uploads, isso pode levar algum tempo...
[2020-11-23 22:28:38] EXCEÇÃO: 465 de 751 uploads não foram migrados para o S3. A migração para o S3 falhou para o banco de dados 'default'.
[2020-11-23 22:28:38] /var/www/discourse/lib/file_store/to_s3_migration.rb:131:in `raise_or_log'
/var/www/discourse/lib/file_store/to_s3_migration.rb:78:in `migration_successful?'
/var/www/discourse/lib/file_store/to_s3_migration.rb:357:in `migrate_to_s3'
/var/www/discourse/lib/file_store/to_s3_migration.rb:65:in `migrate'
/var/www/discourse/lib/file_store/s3_store.rb:238:in `copy_from'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:48:in `restore_uploads'
/var/www/discourse/lib/backup_restore/uploads_restorer.rb:30:in `restore'
/var/www/discourse/lib/backup_restore/restorer.rb:64:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:23:in `restore'
/var/www/discourse/script/spawn_backup_restore.rb:36:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2020-11-23 22:28:38] Tentando reverter...

Isso parece semelhante a Restore process cancelled at migrating uploads to S3 step - #5 by Jim.Morrison, mas não ofereceu nenhuma orientação sobre como corrigir o problema.

A mensagem antes de postar no painel direito desta janela de composição também sugeriu Failed to restore DB, mas isso também não trouxe nada útil.

1 curtida

Estou enfrentando o mesmo problema aqui, mas ainda não consegui resolvê-lo:

Você poderia explicar com mais detalhes o que exatamente você fez aqui? Essa configuração foi desativada na página Admin → Configurações da GUI ou estava em app.yml? Então, após o backup, você conseguiu restaurá-lo e recuperar tudo? Você ativou essa configuração novamente após o backup? Obrigado

Isso foi editado no arquivo app.yml, e sim, consegui recuperar tudo. Infelizmente, não criei nenhuma anotação do meu trabalho de 2 anos atrás, e os detalhes foram perdidos com o tempo. Não reativei a opção “incluir uploads no backup”, mas acho que vou fazer isso agora — espero que qualquer problema que eu tive antes esteja corrigido.

1 curtida

Você encontrou algum link quebrado para anexos nas postagens após a restauração?

Pelo que me lembro, não. Boa sorte!