Não é possível reconstruir devido ao aumento da versão da gem AWS SDK e às novas Proteções de Integridade de Dados da AWS

Olá, alguém pode me ajudar?

I, [2025-02-24T17:35:41.516926 #1]  INFO -- : Terminating async processes
I, [2025-02-24T17:35:41.516987 #1]  INFO -- : Sending INT to 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) Received SIGTERM scheduling shutdown...
I, [2025-02-24T17:35:41.517067 #1]  INFO -- : Sending TERM to 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:  recebeu solicitação de desligamento rápido
2025-02-24 17:35:41.518 UTC [38] LOG:  interrompendo quaisquer transações ativas
2025-02-24 17:35:41.521 UTC [38] LOG:  trabalhador de fundo "logical replication launcher" (PID 52) saiu com código de saída 1
105:M 24 Fev 2025 17:35:41.523 # Usuário solicitou desligamento...
105:M 24 Fev 2025 17:35:41.523 * Salvando o snapshot final do RDB antes de sair.
2025-02-24 17:35:41.525 UTC [47] LOG:  desligando
2025-02-24 17:35:41.538 UTC [47] LOG:  início do ponto de verificação: desligamento imediato
2025-02-24 17:35:41.550 UTC [47] LOG:  ponto de verificação completo: escreveu 0 buffers (0,0%); 0 arquivo(s) WAL adicionados, 0 removidos, 0 reciclados; tempo de gravação=0.005 s, tempo de sincronização=0.001 s, total=0.025 s; arquivos sincronizados=0, maior=0.000 s, média=0.000 s; distância=0 kB, estimativa=1122 kB
2025-02-24 17:35:41.581 UTC [38] LOG:  sistema de banco de dados foi desligado
105:M 24 Fev 2025 17:35:41.657 * Banco salvo no disco
105:M 24 Fev 2025 17:35:41.657 # Redis agora está pronto para sair, tchau tchau...


FALHOU
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets falhou com retorno #cProcess::Status: pid 2845 saída 1e
Local do erro: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falhou com os 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"]}
bootstrap falhou com código de saída 1
** FALHA AO INICIAR ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
c08b2ad74e9f1171f7677979af4e41a46be92877a0783350b2f020359895a431

O erro real aconteceu muito antes. Você deveria encontrá-lo.

1 curtida

{“translation”: “```\nEu, [2025-02-24T18:17:21.167441 #1] INFO – : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake s3:upload_assets\nexecução do rake abortada!\nAws::S3::Errors::InvalidArgument: Cabeçalho ‘x-amz-checksum-crc32’ não suportado recebido para esta chamada de API. (Aws::S3::Errors::InvalidArgument)\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/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’\n/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'\n/var/www/discourse/lib/s3_helper.rb:82:in upload’\n/var/www/discourse/lib/tasks/s3.rake:41:in block in upload'\n/var/www/discourse/lib/tasks/s3.rake:41:in open’\n/var/www/discourse/lib/tasks/s3.rake:41:in upload'\n/var/www/discourse/lib/tasks/s3.rake:197:in block (2 levels) in '\n/va”,“target_language”:“pt_BR”}r/www/discourse/lib/tasks/s3.rake:197:em cada' /var/www/discourse/lib/tasks/s3.rake:197:em bloco em <principal>' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:em <top (required)>’
/usr/local/bin/bundle:25:em carregar' /usr/local/bin/bundle:25:em
Tarefas: TOP => s3:upload_assets
(Veja o rastreamento completo executando a tarefa com --trace)
Eu, [2025-02-24T18:17:32.242989 #1] INFO – : Instalando regras CORS…
pulando
Pulando: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js
Pulando: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.br.js
Pulando: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.gz.js
Pulando: assets/break_string-cc617154cd957804f2f6a1f3bc68258c9cdca3d4b9a322bf777d145fed04790e.js.map
Pulando: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js
Pulando: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.br.js
Pulando: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.gz.js
Pulando: assets/service-worker-9312562dd27728d5fd952130f6bb72f4fd253fec8ef551a6e7c3c8ecd9b256da.js.map
Pulando: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.js
Pulando: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.br.js
Pulando: assets/locales/i18n-3b40e842fd72b9bcc74ea83e094c823cd9ca535e4ecc5e78722e6f99d3656137.gz.js
Pulando: assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.js
Pulando: assets/scripts/discourse-test-listen-boot-c65930f97c9935680e942f8e32df616cc91ab7c9371b86db6e5ddf9ad868ae22.br.js
Pulando: assets/scripts/disco…

Não sei, mas suas configurações da AWS parecem estar quebradas de alguma forma. Pelo menos.

@Falco Acho que a versão mais recente do discourse não suporta mais o BackBlaze

Encontrei este tweet, não tenho certeza se está diretamente relacionado: https://x.com/jkostolansky/status/1880623631145030054

3 curtidas

sim, acho que esse é o problema
Aws::S3::Errors::InvalidArgument: Unsupported header 'x-amz-checksum-crc32' received for this API call. (Aws::S3::Errors::InvalidArgument)

há alguma maneira de fazer downgrade do gem aws-sdk-s3 manualmente?

Provavelmente algo com sua configuração do S3? Chaves ruins? Cartão de crédito expirado?

Você já tem o S3 configurado há algum tempo?

antes da atualização para a versão mais recente não havia nenhum problema.

Verifiquei o B2 e não atingi nenhum limite.

x-amz-checksum-crc32 não é suportado pelo b2. Acho que este é o motivo

Tente adicionar ao seu ENV

AWS_REQUEST_CHECKSUM_CALCULATION: WHEN_REQUIRED
AWS_RESPONSE_CHECKSUM_VALIDATION: WHEN_REQUIRED
2 curtidas

Olá, ainda estou recebendo erro

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: Cabeçalho não suportado 'x-amz-checksum-crc32' recebido para esta chamada de API. (Aws::S3::Errors::InvalidArgument)
FALHOU
--------------------
Pups::ExecError: cd /var/www/discourse  sudo -E -u discourse bundle exec rake s3:expire_missing_assets falhou com o status #acProcess::Status: pid 2900 saída 1ac
Localização da falha: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec falhou com os parâmetros {"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 falhou com código de saída 1
** FALHA AO BOOTSTRAP ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
1 curtida

É relatado que o AWS SDK não está respeitando essas variáveis de ambiente para operações de DELETE, então você precisa remover a linha

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

por enquanto.

3 curtidas

Então alguém deve atualizar a seção b2 de Configurar um provedor de armazenamento de objetos compatível com S3 para uploads?

1 curtida

Depois de confirmar que funciona? Definitivamente.

Além disso, isso afetará a maioria dos provedores, então a maioria dos clones precisará de ajustes.

2 curtidas

Obrigado, tentarei durante o tempo de manutenção,
o comando sudo -E -u discourse bundle exec rake s3:expire_missing_assets deletar causa algum efeito colateral?

Sim, os ativos não serão mais removidos do bucket.

1 curtida

Então, se eu não remover os ativos manualmente, em teoria, ele se expandirá infinitamente?

Sim, é exatamente isso que vai acontecer.

1 curtida

Não parece ser um problema super crítico, mas há alguma maneira de corrigi-lo?
Não houve nenhum problema na versão anterior, certo?