Échec du téléchargement de sauvegarde vers S3 sur scaleway (téléchargement en plusieurs parties)

Exécuté sur la version 2.6.1 stable avec un clone S3 (Scaleway). Voici le journal :

[2021-01-30 09:52:59] Téléchargement de l'archive...
[2021-01-30 09:55:36] EXCEPTION : échec de l'annulation du téléchargement multipart : Le téléchargement multipart spécifié n'existe pas. L'ID de téléchargement peut être invalide, ou le téléchargement multipart peut avoir été annulé ou terminé.
[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] Suppression des anciennes sauvegardes...
[2021-01-30 09:55:36] Nettoyage des fichiers...
[2021-01-30 09:55:36] Suppression de l'archive du stockage local...
[2021-01-30 09:55:36] Suppression des restes '.tar'...
[2021-01-30 09:55:36] Marquage de la sauvegarde comme terminée...
[2021-01-30 09:55:36] Actualisation des statistiques du disque...

J’ai la même configuration sur plusieurs autres serveurs et les sauvegardes fonctionnent correctement (bien que les tailles de sauvegarde soient nettement plus petites, le téléchargement multipart n’est probablement pas un facteur). Il semble qu’ils prennent également en charge les téléchargements multipart : Managing multipart uploads | Scaleway Documentation — donc je ne sais pas quel est le problème.

Même chose pour moi avec Scaleway S3 :frowning:

Ma première sauvegarde a échoué il y a 9 jours :

EXCEPTION: échec du téléchargement multipart :
Votre requête n'a pas été correctement formée ;
Votre requête n'a pas été correctement formée

Puis, tous les un ou deux jours :

EXCEPTION: échec de l'annulation du téléchargement multipart :
Le téléchargement multipart spécifié n'existe pas.
L'ID de téléchargement pourrait être invalide, ou
le téléchargement multipart pourrait avoir été annulé ou terminé.

@Falco, que pouvons-nous faire pour comprendre ce qui se passe ?
Merci

J’ai répondu à cela hier. Contactez Scaleway.

Fait
Mais leur support a besoin de plus d’informations :slight_smile:
Ils ont besoin d’une liste des composants, pour voir si nous recevons une réponse ou un message d’erreur pour chaque composant.

Y a-t-il un moyen d’activer la journalisation (requêtes HTTP ?) dans les gems AWS ?

Merci

C’est leur jour de chance : Discourse étant open source, ils peuvent voir exactement ce qui se passe !

La trace d’exécution indique que l’erreur provient de

qui correspond à

Il s’agit d’un appel à cette méthode dans le SDK :

Selon la documentation, l’upload multipart est utilisé par défaut lorsque le fichier dépasse 15 Mo.

En examinant le code source, il semble que cette méthode soit utilisée :

Et c’est à la ligne 74 qu’une erreur se produit.

Ça fonctionne à nouveau, sans aucune modification :grimace:
7 sur 10 réussissent maintenant

Excellente nouvelle. Le bon point de s’aligner sur la spécification de facto S3, c’est qu’ils corrigent le problème de leur côté et nous n’avons besoin d’aucune modification.

Malheureusement, j’obtiens toujours la même erreur :confus:
J’espère qu’ils n’ont tout simplement pas encore entièrement déployé les correctifs.

Le processus de sauvegarde est maintenant 100 % réussi !
Le problème est « clos » pour moi.