Kann nicht neu aufbauen wegen AWS SDK Gem-Update und neuen AWS Data Integrity Protections

Hallo, Kann mir jemand helfen?

I, [2025-02-24T17:35:41.516926 #1]  INFO -- : Beenden asynchrone Prozesse
I, [2025-02-24T17:35:41.516987 #1]  INFO -- : Senden von INT an HOME=/var/lib/postgresql USER=postgres 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) Empfangene SIGTERM Planung des Herunterfahrens...
I, [2025-02-24T17:35:41.517067 #1]  INFO -- : Senden von TERM an exec 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:  Schneller Herunterfahrbefehl empfangen
2025-02-24 17:35:41.518 UTC [38] LOG:  Beenden aller laufenden Transaktionen
2025-02-24 17:35:41.521 UTC [38] LOG:  Hintergrundarbeiter "logical replication launcher" (PID 52) ist mit Exit-Code 1 beendet
105:M 24. Feb 2025 17:35:41.523 # Benutzer forderte Herunterfahren an...
105:M 24. Feb 2025 17:35:41.523 * Speichert den letzten RDB-Snapshot vor dem Beenden.
2025-02-24 17:35:41.525 UTC [47] LOG:  Herunterfahren
2025-02-24 17:35:41.538 UTC [47] LOG:  Sperrpunkt wird gestartet: sofortiges Herunterfahren
2025-02-24 17:35:41.550 UTC [47] LOG:  Sperrpunkt abgeschlossen: 0 Buffer geschrieben (0,0%); 0 WAL-Dateien hinzugefügt, 0 entfernt, 0 recycelt; Schreibzeit=0.005 s, Sync=0.001 s, Gesamt=0.025 s; Dateisynchronisation=0, längster=0.000 s, durchschnittlich=0.000 s; Abstand=0 kB, geschätzt=1122 kB
2025-02-24 17:35:41.581 UTC [38] LOG:  Datenbanksystem ist heruntergefahren
105:M 24. Feb 2025 17:35:41.657 * Datenbank auf Festplatte gespeichert
105:M 24. Feb 2025 17:35:41.657 # Redis kann jetzt beendet werden, tschüss...


FEHLER
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets fehlgeschlagen mit Rückgabewert #<Process::Status: pid 2845 exit 1>
Ort des Fehlers: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
Ausführungsfehler mit den Parametern {"cd"=>"$home", "cmd"=>["sudo -E -u discourse bundle exec rake s3:upload_assets", "sudo -E -u discourse bundle exec rake s3:expire_missing_assets"]}
Bootstrap fehlgeschlagen mit Exit-Code 1
** BOOTSTRAP FEHLGESCHLAGEN ** scrollen Sie nach oben und suchen Sie nach früheren Fehlermeldungen, es könnte mehr als eine geben.
./discourse-doctor kann bei der Diagnose des Problems helfen.
c08b2ad74e9f1171f7677979af4e41a46be92877a0783350b2f020359895a431

Der eigentliche Fehler ist viel früher aufgetreten. Sie sollten ihn finden.

1 „Gefällt mir“
Ich, [2025-02-24T18:17:21.167441 #1]  INFO -- : 2cd /var/www/discourse 6e sudo -E -u discourse bundle exec rake s3:upload_assets
rake abgebrochen!
Aws::S3::Errors::InvalidArgument: Nicht unterstützter Header 'x-amz-checksum-crc32' bei diesem API-Aufruf empfangen. (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 cmaine'
/var/www/discourse/lib/tasks/s3.rake:197: in `each'
/var/www/discourse/lib/tasks/s3.rake:197: in `block in igenhaupt'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27: in `top (erforderlich)
/usr/local/bin/bundle:25: in `load'
/usr/local/bin/bundle:25: in `igenhaupt'
Aufgaben: TOP = s3:upload_assets
(Siehe vollständigen Trace durch Ausführen der Aufgabe mit --trace)
I, [2025-02-24T18:17:32.242989 #1]  INFO -- : Installation der CORS-Regeln...
überspringen
Überspringen: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
Überspringen: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.br.js
Überspringen: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.gz.js
Überspringen: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js.map
Überspringen: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js
Überspringen: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.br.js
Überspringen: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.gz.js
Überspringen: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js.map
Überspringen: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
Überspringen: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.br.js
Überspringen: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.gz.js
Überspringen: assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.js
Überspringen: assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.br.js
Überspringen: assets/scripts/disco...

Ich weiß es nicht, aber deine AWS-Einstellungen scheinen irgendwie kaputt zu sein. Zumindest.

@Falco Ich vermute, dass die neueste Version von Discourse BackBlaze nicht mehr unterstützt.

Ich habe diesen Tweet gefunden, bin mir aber nicht sicher, ob er direkt relevant ist: https://x.com/jkostolansky/status/1880623631145030054

3 „Gefällt mir“

Ja, ich schätze, das ist das Problem
Aws::S3::Errors::InvalidArgument: Unsupported header 'x-amz-checksum-crc32' received for this API call. (Aws::S3::Errors::InvalidArgument)

Gibt es eine Möglichkeit, das Gem aws-sdk-s3 manuell herunterzustufen?

Wahrscheinlich etwas mit Ihrer S3-Einrichtung? Schlüssel falsch? Kreditkarte abgelaufen?

Hatten Sie S3 schon eine Weile konfiguriert?

Vor dem Upgrade auf die neueste Version gab es keine Probleme.

Ich habe B2 überprüft, dass ich keine Obergrenze erreicht habe.

x-amz-checksum-crc32 wird von b2 nicht unterstützt. Ich vermute, das ist der Grund

Versuchen Sie, Folgendes zu Ihrer ENV hinzuzufügen

AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
2 „Gefällt mir“

Hallo, es gibt immer noch einen Fehler

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: Unsupported header 'x-amz-checksum-crc32' received for this API call. (Aws::S3::Errors::InvalidArgument)
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse  sudo -E -u discourse bundle exec rake s3:expire_missing_assets failed with return #<Process::Status: pid 2900 exit 1>
Ort des Fehlers: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec fehlgeschlagen mit den Parametern {"cd"=>"$home", "cmd"=>["sudo -E -u discourse bundle exec rake s3:upload_assets", "sudo -E -u discourse bundle exec rake s3:expire_missing_assets"]}
Bootstrap fehlgeschlagen mit Exit-Code 1
** BOOTSTRAP FEHLGESCHLAGEN ** Bitte scrollen Sie nach oben und suchen Sie nach frühere Fehlermeldungen, möglicherweise gibt es mehr als eine.
./discourse-doctor kann bei der Diagnose des Problems helfen.
1 „Gefällt mir“

Es wird berichtet, dass das AWS SDK diese ENVs bei DELETE-Operationen nicht respektiert, daher müssen Sie vorerst die

- sudo -E -u discourse bundle exec rake s3:expire_missing_assets

Zeile entfernen.

3 „Gefällt mir“

Sollte jemand den b2-Abschnitt von Konfigurieren Sie einen S3-kompatiblen Objektspeicheranbieter für Uploads aktualisieren?

1 „Gefällt mir“

Nachdem bestätigt wurde, dass es funktioniert? Auf jeden Fall.

Außerdem wird es die meisten Anbieter betreffen, sodass die meisten Klone angepasst werden müssen.

2 „Gefällt mir“

Vielen Dank, ich werde es während der Wartungszeit versuchen.
Hat das Löschen von
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
irgendwelche Nebenwirkungen?

Ja, Assets werden nicht mehr aus dem Bucket entfernt.

1 „Gefällt mir“

Wenn ich also die Assets nicht manuell entferne, wird es theoretisch unendlich erweitert?

Ja, genau das wird passieren.

1 „Gefällt mir“

Es klingt nicht nach einem super kritischen Problem, aber gibt es eine Möglichkeit, es zu beheben?
In der vorherigen Version gab es keine Probleme, oder?