Falha no upload de backup para S3 na Scaleway (upload multipart)

Executando na versão 2.6.1 estável com um clone S3 (Scaleway). Aqui está o log:

[2021-01-30 09:52:59] Fazendo upload do arquivo...
[2021-01-30 09:55:36] EXCEÇÃO: falha ao abortar upload multipart: O upload multipart especificado não existe. O ID de upload pode estar inválido, ou o upload multipart pode ter sido abortado ou concluído.
[2021-01-30 09:55:36] /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.83.2/lib/aws-sdk-s3/multipart_file_uploader.rb:94:in `rescue in abort_upload'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.83.2/lib/aws-sdk-s3/multipart_file_uploader.rb:82:in `abort_upload'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.83.2/lib/aws-sdk-s3/multipart_file_uploader.rb:78:in `upload_parts'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.83.2/lib/aws-sdk-s3/multipart_file_uploader.rb:51:in `upload'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.83.2/lib/aws-sdk-s3/file_uploader.rb:38:in `upload'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.83.2/lib/aws-sdk-s3/customizations/object.rb:342:in `upload_file'
/var/www/discourse/lib/backup_restore/s3_backup_store.rb:39:in `upload_file'
/var/www/discourse/lib/backup_restore/backuper.rb:301:in `upload_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:41:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup'
/var/www/discourse/script/spawn_backup_restore.rb:34: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>'
[2021-01-30 09:55:36] Excluindo backups antigos...
[2021-01-30 09:55:36] Limpando arquivos...
[2021-01-30 09:55:36] Removendo arquivo do armazenamento local...
[2021-01-30 09:55:36] Removendo resíduos '.tar'...
[2021-01-30 09:55:36] Marcando backup como concluído...
[2021-01-30 09:55:36] Atualizando estatísticas de disco...

Tenho a mesma configuração em alguns outros servidores e os backups estão funcionando corretamente (embora os tamanhos dos backups sejam significativamente menores, então o upload multipart provavelmente não seja o fator). Parece que eles também suportam uploads multipart: Managing multipart uploads | Scaleway Documentation - então não sei qual é o problema.

1 curtida

O mesmo para mim, com o Scaleway S3 :frowning:

Meu primeiro backup falhou há 9 dias:

EXCEPTION: multipart upload failed:
Your request was not formed properly;
Your request was not formed properly

Depois, a cada um ou dois dias:

EXCEPTION: failed to abort multipart upload:
The specified multipart upload does not exist.
The upload ID might be invalid, or
the multipart upload might have been aborted or completed.

@Falco, o que podemos fazer para entender o que está acontecendo?
Obrigado

1 curtida

Respondi a isso ontem. Entre em contato com a Scaleway.

2 curtidas

Feito
Mas o suporte deles precisa de mais informações :slight_smile:
Eles precisam de uma lista das partes, para ver se recebemos uma resposta ou uma mensagem de erro para cada parte.

Existe alguma maneira de habilitar o registro de logs (requisições HTTP?) nos gems do AWS?

Obrigado

1 curtida

É o dia de sorte deles, já que o Discourse é de código aberto, então podem ver exatamente o que está acontecendo!

O rastreamento de chamada (backtrace) mostra que o erro vem de

que é

Trata-se de uma chamada para este método no SDK:

De acordo com a documentação, ele usará por padrão um upload multipart quando o arquivo for maior que 15 MB.

Analisando o código-fonte, parece que este método está sendo utilizado:

E a linha 74 está gerando um erro.

6 curtidas

Está funcionando novamente, sem nenhuma modificação :grimacing:
7 de 10 estão com sucesso agora

3 curtidas

Ótimas notícias. A vantagem de implementar em conformidade com a especificação de facto do S3 é que eles corrigem do lado deles e não precisamos de nenhuma alteração.

3 curtidas

Infelizmente, ainda está me dando o mesmo erro :confused:
Espero que eles simplesmente ainda não tenham implementado totalmente as correções.

Processo de backup 100% bem-sucedido agora!
Problema “fechado” para mim.