¿Falla la migración de la base de datos al actualizar de 2.8.0.beta1 a beta4?

Hola,

Estoy ejecutando un launcher rebuild para actualizar desde la versión 2.8.0.beta1 a beta4.

He desactivado todos los plugins no oficiales, pero parece que nuestro error está en el núcleo.

app.yaml para una compilación simple de un solo contenedor:

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
  - "templates/cloudflare.template.yml"

Registro de compilación:


I, [2021-08-04T16:28:25.000925 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
NOTE: nokogumbo: Utilizando Nokogiri::HTML5 proporcionado por Nokogiri. Consulta https://github.com/sparklemotion/nokogiri/issues/2205 para más información.
rake aborted!
NoMethodError: método `client_setting' no definido para #<Class:0x0000560ce241d530>
¿Quizás querías decir?  client_settings
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:299:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:360:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:526:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tasks: TOP => db:migrate => db:load_config => environment

Parece una migración de base de datos nuevamente, ¿verdad?

(Ve el rastreo completo ejecutando la tarea con --trace)
I, [2021-08-04T16:28:27.237146 #1]  INFO -- : 
I, [2021-08-04T16:28:27.237451 #1]  INFO -- : Terminando procesos asíncronos
I, [2021-08-04T16:28:27.237485 #1]  INFO -- : Enviando INT a 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: 57
I, [2021-08-04T16:28:27.237508 #1]  INFO -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 174
2021-08-04 16:28:27.237 UTC [57] LOG:  recibido solicitud de apagado rápido
174:signal-handler (1628094507) SIGTERM recibido, programando apagado...
2021-08-04 16:28:27.238 UTC [57] LOG:  abortando cualquier transacción activa
2021-08-04 16:28:27.240 UTC [57] LOG:  trabajador en segundo plano "lanzador de replicación lógica" (PID 66) salió con código de salida 1
2021-08-04 16:28:27.241 UTC [61] LOG:  apagando
174:M 04 Aug 2021 16:28:27.263 # El usuario solicitó el apagado...
174:M 04 Aug 2021 16:28:27.263 * Guardando la instantánea RDB final antes de salir.
174:M 04 Aug 2021 16:28:27.306 * DB guardado en disco
174:M 04 Aug 2021 16:28:27.306 # Redis está listo para salir, adiós...
2021-08-04 16:28:27.311 UTC [57] LOG:  el sistema de base de datos se ha apagado


FALLÓ
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' falló con el retorno #<Process::Status: pid 3928 exit 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
ejecución fallida con los parámetros {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
094fab4de06ec9e94ef5e3be53e68870df6add7eb7991dfe037198cf52de764f
** FALLO AL INICIALIZAR ** por favor, desplázate hacia arriba y busca mensajes de error anteriores, puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.

En los días de Discourse doc estamos bien. Pero no puedo compilar.

¡Agradecería cualquier ayuda!

Saludos cordiales,
Marius

¿Puedes pegar unas líneas adicionales antes de ese rastreo?

Claro.

1:  rails_multisite (3.0.0) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rails_multisite-3.0.0.gemspec
Usando discourse-ember-rails 0.18.6
1:  discourse-ember-rails (0.18.6) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/discourse-ember-rails-0.18.6.gemspec
3:  nio4r (2.5.8) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/nio4r-2.5.8.gemspec
Obteniendo puma 5.4.0
Instalando puma 5.4.0 con extensiones nativas
Construyendo extensiones nativas. Esto podría tardar un momento...
1:  puma (5.4.0) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/puma-5.4.0.gemspec
0:  oj (3.12.3) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/oj-3.12.3.gemspec
2:  ffi (1.15.3) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/ffi-1.15.3.gemspec
Usando mini_suffix 0.3.2
3:  mini_suffix (0.3.2) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/mini_suffix-0.3.2.gemspec
Usando rbtrace 0.4.14
3:  rbtrace (0.4.14) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/rbtrace-0.4.14.gemspec
Usando sassc 2.0.1
3:  sassc (2.0.1) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-2.0.1.gemspec
Usando sassc-rails 2.1.2
2:  sassc-rails (2.1.2) desde /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/sassc-rails-2.1.2.gemspec
¡Bundle completo! 126 dependencias del Gemfile, 172 gems ahora instaladas.
Las gems en los grupos 'test' y 'development' no se instalaron.
Las gems del bundle están instaladas en `./vendor/bundle`
Mensaje post-instalación de rubyzip:
¡RubyZip 3.0 está llegando!
**********************

La API pública de algunas clases de Rubyzip ha sido modernizada para usar parámetros con nombre para argumentos opcionales. Por favor, revisa el uso de las siguientes clases:
  * `Zip::File`
  * `Zip::Entry`
  * `Zip::InputStream`
  * `Zip::OutputStream`

Asegúrate de que tus Gemfiles y .gemspecs sean suficientemente restrictivos para evitar una ruptura inesperada cuando se lance 3.0 (por ejemplo, ~> 2.3.0).
Consulta https://github.com/rubyzip/rubyzip para más detalles. El Changelog también
enumera otras mejoras y correcciones de errores que se han implementado desde
la versión 2.3.0.

I, [2021-08-04T17:23:05.372537 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake plugin:pull_compatible_all'
NOTA: nokogumbo: Se está usando Nokogiri::HTML5 proporcionado por Nokogiri. Consulta https://github.com/sparklemotion/nokogiri/issues/2205 para más información.


I, [2021-08-04T17:23:07.700176 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
NOTA: nokogumbo: Se está usando Nokogiri::HTML5 proporcionado por Nokogiri. Consulta https://github.com/sparklemotion/nokogiri/issues/2205 para más información.
rake aborted!
NoMethodError: método `client_setting' no definido para #<Class:0x000055fa73b18780>
¿Quizás querías decir?  client_settings
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.3.2/lib/active_record/dynamic_matchers.rb:22:in `method_missing'
/var/www/discourse/plugins/discourse-tagging/plugin.rb:13:in `block in activate!'
/var/www/discourse/lib/plugin/instance.rb:447:in `block in notify_after_initialize'
/var/www/discourse/lib/plugin/instance.rb:445:in `each'
/var/www/discourse/lib/plugin/instance.rb:445:in `notify_after_initialize'
/var/www/discourse/config/application.rb:351:in `each'
/var/www/discourse/config/application.rb:351:in `block (2 levels) in <class:Application>'
/var/www/discourse/lib/plugin_initialization_guard.rb:5:in `plugin_initialization_guard'
/var/www/discourse/config/application.rb:350:in `block in <class:Application>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:68:in `block in execute_hook'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:61:in `with_execution_control'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:66:in `execute_hook'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:52:in `block in run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:51:in `each'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/lazy_load_hooks.rb:51:in `run_load_hooks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application/finisher.rb:140:in `block in <module:Finisher>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:384:in `initialize!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/railtie.rb:207:in `public_send'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/railtie.rb:207:in `method_missing'
/var/www/discourse/config/environment.rb:7:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.7.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.4.2/lib/zeitwerk/kernel.rb:34:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `block in require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:299:in `load_dependency'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activesupport-6.1.3.2/lib/active_support/dependencies.rb:332:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:360:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-6.1.3.2/lib/rails/application.rb:526:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tareas: TOP => db:migrate => db:load_config => environment
(Consulta el rastreo completo ejecutando la tarea con --trace)
I, [2021-08-04T17:23:11.177809 #1]  INFO -- : 
I, [2021-08-04T17:23:11.178039 #1]  INFO -- : Terminando procesos asíncronos
I, [2021-08-04T17:23:11.178063 #1]  INFO -- : Enviando INT a 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: 55
I, [2021-08-04T17:23:11.178098 #1]  INFO -- : Enviando TERM a exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 172
172:signal-handler (1628097791) Recibido SIGTERM programando apagado...
2021-08-04 17:23:11.178 UTC [55] LOG:  recibido solicitud de apagado rápido
2021-08-04 17:23:11.179 UTC [55] LOG:  abortando cualquier transacción activa
2021-08-04 17:23:11.180 UTC [55] LOG:  trabajador en segundo plano "lanzador de replicación lógica" (PID 64) salió con código de salida 1
2021-08-04 17:23:11.181 UTC [59] LOG:  apagando
2021-08-04 17:23:11.251 UTC [55] LOG:  el sistema de base de datos está apagado
172:M 04 Aug 2021 17:23:11.264 # El usuario solicitó apagado...
172:M 04 Aug 2021 17:23:11.264 * Guardando la instantánea RDB final antes de salir.
172:M 04 Aug 2021 17:23:11.300 * DB guardado en disco
172:M 04 Aug 2021 17:23:11.300 # Redis ahora está listo para salir, adiós...


FALLÓ
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' falló con retorno #<Process::Status: pid 4010 exit 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
ejecución fallida con los parámetros {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
9a5092784c9c0a57bcd02f5750638b9f565840ca4c6afa3346860ff01ac3ab5d
** FALLO AL INICIALIZAR ** por favor, desliza hacia arriba y busca mensajes de error anteriores, podría haber más de uno.
./discourse-doctor podría ayudar a diagnosticar el problema.

Este plugin fue descontinuado en 2016 :scream:. Por favor, elimínalo del archivo app.yml y vuelve a compilar.

Ohhh :innocent:

Problema resuelto. Eso estaba en la sección de “no tocar” :slight_smile: