Erreur S3 lors de la mise à jour vers 2.9.0.beta1

Bonjour à tous,

J’ai essayé la recherche et je n’ai rien trouvé.

Nous exécutons Discourse 2.8.0beta11 sans problème sur nos systèmes de développement et de production sur site. Jusqu’ici tout va bien.

Maintenant, j’ai essayé de mettre à jour notre instance de développement vers la 2.9.0beta1 et j’obtiens l’erreur suivante pendant le processus de construction du conteneur :

...
I, [2022-02-15T09:19:20.137108 #1] INFO -- : cd /var/www/discourse & sudo -E -u discourse bundle exec rake s3:upload_assets
rake aborted!
Aws::S3::Errors::MissingContentLength: You must provide the Content-Length HTTP header.
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/plugins/raise_response_errors.rb:17:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/dualstack.rb:36:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/plugins/accelerate.rb:50:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:22:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/idempotency_token.rb:19:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/param_converter.rb:26:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/plugins/request_callback.rb:71:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/aws-sdk-core/plugins/response_paging.rb:12:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/plugins/response_target.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-core-3.121.2/lib/seahorse/client/request.rb:72:in `send_request'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/client.rb:11274:in `put_object'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/aws-sdk-s3-1.96.1/lib/aws-sdk-s3/object.rb:1329:in `put'
/var/www/discourse/lib/s3_helper.rb:74:in `upload'
/var/www/discourse/lib/tasks/s3.rake:37:in `block in upload'
/var/www/discourse/lib/tasks/s3.rake:36:in `open'
/var/www/discourse/lib/tasks/s3.rake:36:in `upload'
/var/www/discourse/lib/tasks/s3.rake:192:in `block (2 levels) in <main>'
/var/www/discourse/lib/tasks/s3.rake:191:in `each'
/var/www/discourse/lib/tasks/s3.rake:191:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => s3:upload_assets
(See full trace by running task with --trace)
I, [2022-02-15T09:19:30.893646 #1] INFO -- : Installing CORS rules...
skipping
Skipping: assets/browser-detect-16ca87077aead9f656700e192992122d3a7eee8c1bb76da992127945464d4777.js
Skipping: assets/browser-detect-16ca87077aead9f656700e192992122d3a7eee8c1bb76da992127945464d4777.br.js
Skipping: assets/browser-detect-16ca87077aead9f656700e192992122d3a7eee8c1bb76da992127945464d4777.gz.js
Skipping: assets/browser-detect-16ca87077aead9f656700e192992122d3a7eee8c1bb76da992127945464d4777.js.map
Skipping: assets/browser-update-eec13eb6f8386f18f10b5dd6ebb7a3598d28421bb796e539b91a7e4a4c5d4c08.js
Skipping: assets/browser-update-eec13eb6f8386f18f10b5dd6ebb7a3598d28421bb796e539b91a7e4a4c5d4c08.br.js
Skipping: assets/browser-update-eec13eb6f8386f18f10b5dd6ebb7a3598d28421bb796e539b91a7e4a4c5d4c08.gz.js
Skipping: assets/browser-update-eec13eb6f8386f18f10b5dd6ebb7a3598d28421bb796e539b91a7e4a4c5d4c08.js.map
...

Que signifie Aws::S3::Errors::MissingContentLength: You must provide the Content-Length HTTP header. ici ?

Notre S3 est un MinIO et fonctionne parfaitement pour nous.

Merci pour votre aide.

Avez-vous configuré MinIO comme spécifié dans Utilisation du stockage d’objets pour les téléchargements (S3 et clones) ? Si oui, il se peut qu’une mise à jour de la gemme S3 ou de MinIO ait rompu la compatibilité.

Étant donné que seul le véritable S3 est ce sur quoi nous nous basons, cela pourrait devoir être signalé à MinIO.

1 « J'aime »

Devinez que l’image de base de Discourse a mis à jour la version du gem Ruby d’aws-cdk-s3 de 1.90 à 1.96… Il faut vérifier s’il y a des changements majeurs…

Les paramètres que vous avez liés sont corrects, comme je l’ai écrit. La compilation de la version 2.8.0beta11 fonctionne bien… Donc pas de mise à jour jusqu’à ce que je trouve le problème ou que je sois dans la panade :smiley:

1 « J'aime »

Salut @Falco, j’ai abandonné MiniIO et ça refonctionne ! Merci de m’avoir aidé !

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.