502 Bad Gateway dopo rebuild online di tests-passed Production appena

Riavviare il server, riavviare il container, la ricostruzione della console non aiutano.

Il container è attivo poiché posso usare ./launcher enter app

Ho un sacco di questi nei log, idee su come indagare sul fallimento di redis?

Errore durante la connessione a Redis su localhost:6379 (Errno::EADDRNOTAVAIL) subscribe failed, riconnessione tra 1 secondo. Stack di chiamate /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'first?

Non sono sicuro se questa sia una buona idea, ma ho provato ad avviarlo manualmente:

/var/www/discourse# redis-server
3770:C 14 Dec 2023 17:20:17.171 # oO0OoO0OoO0Oo Redis sta partendo oO0OoO0OoO0Oo
3770:C 14 Dec 2023 17:20:17.171 # Versione Redis=7.0.7, bit=64, commit=00000000, modificato=0, pid=3770, appena avviato
3770:C 14 Dec 2023 17:20:17.171 # Attenzione: nessun file di configurazione specificato, viene utilizzata la configurazione predefinita. Per specificare un file di configurazione usare redis-server /percorso/al/redis.conf
3770:M 14 Dec 2023 17:20:17.173 * orologio monotono: POSIX clock_gettime
3770:M 14 Dec 2023 17:20:17.173 # Attenzione: Impossibile creare il socket TCP del server *:6379: bind: Indirizzo già in uso
3770:M 14 Dec 2023 17:20:17.173 # Impossibile ascoltare sulla porta 6379 (TCP), interruzione.
1 Mi Piace

Redis è in esecuzione all’interno del container?

sv pensa che lo sia?

root@michael-discourse-docker-app:/# sv status redis
run: redis: (pid 548) 9843135s; run: log: (pid 547) 9843135s

Qualcosa viene mostrato in /var/log/redis/current?

Puoi eseguire sv down redis (se attivo) e sv up redis?

Vengono mostrati log pertinenti dopo ciò?

1 Mi Piace
/var/www/discourse/log# sv status redis
run: redis: (pid 565) 1430s; run: log: (pid 560) 1430s
/var/www/discourse/log# sv down redis
/var/www/discourse/log# sv up redis
/var/www/discourse/log# tail /var/log/redis/current
4766:M 14 Dec 2023 17:26:20.195 * monotonic clock: POSIX clock_gettime
4766:M 14 Dec 2023 17:26:20.195 * Running mode=standalone, port=6379.
4766:M 14 Dec 2023 17:26:20.195 # Server initialized
4766:M 14 Dec 2023 17:26:20.195 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
4766:M 14 Dec 2023 17:26:20.196 * Loading RDB produced by version 7.0.7
4766:M 14 Dec 2023 17:26:20.196 * RDB age 3 seconds
4766:M 14 Dec 2023 17:26:20.196 * RDB memory usage when created 24.56 Mb
4766:M 14 Dec 2023 17:26:20.317 * Done loading RDB, keys loaded: 21165, keys expired: 3.
4766:M 14 Dec 2023 17:26:20.317 * DB loaded from disk: 0.121 seconds
4766:M 14 Dec 2023 17:26:20.317 * Ready to accept connections

Trovato il problema! Un plugin! (il mio!!)

1 Mi Piace

Grazie Michael, sembra che sia stata un’infrazione del nome Zeitwerk! (da notare che Rubocop non l’ha rilevata e funziona in ambiente di sviluppo).

Ma quei comandi sono molto, molto utili come riferimento futuro!

1 Mi Piace

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