Picos de CPU devido a atualizações/reconstruções

Acabei de ter a experiência mais estranha ao fazer um reinício simples da minha instância Amazon Lightsail.

  1. Fiz o reinício… esperei a reinicialização.
  2. Apareceu a tela de erro “502 Gateway Error - Nginx” em algumas páginas (que presumo não estarem em cache). Esperei um pouco…
  3. Executei um rebuild do Discourse via shell.
  4. Apareceu uma mensagem de erro informando que o rebuild falhou.
  5. Usei o ./discourse-doctor — também falhou.
  6. Desativei plugins não oficiais e refiz o rebuild — também falhou.

Pensei que estava ferrado. Enquanto fazia mais pesquisas, verifiquei o fórum novamente e descobri que ele estava funcionando normalmente. O que não faz absolutamente nenhum sentido, considerando que a resposta imediata da documentação do Discourse foi: AVISO! Aplicativo nem sequer está rodando! :slight_smile:

Minha teoria é que isso pode estar mais relacionado aos limites de burst da Amazon do que a qualquer outra coisa. Como o reinício pode ter sobrecarregado o servidor, causando esses problemas iniciais com os erros 502, mas certamente o rebuild levou meu servidor a 70-80% dos limites de burst, e talvez não houvesse recursos do sistema disponíveis para executar os scripts de rebuild?

Então, minha pergunta final é (já que isso tem sido um problema recorrente no processo de rebuild de atualizações): existe alguma maneira de limitar a carga dos scripts de atualização no servidor e evitar que ele entre em pânico? Quero dizer, esta é uma instância com 8 GB de RAM, então não é tão fraca, etc.

Obrigado… e agora tomei 2 Ativan à toa. :smiley:

É difícil dizer pela sua descrição. Que erros você está recebendo ao recompilar?

Tentarei outra atualização em breve e atualizarei aqui. Não salvei o arquivo de log e executar atualizações consome bastante minha zona de burst (especialmente após executá-la 3 vezes), então precisei esperar um dia ou mais para recuperar meus níveis de burst.

Parece que este é o culpado.

Seeding default
*** Empacotando ativos. Isso levará um tempo *** 
$ RUBY_GC_MALLOC_LIMIT_MAX=20971520 RUBY_GC_OLDMALLOC_LIMIT_MAX=20971520 RUBY_GC_HEAP_GROWTH_MAX_SLOTS=50000 RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=0.9  bundle exec rake themes:update assets:precompile
Atualizando Dark...
Falha ao atualizar Dark
about.json contém valores inválidos: A versão máxima do Discourse é inválida

Agora meu fórum está completamente fora do ar e apresentando erro 500. :frowning:

Por que isso aconteceu? Eu achava que a atualização só substituiria o fórum atual, que estava funcionando, assim que o processo fosse concluído e não enfrentaria problemas?

Não sei sobre o seu problema original, mas este é o seu problema atual: Failed to Bootstrap, due to discourse-alt-logo theme component

Você deve ser capaz de

 ./launcher start app

e depois ir e excluir o componente de tema defeituoso.

Mas o modo escuro não é um componente do tema do sistema? Como um componente do tema do sistema poderia causar esse tipo de problema?

Mas obrigado, provavelmente conseguirei resolver o problema agora que sei o que está acontecendo.

O componente de tema está obsoleto e o Discourse se recusa a usá-lo.

Mas se você executar ./launcher rebuild app, o container será desligado para construir o novo (porque está usando os mesmos arquivos de banco de dados). Se a construção falhar, você precisará reiniciar o container para colocá-lo em funcionamento novamente.

Sim, notei que a atualização na verdade estava concluída em todos os outros elementos. Assim que excluí os componentes Dark e Alternate Logos, tudo foi atualizado na tela de atualização.