Impossibile ricostruire a causa dell'aggiornamento della gem AWS SDK e delle nuove protezioni di integrità dei dati AWS

Ciao, qualcuno può aiutarmi?

I, [2025-02-24T17:35:41.516926 #1]  INFO -- : Terminazione dei processi asincroni
I, [2025-02-24T17:35:41.516987 #1]  INFO -- : Inviare INT a HOME=/var/lib/postgresql USER=postgres esegui 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:gestore-segnale (1740418541) Ricevuto SIGTERM pianificazione spegnimento...
I, [2025-02-24T17:35:41.517067 #1]  INFO -- : Inviare TERM a esegui 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:  richiesta di arresto rapido ricevuta
2025-02-24 17:35:41.518 UTC [38] LOG:  annullamento di tutte le transazioni attive
2025-02-24 17:35:41.521 UTC [38] LOG:  lavoratore di background "logical replication launcher" (PID 52) uscito con codice di uscita 1
105:M 24 Feb 2025 17:35:41.523 # L'utente ha richiesto lo spegnimento...
105:M 24 Feb 2025 17:35:41.523 * Salvataggio dell'istantanea RDB finale prima dello spegnimento.
2025-02-24 17:35:41.525 UTC [47] LOG:  spegnimento in corso
2025-02-24 17:35:41.538 UTC [47] LOG:  inizio del checkpoint: shutdown immediato
2025-02-24 17:35:41.550 UTC [47] LOG:  checkpoint completato: scritto 0 buffer (0,0%); 0 file WAL aggiunti, 0 rimossi, 0 riciclati; scrittura=0.005 s, sincronizzazione=0.001 s, totale=0.025 s; file di sincronizzazione=0, durata più lunga=0.000 s, media=0.000 s; distanza=0 kB, stima=1122 kB
2025-02-24 17:35:41.581 UTC [38] LOG:  il sistema di database è spento
105:M 24 Feb 2025 17:35:41.657 * DB salvata su disco
105:M 24 Feb 2025 17:35:41.657 # Redis ora è pronto per uscire, ciao ciao...


Fallito
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets fallito con ritorno #cProcess::Status: pid 2845 uscita 1e
Ubicazione del fallimento: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec fallito con i parametri {"cd"=e"$home", "cmd"=e["sudo -E -u discourse bundle exec rake s3:upload_assets", "sudo -E -u discourse bundle exec rake s3:expire_missing_assets"]}
il avvio fallito con codice di uscita 1
** BOOTSTRAP FALLITO ** scorri in alto e cerca i messaggi di errore precedenti, potrebbero esserci più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
c08b2ad74e9f1171f7677979af4e41a46be92877a0783350b2f020359895a431

L’errore effettivo è avvenuto molto prima. Dovresti trovarlo.

1 Mi Piace
Io, [2025-02-24T18:17:21.167441 #1]  INFO -- : udendo cd /var/www/discourse udendo sudo -E -u discourse bundle exec rake s3:upload_assets
rake abort!
Aws::S3::Errors::InvalidArgument: Intestazione 'x-amz-checksum-crc32' non supportata ricevuta per questa chiamata 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 livelli) in main'
/va
```r/www/discourse/lib/tasks/s3.rake:197:in `each'
/var/www/discourse/lib/tasks/s3.rake:197:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Compiti: TOP => s3:upload_assets
(Visualizza la traccia completa eseguendo il task con --trace)
I, [2025-02-24T18:17:32.242989 #1]  INFO -- : Installazione delle regole CORS...
saltando
Saltato: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
Saltato: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.br.js
Saltato: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.gz.js
Saltato: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js.map
Saltato: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js
Saltato: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.br.js
Saltato: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.gz.js
Saltato: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js.map
Saltato: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
Saltato: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.br.js
Saltato: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.gz.js
Saltato: assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.js
Saltato: assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.br.js
Saltato: assets/scripts/disco...

Non lo so, ma le tue impostazioni AWS sembrano essere rotte in qualche modo. Almeno.

@Falco Immagino che la versione più recente di Discourse non supporti più BackBlaze

Ho trovato questo tweet, non sono sicuro se sia direttamente correlato: https://x.com/jkostolansky/status/1880623631145030054

3 Mi Piace

Sì, immagino che sia questo il problema
Aws::S3::Errors::InvalidArgument: Unsupported header 'x-amz-checksum-crc32' received for this API call. (Aws::S3::Errors::InvalidArgument)

c’è un modo per eseguire il downgrade manuale della gemma aws-sdk-s3?

Probabilmente qualcosa con la tua configurazione S3? Chiavi errate? Carta di credito scaduta?

Hai configurato S3 da un po’ di tempo?

prima dell’aggiornamento alla versione più recente non ci sono stati problemi.

Ho controllato B2 che non ho raggiunto alcun limite

x-amz-checksum-crc32 non è supportato da b2. Immagino sia questo il motivo.

Prova ad aggiungere al tuo ENV

AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
2 Mi Piace

Ciao, continua a darmi errore

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: Intestazione non supportata 'x-amz-checksum-crc32' riceva per questa chiamata API. (Aws::S3::Errors::InvalidArgument)
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse  sudo -E -u discourse bundle exec rake s3:expire_missing_assets fallito con il codice di ritorno #Process::Status: pid 2900 uscita 1
Posizione del fallimento: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec fallito con i parametri {"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 fallito con codice di uscita 1
** IMPOSSIBILE AVVIARE IL BOOTSTRAP ** scorri verso l'alto e cerca i messaggi di errore precedenti, potrebbero esserci più di uno.
./discourse-doctor può aiutare a diagnosticare il problema.
1 Mi Piace

È stato segnalato che l’SDK AWS non rispetta quelle ENVs per le operazioni DELETE, quindi è necessario rimuovere la riga

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

per ora.

3 Mi Piace

Quindi qualcuno dovrebbe aggiornare la sezione b2 di Configurare un provider di archiviazione di oggetti compatibile con S3 per i caricamenti?

1 Mi Piace

Dopo aver confermato che funziona? Decisamente.

Inoltre, influenzerà la maggior parte dei provider, quindi la maggior parte dei cloni richiederà aggiustamenti.

2 Mi Piace

Grazie, ci proverò durante il tempo di manutenzione,
l’eliminazione di
- sudo -E -u discourse bundle exec rake s3:expire_missing_assets
ha qualche effetto collaterale?

Sì, gli asset non verranno più rimossi dal bucket.

1 Mi Piace

Quindi, se non rimuovo manualmente gli asset, in teoria, si espanderà all’infinito?

Sì, è esattamente quello che succederà.

1 Mi Piace

Non sembra un problema super critico, ma c’è un modo per risolverlo?
Non c’erano problemi nella versione precedente, giusto?