Nenhum erro, instância não voltando após reconstrução

Pela primeira vez em anos, após uma reconstrução, minha instância não está voltando a funcionar. Minha última reconstrução bem-sucedida foi ontem.

Talvez haja um novo commit que possa ser o motivo disso?

Quais são os sintomas?

O que você vê se executar

tail -f /var/discourse/shared/standalone/log/rails/production.log
Concluído em 89,60s.
Baixando MaxMindDB...
Comprimindo Javascript e Gerando Source Maps

I, [2023-03-08T17:11:55.996529 #1]  INFO -- : File > /usr/local/bin/discourse  chmod: +x  chown:
I, [2023-03-08T17:11:55.999205 #1]  INFO -- : File > /usr/local/bin/rails  chmod: +x  chown:
I, [2023-03-08T17:11:56.001899 #1]  INFO -- : File > /usr/local/bin/rake  chmod: +x  chown:
I, [2023-03-08T17:11:56.004616 #1]  INFO -- : File > /usr/local/bin/rbtrace  chmod: +x  chown:
I, [2023-03-08T17:11:56.007306 #1]  INFO -- : File > /usr/local/bin/stackprof  chmod: +x  chown:
I, [2023-03-08T17:11:56.010710 #1]  INFO -- : File > /etc/update-motd.d/10-web  chmod: +x  chown:
I, [2023-03-08T17:11:56.012746 #1]  INFO -- : File > /etc/logrotate.d/rails  chmod:   chown:
I, [2023-03-08T17:11:56.014343 #1]  INFO -- : File > /etc/logrotate.d/nginx  chmod:   chown:
I, [2023-03-08T17:11:56.017963 #1]  INFO -- : File > /etc/runit/1.d/00-ensure-links  chmod: +x  chown:
I, [2023-03-08T17:11:56.020609 #1]  INFO -- : File > /etc/runit/1.d/01-cleanup-web-pids  chmod: +x  chown:
I, [2023-03-08T17:11:56.023663 #1]  INFO -- : File > /root/.bash_profile  chmod: 644  chown:
I, [2023-03-08T17:11:56.026021 #1]  INFO -- : File > /usr/local/etc/ImageMagick-7/policy.xml  chmod:   chown:
I, [2023-03-08T17:11:56.026795 #1]  INFO -- : Substituindo (?-mix:server.+{) por limit_req_zone $binary_remote_addr zone=flood:10m rate=$reqs_per_secondr/s;
limit_req_zone $binary_remote_addr zone=bot:10m rate=$reqs_per_minuter/m;
limit_req_status 429;
limit_conn_zone $binary_remote_addr zone=connperip:10m;
limit_conn_status 429;
server {
 em /etc/nginx/conf.d/discourse.conf
I, [2023-03-08T17:11:56.026984 #1]  INFO -- : Substituindo (?-mix:location @discourse {) por location @discourse {
  limit_conn connperip $conn_per_ip;
  limit_req zone=flood burst=$burst_per_second nodelay;
  limit_req zone=bot burst=$burst_per_minute nodelay; em /etc/nginx/conf.d/discourse.conf
I, [2023-03-08T17:11:56.029658 #1]  INFO -- : File > /etc/runit/1.d/remove-old-socket  chmod: +x  chown:
I, [2023-03-08T17:11:56.032272 #1]  INFO -- : File > /etc/runit/3.d/remove-old-socket  chmod: +x  chown:
I, [2023-03-08T17:11:56.032398 #1]  INFO -- : Substituindo (?-mix:listen 80;) por listen unix:/shared/nginx.http.sock;
set_real_ip_from unix:;
 em /etc/nginx/conf.d/discourse.conf
I, [2023-03-08T17:11:56.032577 #1]  INFO -- : Substituindo (?-mix:listen 443 ssl http2;) por listen unix:/shared/nginx.https.sock ssl http2;
set_real_ip_from unix:; em /etc/nginx/conf.d/discourse.conf
I, [2023-03-08T17:11:56.035350 #1]  INFO -- : File > /tmp/add-cloudflare-ips  chmod: +x  chown:
I, [2023-03-08T17:11:56.035435 #1]  INFO -- : > /tmp/add-cloudflare-ips
I, [2023-03-08T17:11:56.359453 #1]  INFO -- : IPs da CloudFlare:
set_real_ip_from 173.245.48.0/20; set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 162.158.0.0/15; set_real_ip_from 104.16.0.0/13; set_real_ip_from 104.24.0.0/14; set_real_ip_from 172.64.0.0/13; set_real_ip_from 131.0.72.0/22; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; set_real_ip_from 2a06:98c0::/29; set_real_ip_from 2c0f:f248::/32;

I, [2023-03-08T17:11:56.359655 #1]  INFO -- : > rm /tmp/add-cloudflare-ips
I, [2023-03-08T17:11:56.361599 #1]  INFO -- :
I, [2023-03-08T17:11:56.361818 #1]  INFO -- : > echo "Início dos comandos personalizados"
I, [2023-03-08T17:11:56.363535 #1]  INFO -- : Início dos comandos personalizados

I, [2023-03-08T17:11:56.367829 #1]  INFO -- : File > /etc/service/monerochan_merchant_rpc/run  chmod: +x  chown:
I, [2023-03-08T17:11:56.368034 #1]  INFO -- : > echo "Fim dos comandos personalizados"
I, [2023-03-08T17:11:56.369958 #1]  INFO -- : Fim dos comandos personalizados

I, [2023-03-08T17:11:56.370117 #1]  INFO -- : Terminando processos assíncronos
I, [2023-03-08T17:11:56.370225 #1]  INFO -- : Enviando INT para HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
I, [2023-03-08T17:11:56.370261 #1]  INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2023-03-08 17:11:56.370 UTC [42] LOG:  solicitação de desligamento rápido recebida
103:signal-handler (1678295516) SIGTERM recebido, agendando desligamento...
2023-03-08 17:11:56.372 UTC [42] LOG:  cancelando todas as transações ativas
2023-03-08 17:11:56.374 UTC [42] LOG:  worker em segundo plano \"logical replication launcher\" (PID 51) saiu com código de saída 1
2023-03-08 17:11:56.375 UTC [46] LOG:  desligando
2023-03-08 17:11:56.392 UTC [42] LOG:  sistema de banco de dados desligado
103:M 08 Mar 2023 17:11:56.469 # Solicitação de desligamento do usuário...
103:M 08 Mar 2023 17:11:56.469 * Salvando o snapshot RDB final antes de sair.
103:M 08 Mar 2023 17:11:56.570 * DB salvo em disco
103:M 08 Mar 2023 17:11:56.570 # Redis está pronto para sair, até mais...
sha256:422bd26e098f3af0623647ebce02770ac1608bfac07260aeb5469ab975696363
a0b91a9cc45e8666352e172143854705faa97b38208fcfe0650ea929989b8570
Removendo contêiner antigo
+ /usr/bin/docker rm app
app
➜  discourse git:(main) ✗ tail -f /var/discourse/shared/standalone/log/rails/production.log


Tchau!
Aviso de Depreciação: (siwe) full_screen_login agora é forçado. O parâmetro full_screen_login pode ser removido do auth_provider. (remoção no Discourse 2.9.0)
Em /var/www/discourse/lib/plugin/instance.rb:763:in `public_send`
Migrando para MakeChatMentionNotificationIdNullable (20230227172543)
Migrando para DropBadgeGrantedTitleColumn (20230228105851)
Migrando para AddExternalToSidebarUrls (20230303015952)
O tipo de configuração do tema mudou, mas não pode ser convertido.

 #<ThemeSettingsManager::Upload:0x00007f60ff714e38 @name=:background_image, @default="", @theme=#<Theme id: 31, name: "Search Banner", user_id: 2, created_at: "2021-08-03 16:38:09.042735000 +0000", updated_at: "2021-08-03 17:01:41.329058000 +0000", compiler_version: 0, user_selectable: false, hidden: false, color_scheme_id: nil, remote_theme_id: 29, component: true, enabled: true, auto_update: true>, @opts={:description=>"imagem de fundo para o banner", :textarea=>false, :json_schema=>nil, :refresh=>false}, @types={:integer=>0, :float=>1, :string=>2, :bool=>3, :list=>4, :enum=>5, :upload=>6}>
Tchau!
Aviso de Depreciação: (siwe) full_screen_login agora é forçado. O parâmetro full_screen_login pode ser removido do auth_provider. (remoção no Discourse 2.9.0)
Em /var/www/discourse/lib/plugin/instance.rb:763:in `public_send`
Migrando para MakeChatMentionNotificationIdNullable (20230227172543)
Migrando para DropBadgeGrantedTitleColumn (20230228105851)
Migrando para AddExternalToSidebarUrls (20230303015952)
O tipo de configuração do tema mudou, mas não pode ser convertido.

 #<ThemeSettingsManager::Upload:0x00007f60ff714e38 @name=:background_image, @default="", @theme=#<Theme id: 31, name: "Search Banner", user_id: 2, created_at: "2021-08-03 16:38:09.042735000 +0000", updated_at: "2021-08-03 17:01:41.329058000 +0000", compiler_version: 0, user_selectable: false, hidden: false, color_scheme_id: nil, remote_theme_id: 29, component: true, enabled: true, auto_update: true>, @opts={:description=>"imagem de fundo para o banner", :textarea=>false, :json_schema=>nil, :refresh=>false}, @types={:integer=>0, :float=>1, :string=>2, :bool=>3, :list=>4, :enum=>5, :upload=>6}>

Não estou vendo nada fora do comum. Talvez as linhas do nginx estejam incomodando? (minha configuração do nginx é do tutorial da página de manutenção oficial do discourse).

O que acontece se você visitar seu site? Você pode compartilhar o URL?

1 curtida

Prefiro não em público, mas te mando uma DM.

Editar: redirecionei o nginx para ignorar erros 502, etc. Apenas um erro de gateway inválido.

1 curtida

Você precisará examinar o arquivo de log quando algo tentar carregar o site e ver qual é o erro.

Se o Cloudflare (ou qualquer outro) estiver impedindo um navegador de acessar o site, talvez você possa examinar os logs em busca de um erro 500 para ver qual é o problema.

Talvez você consiga usar curl localhost de dentro do contêiner.

1 curtida

Esse é um bom feedback. Tentarei isso e retornarei.

EDIT: Hmm, não acho que nada aconteça nos logs, mas estou vendo o seguinte.

➜ ~ tail -f /var/discourse/shared/standalone/log/rails/production.log
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/subscribe.rb:14:in `subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:288:in `_subscription'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/pubsub.rb:20:in `block in subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/pubsub.rb:19:in `subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:302:in `global_subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:768:in `global_subscribe_thread'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:739:in `block in new_subscriber_thread'

No meu nginx, estou vendo:

2023/03/08 17:58:38 [crit] 115962#115962: *448 connect() to unix:/var/discourse/shared/standalone/nginx.http.sock failed (2: No such file or directory) while connecting to upstream, client: IP.XXX server: [domain.com](http://domain.com), request: "GET /service-worker.js HTTP/2.0", upstream: "http://unix:/var/discourse/shared/standalone/nginx.http.sock:/service-worker.js", host: "domain.com", referrer: "https://domain.com/service-worker.js"
2023/03/08 17:59:32 [notice] 318573#318573: signal process started

Isso ajuda? Ou devo reverter completamente a configuração do nginx para isso?

2 curtidas

Se você compartilhar o backtrace completo (mais algumas linhas desse arquivo), poderemos ajudá-lo.

1 curtida
Completed 200 OK in 25ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 17734)
Started GET "/categories_and_latest" for [ip removed] at 2023-03-08 16:20:41 +0000
Processing by CategoriesController#categories_and_latest as JSON
  Rendered text template (Duration: 0.0ms | Allocations: 1)
Completed 200 OK in 112ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 63242)
Started GET "/" for [ip removed] at 2023-03-08 16:21:00 +0000
Processing by CategoriesController#index as HTML
  Rendered categories/index.html.erb within layouts/crawler (Duration: 1.4ms | Allocations: 1135)
  Rendered layout layouts/crawler.html.erb (Duration: 6.7ms | Allocations: 3536)
Completed 200 OK in 75ms (Views: 7.7ms | ActiveRecord: 0.0ms | Allocations: 41712)
Started GET "/notifications?limit=30&recent=true&bump_last_seen_reviewable=true" for [ip removed] at 2023-03-08 16:21:35 +0000
Processing by NotificationsController#index as JSON
  Parameters: {"limit"=>"30", "recent"=>"true", "bump_last_seen_reviewable"=>"true"}
Completed 200 OK in 60ms (Views: 0.1ms | ActiveRecord: 0.0ms | Allocations: 30822)
Started GET "/" for [ip removed] at 2023-03-08 16:22:00 +0000
Processing by CategoriesController#index as HTML
  Rendered categories/index.html.erb within layouts/crawler (Duration: 1.1ms | Allocations: 1135)
  Rendered layout layouts/crawler.html.erb (Duration: 5.4ms | Allocations: 3536)
Completed 200 OK in 86ms (Views: 6.1ms | ActiveRecord: 0.0ms | Allocations: 41842)
Shutting down
Terminating quiet threads
Scheduler exiting...
Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)
Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) subscribe failed, reconnecting in 1 second. Call stack /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:398:in `rescue in establish_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:379:in `establish_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:115:in `block in connect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:344:in `with_reconnect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:114:in `connect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:409:in `ensure_connected'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:269:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:356:in `logging'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:268:in `process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:175:in `block in call_loop'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:331:in `with_socket_timeout'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:174:in `call_loop'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/subscribe.rb:44:in `subscription'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/subscribe.rb:14:in `subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:288:in `_subscription'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/pubsub.rb:20:in `block in subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/pubsub.rb:19:in `subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:302:in `global_subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:768:in `global_subscribe_thread'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:739:in `block in new_subscriber_thread'
Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)
Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)
Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)
Job exception: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Error fetching job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)
Job exception: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Job exception: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Job exception: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Job exception: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Job exception: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Failed to process job: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) ["/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:398:in `rescue in establish_connection'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:379:in `establish_connection'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:115:in `block in connect'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:344:in `with_reconnect'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:114:in `connect'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:409:in `ensure_connected'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:269:in `block in process'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:356:in `logging'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:268:in `process'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:161:in `call'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:270:in `block in send_command'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:269:in `synchronize'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:269:in `send_command'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/scripting.rb:110:in `_eval'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/scripting.rb:97:in `evalsha'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:463:in `cached_eval'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:150:in `publish'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:391:in `publish'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:751:in `block in new_subscriber_thread'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/timer_thread.rb:117:in `do_work'", "/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/timer_thread.rb:95:in `block (2 levels) in queue'"]
Pausing to allow jobs to finish...
heartbeat: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)
Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) subscribe failed, reconnecting in 1 second. Call stack /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:398:in `rescue in establish_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:379:in `establish_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:115:in `block in connect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:344:in `with_reconnect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:114:in `connect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:409:in `ensure_connected'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:269:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:356:in `logging'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:268:in `process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:161:in `call'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/rack-mini-profiler-3.0.0/lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:270:in `block in send_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:269:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:269:in `send_command'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/strings.rb:191:in `get'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:401:in `process_global_backlog'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:286:in `block in global_subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:299:in `global_subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:768:in `global_subscribe_thread'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:739:in `block in new_subscriber_thread'
Job exception: Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL)

Bye!
Deprecation notice: (siwe) full_screen_login is now forced. The full_screen_login parameter can be removed from the auth_provider. (removal in Discourse 2.9.0) 
At /var/www/discourse/lib/plugin/instance.rb:763:in `public_send`
Migrating to MakeChatMentionNotificationIdNullable (20230227172543)
Migrating to DropBadgeGrantedTitleColumn (20230228105851)
Migrating to AddExternalToSidebarUrls (20230303015952)
Theme setting type has changed but cannot be converted. 

 #<ThemeSettingsManager::Upload:0x00007f60ff714e38 @name=:background_image, @default="", @theme=#<Theme id: 31, name: "Search Banner", user_id: 2, created_at: "2021-08-03 16:38:09.042735000 +0000", updated_at: "2021-08-03 17:01:41.329058000 +0000", compiler_version: 0, user_selectable: false, hidden: false, color_scheme_id: nil, remote_theme_id: 29, component: true, enabled: true, auto_update: true>, @opts={:description=>"background image for the banner", :textarea=>false, :json_schema=>nil, :refresh=>false}, @types={:integer=>0, :float=>1, :string=>2, :bool=>3, :list=>4, :enum=>5, :upload=>6}>
Deprecation notice: (siwe) full_screen_login is now forced. The full_screen_login parameter can be removed from the auth_provider. (removal in Discourse 2.9.0) 
At /var/www/discourse/lib/plugin/instance.rb:763:in `public_send`
Error connecting to Redis on localhost:6379 (Errno::EADDRNOTAVAIL) subscribe failed, reconnecting in 1 second. Call stack /var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:398:in `rescue in establish_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:379:in `establish_connection'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:115:in `block in connect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:344:in `with_reconnect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:114:in `connect'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:409:in `ensure_connected'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:269:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:356:in `logging'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:268:in `process'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:175:in `block in call_loop'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:331:in `with_socket_timeout'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/client.rb:174:in `call_loop'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/subscribe.rb:44:in `subscription'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/subscribe.rb:14:in `subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:288:in `_subscription'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/pubsub.rb:20:in `block in subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis.rb:265:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/redis-4.8.1/lib/redis/commands/pubsub.rb:19:in `subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus/backends/redis.rb:302:in `global_subscribe'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:768:in `global_subscribe_thread'
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/message_bus-4.3.2/lib/message_bus.rb:739:in `block in new_subscriber_thread'

This is from the moment before the “fatal” rebuild, up until after a few tries more with removed plugins etc.

Excluí os seguintes plugins e agora minha instância está iniciando novamente.

Portanto, provavelmente está relacionado a commits recentes de um desses.

1 curtida

O erro não entra no log porque acontece quando o rails é iniciado:

root@test1-web-only:/var/www/discourse# rails c
bundler: failed to load command: pry (/var/www/discourse/vendor/bundle/ruby/3.2.0/bin/pry)
/var/www/discourse/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.6.7/lib/zeitwerk/loader/helpers.rb:135:in `const_get': uninitialized constant PluginInstance (NameError)

    parent.const_get(cname, false)
          ^^^^^^^^^^
Did you mean?  PluginStore

Eu repliquei o erro em outra instalação. Estou tentando descobrir qual plugin é no momento.

1 curtida

Você pode compartilhar a lista de plugins e o commit de cada plugin?

Descobri que é um conflito entre Automação e outro plugin. Ele será reconstruído apenas com a automação, mas não com outros plugins ativados. Estou perto de encontrar o outro culpado…

2 curtidas

Na verdade, tivemos um bug tanto na automação quanto na atribuição, e acabamos de corrigir ambos. Portanto, reconstruir agora irá corrigi-lo.

cc @pfaffman

4 curtidas

Alguém acabou de me dizer que

Aqui está a lista de plugins (mais um que é privado)

          - git clone https://github.com/discourse/docker_manager.git
            #- git clone https://github.com/discourse/discourse-docs.git
            #- git clone https://github.com/discourse/discourse-solved.git
            #- git clone https://github.com/discourse/discourse-voting.git
            #- git clone https://github.com/discourse/discourse-reactions.git
            #- git clone https://github.com/discourse/discourse-canned-replies.git
            #- git clone https://github.com/jomaxro/discourse-plugin-site-setting-override.git
            #- git clone https://github.com/discourse/discourse-automation.git

Consegui obter o

Aha. Então, aparentemente, meu teste que deveria confirmar o plugin quebrado confirma o conserto.

1 curtida

Também aqui haha, que coincidência! Obrigado Falco.

1 curtida

Vou tentar reconstruir agora e restaurar os plugins removidos. Só por precaução, aqui estão os plugins restantes:

EDIT: Funcionando com os 3 plugins removidos reinstalados. Obrigado, equipe!

discourse 12436d05 Atualizado
docker_manager e90c8f55 Atualizado
discourse-adplugin bfd4438b Atualizado
discourse-calendar adca3f65 Atualizado
discourse-category-lockdown 2cf5f064 Atualizado
discourse-chat-integration 75cf4136 Atualizado
discourse-chatbot eb9c50ae Atualizado
discourse-data-explorer 389b8e15 Atualizado
discourse-docs 63bb4629 Atualizado
discourse-encrypt 0f3c612b Atualizado
discourse-formatting-toolbar d99f3c6d Atualizado
discourse-gamification a842e183 Atualizado
discourse-patreon 778829aa Atualizado
discourse-policy b86d520c Atualizado
discourse-pushover-notifications 30711ac7 Atualizado
discourse-siwe 752687c8 Atualizado
discourse-solved 2c1c64af Atualizado
discourse-staff-alias 10ae5329 Atualizado
discourse-telegram-notifications d9886998 Atualizado
discourse-whos-online aeee51e4 Atualizado
1 curtida

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.