AWS SDK gemのバージョンアップと新しいAWS Data Integrity Protectionsのため、再構築できません

こんにちは、誰か助けてくれませんか?

I, [2025-02-24T17:35:41.516926 #1]  INFO -- : 非同期プロセスを終了しています
I, [2025-02-24T17:35:41.516987 #1]  INFO -- : HOME=/var/lib/postgresql USER=postgres に対して INT 信号を送信しています。exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/15/bin/postmaster -D /etc/postgresql/15/main pid: 38
105:signal-handler (1740418541) SIGTERMを受信、シャットダウンをスケジューリング中...
I, [2025-02-24T17:35:41.517067 #1]  INFO -- : redis の実行に TERM を送信しています。chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 105
2025-02-24 17:35:41.517 UTC [38] LOG: 高速シャットダウン要求を受信
2025-02-24 17:35:41.518 UTC [38] LOG: アクティブなトランザクションを中止しています
2025-02-24 17:35:41.521 UTC [38] LOG: バックグラウンドワーカー「論理レプリケーション起動者」(PID 52)が終了コード1で終了
105:M 24 Feb 2025 17:35:41.523 # ユーザーの要求によるシャットダウン...
105:M 24 Feb 2025 17:35:41.523 * 最終RDBスナップショットを保存しています。
2025-02-24 17:35:41.525 UTC [47] LOG: シャットダウン中
2025-02-24 17:35:41.538 UTC [47] LOG: チェックポイント開始:即時シャットダウン
2025-02-24 17:35:41.550 UTC [47] LOG: チェックポイント完了:バッファ0を書き込み(0.0%);0 WALファイルが追加・削除・再利用されました;書き込み=0.005秒、同期=0.001秒、合計=0.025秒;ファイル同期=0、最長=0.000秒、平均=0.000秒;距離=0 kB、推定=1122 kB
2025-02-24 17:35:41.581 UTC [38] LOG: データベースシステムはシャットダウンしました
105:M 24 Feb 2025 17:35:41.657 * DBがディスクに保存されました
105:M 24 Feb 2025 17:35:41.657 # Redisは正常に終了しました、お疲れ様...


失敗
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets がリターン #4Process::Status: pid 2845 exit 14
失敗の場所: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
params {"cd"=>"$home", "cmd"=>["sudo -E -u discourse bundle exec rake s3:upload_assets", "sudo -E -u discourse bundle exec rake s3:expire_missing_assets"]}でexecに失敗しました
ブートストラップは終了コード1で失敗しました
** ブートストラップに失敗しました ** 以前のエラーメッセージを確認してください。複数ある可能性があります。
./discourse-doctorが問題の診断に役立ちます。
c08b2ad74e9f1171f7677979af4e41a46be92877a0783350b2f020359895a431

実際のエラーはもっと前に発生しました。それを見つけるべきです。

「いいね!」 1
I, [2025-02-24T18:17:21.167441 #1]  INFO -- : cd /var/www/discourse  sudo -E -u discourse bundle exec rake s3:upload_assets
rakeailed!
Aws::S3::Errors::InvalidArgument: サポートされていないヘッダー 'x-amz-checksum-crc32' がこのAPI呼び出しで受信されました。(Aws::S3::Errors::InvalidArgument)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/plugins/raise_response_errors.rb:17:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/sse_cpk.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/dualstack.rb:21:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/plugins/accelerate.rb:43:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/checksum_algorithm.rb:169:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/jsonvalue_converter.rb:16:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/invocation_id.rb:16:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/idempotency_token.rb:19:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/param_converter.rb:26:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/plugins/request_callback.rb:89:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/response_paging.rb:12:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/plugins/response_target.rb:24:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/telemetry.rb:39:in `block in call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/telemetry/no_op.rb:29:in `in_span'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/telemetry.rb:53:in `span_wrapper'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/telemetry.rb:39:in `call'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/seahorse/client/request.rb:72:in `send_request'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/client.rb:17315:in `put_object'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/object.rb:2994:in `block in put'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-core-3.219.0/lib/aws-sdk-core/plugins/user_agent.rb:69:in `metric'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/object.rb:2993:in `put'
/var/www/discourse/lib/s3_helper.rb:82:in `upload'
/var/www/discourse/lib/tasks/s3.rake:41:in `block in upload'
/var/www/discourse/lib/tasks/s3.rake:41:in `open'
/var/www/discourse/lib/tasks/s3.rake:41:in `upload'
/var/www/discourse/lib/tasks/s3.rake:197:in `block (2 levels) in <main>'
/va`r/www/discourse/lib/tasks/s3.rake:197:in `each'
/var/www/discourse/lib/tasks/s3.rake:197:in `block in cmaine'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `ctop (required)e'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `cmaine'
Tasks: TOP => s3:upload_assets
(詳細なトレースを見るには、タスクを --trace オプションとともに実行してください)
I, [2025-02-24T18:17:32.242989 #1]  INFO -- : CORSルールをインストール中...
skipping
スキップ中:assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
スキップ中:assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.br.js
スキップ中:assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.gz.js
スキップ中:assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js.map
スキップ中:assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js
スキップ中:assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.br.js
スキップ中:assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.gz.js
スキップ中:assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js.map
スキップ中:assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
スキップ中:assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.br.js
スキップ中:assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.gz.js
スキップ中:assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.js
スキップ中:assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.br.js
スキップ中:assets/scripts/disco...

わかりませんが、あなたのAWS設定は何らかの理由で壊れているようです。少なくとも。

@Falco Discourse の最新バージョンでは BackBlaze がサポートされなくなったようです。

このツイートを見つけましたが、直接関係があるかどうかわかりません。https://x.com/jkostolansky/status/1880623631145030054

「いいね!」 3

はい、それが問題だと思います。
Aws::S3::Errors::InvalidArgument: Unsupported header 'x-amz-checksum-crc32' received for this API call. (Aws::S3::Errors::InvalidArgument)

aws-sdk-s3 gem を手動でダウングレードする方法はありますか?

S3の設定に何か問題があるのではないでしょうか?キーが無効、クレジットカードの有効期限切れなど。

S3は以前から設定されていましたか?

最新バージョンにアップグレードする前は、問題ありませんでした。

B2を確認しましたが、キャップに達していませんでした。

x-amz-checksum-crc32 は b2 ではサポートされていません。これが原因だと思います。

環境設定に次を追加してみてください

AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
「いいね!」 2

こんにちは、まだエラーが出ています

env:
  DISCOURSE_ENABLE_CORS: true
  AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
  AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
  
  DISCOURSE_USE_S3: true
rake aborted!
Aws::S3::Errors::InvalidArgument: このAPI呼び出しにはサポートされていないヘッダー 'x-amz-checksum-crc32' が受信されました。 (Aws::S3::Errors::InvalidArgument)
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse  sudo -E -u discourse bundle exec rake s3:expire_missing_assets が失敗し、戻り値 #Process::Status: pid 2900 exit 1
失敗箇所: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
パラメータ {"cd"=>"$home", "cmd"=>["sudo -E -u discourse bundle exec rake s3:upload_assets", "sudo -E -u discourse bundle exec rake s3:expire_missing_assets"]} で実行に失敗しました。
ブートストラップは終了コード1で失敗しました。
** ブートストラップに失敗しました **。前のエラーを上にスクロールして確認してください。複数のエラーがある可能性があります。
./discourse-doctor で問題の診断を試みることができます。
「いいね!」 1

AWS SDK が DELETE 操作でこれらの ENVs を尊重しないと報告されているため、一時的に以下を削除する必要があります。

- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
「いいね!」 3

Configure an S3 compatible object storage provider for uploads の b2 セクションを更新する必要がありますか?

「いいね!」 1

それが機能することを確認した後ですか?間違いなく。

また、ほとんどのプロバイダーに影響するため、ほとんどのクローンで調整が必要になります。

「いいね!」 2

メンテナンス時間中に試してみます。
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
を実行しても副作用はありますか?

はい、バケットからアセットが削除されなくなります。

「いいね!」 1

もし手動でアセットを削除しなければ、理論上は無限に拡張されるということですか?

はい、まさにその通りになります。

「いいね!」 1

それほど重大な問題ではないようですが、修正する方法はありますか?
以前のバージョンでは問題ありませんでしたよね?