Esto está en una máquina de prueba. Anteriormente estaba ejecutando Discourse allí; estropeé la instalación y no pude actualizar a la última versión, lo que pensé que era mi error. Después de eliminar todo el directorio de Discourse y limpiar Docker, intenté hacer una instalación completamente nueva antes de importar una copia de seguridad de la base de datos en vivo.
Curiosamente, todavía estoy viendo los mismos problemas que no puedo resolver.
Aquí está la salida del error. Ya probé discourse-doctor, pero no arrojó nada útil.
...
I, [2022-06-04T18:42:29.087446 #1] INFO -- : Terminating async processes
I, [2022-06-04T18:42:29.087672 #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/13/bin/postmaster -D /etc/postgresql/13/main pid: 42
I, [2022-06-04T18:42:29.087881 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 103
2022-06-04 18:42:29.088 UTC [42] LOG: received fast shutdown request
103:signal-handler (1654368149) Received SIGTERM scheduling shutdown...
2022-06-04 18:42:29.118 UTC [42] LOG: aborting any active transactions
2022-06-04 18:42:29.123 UTC [42] LOG: background worker "logical replication launcher" (PID 51) exited with exit code 1
2022-06-04 18:42:29.123 UTC [46] LOG: shutting down
103:M 04 Jun 2022 18:42:29.154 # User requested shutdown...
103:M 04 Jun 2022 18:42:29.154 * Saving the final RDB snapshot before exiting.
103:M 04 Jun 2022 18:42:29.159 * DB saved on disk
103:M 04 Jun 2022 18:42:29.159 # Redis is now ready to exit, bye bye...
2022-06-04 18:42:29.201 UTC [42] LOG: database system is shut down
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 1102 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
69cb25658efb6f16e4479bb98a2d0278d72e56028865730841ac1efacc5b8d9d
==================== END REBUILD LOG ====================
El servidor en sí debería estar bien: mucho espacio en disco, suficientes recursos en general. ¿Alguna idea?
103:M 04 Jun 2022 18:40:07.369 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. 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.
Hmm… 16G de RAM es bastante, así que podrías pensar que no necesitas swap. Pero yo diría que no haría daño añadir un poco. Sin ver tu log no puedo decir que el problema sea la escasez de memoria. Pero si lo es, configurar el modo overcommit podría ayudar, tengas o no swap.
Buen hallazgo, Ed. Gracias. Parece que s3_bucket en algún momento cambió a s3_upload_bucket y tengo esos en containers/app.yml, lo que parece haber causado el problema. Al menos la compilación ahora fue bien después de que cambié DISCOURSE_S3_BUCKET allí a DISCOURSE_S3_UPLOAD_BUCKET.
Ojalá tales cambios también introdujeran una verificación en el proceso de compilación para evitar encontrarse con esto, y con suerte siempre probamos nuestras actualizaciones en una máquina de prueba.