Сбой загрузки резервной копии в S3 на Scaleway (многопоточная загрузка)

Запущено на версии 2.6.1 stable с клоном S3 (Scaleway). Вот лог:

[2021-01-30 09:52:59] Загрузка архива...
[2021-01-30 09:55:36] ИСКЛЮЧЕНИЕ: не удалось прервать многокомпонентную загрузку: указанный многокомпонентный процесс загрузки не существует. ID загрузки может быть некорректным, либо многокомпонентная загрузка уже была прервана или завершена.
[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] Удаление старых резервных копий...
[2021-01-30 09:55:36] Очистка временных файлов...
[2021-01-30 09:55:36] Удаление архива из локального хранилища...
[2021-01-30 09:55:36] Удаление остатков '.tar'...
[2021-01-30 09:55:36] Пометка резервной копии как завершенной...
[2021-01-30 09:55:36] Обновление статистики диска...

У меня такая же конфигурация на нескольких других серверах, и резервное копирование работает корректно (хотя размеры резервных копий значительно меньше, поэтому многокомпонентная загрузка, скорее всего, не является причиной). Похоже, что они также поддерживают многокомпонентную загрузку: Managing multipart uploads | Scaleway Documentation, поэтому неясно, в чём проблема.

У меня та же проблема с Scaleway S3 :frowning:

Мое первое резервное копирование не удалось 9 дней назад:

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

Затем каждые один-два дня:

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, что мы можем сделать, чтобы понять, что происходит?
Спасибо

Отвечал на это вчера. Свяжитесь с Scaleway.

Готово.
Но их поддержка требует больше информации :slight_smile:
Им нужен список частей, чтобы проверить, получаем ли мы ответ или сообщение об ошибке для каждой части.

Есть ли способ включить логирование (HTTP-запросы?) в aws gems?

Спасибо.

Им повезло: так как Discourse с открытым исходным кодом, они могут точно увидеть, что происходит!

Стек вызовов указывает на ошибку в:

что соответствует ссылке:

Это вызов метода в SDK:

Согласно документации, по умолчанию для файлов размером более 15 МБ используется многокомпонентная загрузка (MultiPart upload).

При просмотре исходного кода видно, что используется этот метод:

И ошибка возникает на строке 74.

Снова работает, без каких-либо изменений :grimacing:
Теперь 7 из 10 успешны

Отличные новости. Преимущество реализации в соответствии с де-факто спецификацией S3 заключается в том, что они исправляют это на своей стороне, и нам не нужно вносить никаких изменений.

К сожалению, у меня по-прежнему та же ошибка :confused:
Надеюсь, они просто еще не полностью развернули исправления.

Процесс резервного копирования на 100% успешен!
Проблема «закрыта» для меня.