Restauração a partir de backup falha devido à migração do S3

Tentei migrar minha instância do Discourse para um novo servidor, mas a restauração via UI e CLI falhou durante a operação de restauração. O problema está relacionado à migração para o S3.

Também tinha as seguintes configurações habilitadas no console do Rails:

SiteSetting.migrate_to_new_scheme = true
Jobs::MigrateUploadScheme.new.execute(nil)

O log relevante do erro foi:

Remapeando '//thinnal.s3.dualstack.us-east-1.amazonaws.com/' para '/uploads/default/'
incoming_emails=2
optimized_images=3851
post_revisions=86
posts=618
stylesheet_cache=10
topic_links=107
topics=150
uploads=419
user_histories=20
Migrando uploads para o S3...
Verificando se o padrão já foi migrado...
1971 de 1977 uploads não foram migrados para o S3. A migração para o S3 falhou para o banco de dados 'default'.
266 posts não foram remapeados para a nova URL de upload do S3. A migração para o S3 falhou para o banco de dados 'default'.
Procurando uploads ausentes em: default

0 uploads de post estão ausentes.

Nenhum post requer rebaking
Migrando uploads para o S3 para 'default'...
Alguns uploads não foram migrados para o novo esquema. Por favor, execute estes comandos no console do Rails

SiteSetting.migrate_to_new_scheme = true
Jobs::MigrateUploadScheme.new.execute(nil)
O processo de restauração foi cancelado!
Tentando reverter...
Revertendo...
Limpando arquivos...
Removendo função do esquema discourse_functions
Removendo diretório tmp '/var/www/discourse/tmp/restores/default/2019-09-02-140750'...
Retomando o sidekiq...
Marcando a restauração como concluída...
Notificando 'system' sobre o fim da restauração...
Concluído!
[FALHA]
Restauração concluída.

Há um relatório semelhante da sua pesquisa. Acredito que a solução foi desativar os uploads do S3 ao restaurar?

Obrigado, @pfaffman. Vou tentar isso.

Você sabe de algum modo via linha de comando (rails console) para desativar o upload para o S3?

As uploads para o S3 foram desabilitadas durante a restauração. Ainda assim, falhou.

Esse é um problema conhecido. Como solução alternativa, você pode desativar temporariamente a configuração do site enable_s3_uploads antes de criar o backup. Você pode reativá-la no novo servidor após a restauração.

Obrigado!. Sim, desativei o upload para o S3 antes de fazer o backup, e a restauração foi bem-sucedida.

Olá,

O que fazer se um backup foi feito enquanto estava ativado :slight_smile:

Resolvi;

Abri o dump.sql no programa EmEditor e procurei por enable_s3_uploads, S3 e troquei todos os “t” por “f” e todos os “true” por “false”.

Restauração bem-sucedida :slight_smile:

Bom, então você vai ter que se sujar as mãos. Desculpe por isso. Estou planejando começar a refatorar e melhorar os backups e restaurações na próxima semana, mas pode demorar um pouco até que tudo esteja perfeito novamente.

Isso é ótimo! Eu ia sugerir exatamente esses passos. :wink:

Para quem estiver lendo isso no futuro: Se precisar editar o dump.sql (que pode ser bem grande), sugiro usar o Scintilla and SciTE como editor. Ele lida com esses arquivos grandes sem problemas.