Trabalhador em segundo plano "logical replication launcher" (PID 51) saiu com código de saída 1

A reconstrução do contêiner de dados em uma configuração multissite está resultando no erro background worker \"logical replication launcher\" (PID 51) exited with exit code 1. Mais logs abaixo

218:C 11 Sep 2022 13:22:51.288 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
218:C 11 Sep 2022 13:22:51.289 # Redis version=6.2.6, bits=64, commit=00000000, modified=0, pid=218, just started
218:C 11 Sep 2022 13:22:51.289 # Configuration loaded
218:M 11 Sep 2022 13:22:51.292 * monotonic clock: POSIX clock_gettime
218:M 11 Sep 2022 13:22:51.293 * Running mode=standalone, port=6379.
218:M 11 Sep 2022 13:22:51.293 # Server initialized
218:M 11 Sep 2022 13:22:51.294 * Loading RDB produced by version 6.2.6
218:M 11 Sep 2022 13:22:51.294 * RDB age 53 seconds
218:M 11 Sep 2022 13:22:51.294 * RDB memory usage when created 32.70 Mb
218:M 11 Sep 2022 13:22:51.429 # Done loading RDB, keys loaded: 7811, keys expired: 0.
218:M 11 Sep 2022 13:22:51.429 * DB loaded from disk: 0.135 seconds
218:M 11 Sep 2022 13:22:51.429 * Ready to accept connections
I, [2022-09-11T13:23:01.284321 #1]  INFO -- :
I, [2022-09-11T13:23:01.284632 #1]  INFO -- : Terminating async processes
I, [2022-09-11T13:23:01.284702 #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-09-11T13:23:01.284791 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 218
218:signal-handler (1662902581) Received SIGTERM scheduling shutdown...
2022-09-11 13:23:01.287 UTC [42] LOG:  received fast shutdown request
2022-09-11 13:23:01.306 UTC [42] LOG:  aborting any active transactions
2022-09-11 13:23:01.318 UTC [42] LOG:  background worker "logical replication launcher" (PID 51) exited with exit code 1
218:M 11 Sep 2022 13:23:01.345 # User requested shutdown...
218:M 11 Sep 2022 13:23:01.345 * Saving the final RDB snapshot before exiting.
2022-09-11 13:23:01.356 UTC [46] LOG:  shutting down
218:M 11 Sep 2022 13:23:02.113 * DB saved on disk
218:M 11 Sep 2022 13:23:02.114 # Redis is now ready to exit, bye bye...
2022-09-11 13:23:02.169 UTC [42] LOG:  database system is shut down
sha256:30b91243b63ec58aa8555df5d1dfac509abe121e5c8d7081dbab2f2278d7d837
11e8bce45c8d0d7020de971c08d49d26287cc513967230530c8ba925a3c058bb
Removing old container

Mas sua compilação parece ter sido concluída sem erros. Você está tendo algum erro ao iniciar o contêiner de dados?

Não com o contêiner de dados, mas com o contêiner da web ao reconstruir

/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tarefas: TOP => multisite:migrate => db:load_config => environment
(Veja o rastreamento completo executando a tarefa com --trace)
I, [2022-09-11T13:30:49.381804 #1]  INFO -- : gem install iso8601 -v 0.13.0 -i /var/www/discourse/plugins/discourse-automation/gems/2.7.6 --no-document --ignore-dependencies --no-user-install
Successfully installed iso8601-0.13.0
1 gem installed
gem install rrule -v 0.4.4 -i /var/www/discourse/plugins/discourse-automation/gems/2.7.6 --no-document --ignore-dependencies --no-user-install
Successfully installed rrule-0.4.4
1 gem installed



FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate falhou com retorno #<Process::Status: pid 1095 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros "cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate"
bootstrap falhou com código de saída 1

Você está usando algum plugin de terceiros?

Usando vários plugins oficiais do Discourse. Mas o erro ainda está lá com todos os plugins desativados, exceto o Docker Manager.

O que você está apontando como erro parece uma mensagem normal para mim (para o contêiner de dados)

Acabei de reconstruir tanto os dados quanto a web em meu sandbox e eles foram concluídos com sucesso. Você pode compartilhar seu web_only.yml com informações confidenciais removidas?

Você pode comentar isso e tentar reconstruir? Acho que isso não é mais necessário.

Ainda o mesmo com EMBER_CLI_PROD_ASSETS: 1 comentado. A reconstrução do contêiner da web ainda está gerando o erro abaixo:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate falhou com retorno #<Process::Status: pid 983 exit 1>

Você precisa rolar para cima até onde a mensagem foi impressa sobre qual é o problema com a migração.

Mais linhas abaixo, o erro está relacionado a não encontrar a chave esperada ao analisar um mapeamento de bloco na linha 2, coluna 1, não tenho certeza do que se trata.

Usando cose 1.2.1
0:  cose (1.2.1) de /var/www/discourse/vendor/bundle/ruby/2.7.0/specifications/cose-1.2.1.gemspec
Bundle completo! 126 dependências do Gemfile, 183 gems agora instaladas.
Gems nos grupos 'test' e 'development' não foram instaladas.
Gems empacotados são instalados em ./vendor/bundle

I, [2022-09-11T14:12:48.956298 #1]  INFO -- : > cd /var/www/discourse & sudo -E -u discourse bundle exec rake multisite:migrate
rake aborted!
Psych::SyntaxError: (desconhecido): não encontrou a chave esperada ao analisar um mapeamento de bloco na linha 2 coluna 1
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:181:in `load_config!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:177:in `initialize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:38:in `new'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.1/lib/rails_multisite/connection_management.rb:38:in `config_filename='
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.1/lib/rails_multisite/railtie.rb:19:in `block in <class:Railtie>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.3.1/lib/rails/application.rb:372:in `initialize!'
/var/www/discourse/config/environment.rb:7:in `<main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.13.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/bootsnap-1.13.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/zeitwerk-2.6.0/lib/zeitwerk/kernel.rb:35:in `require'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.3.1/lib/rails/application.rb:348:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/railties-7.0.3.1/lib/rails/application.rb:511: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:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => multisite:migrate => db:load_config => environment
(Veja o rastreamento completo executando a tarefa com --trace)
I, [2022-09-11T14:12:53.236265 #1]  INFO -- :

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & sudo -E -u discourse bundle exec rake multisite:migrate falhou com retorno #<Process::Status: pid 983 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros "cd /var/www/discourse & sudo -E -u discourse bundle exec rake multisite:migrate"
bootstrap falhou com código de saída 1

Isso significa que seu app.yml contém um erro de formatação. Parece que vem da parte multisite.

1 curtida

O único plugin que vejo com sych::SyntaxError é o discourse-calendar. Você pode tentar removê-lo? E se isso resolver seu problema, então implica que há um bug com esse plugin.

Não estou usando o plugin de calendário.

Verifiquei contra o validador YML e não há erro.

Saída de erro atualizada abaixo

INFO -- : O migrador multisite está em execução usando 1 threads

Migrando padrão
Migrando site2
Populando padrão
Populando site2

FALHOU
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; sudo -E -u discourse bundle exec rake multisite:migrate falhou com retorno #&lt;Process::Status: pid 983 exit 1&gt;
Localização da falha: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec falhou com os parâmetros "cd /var/www/discourse &amp;&amp; sudo -E -u discourse bundle exec rake multisite:migrate"
bootstrap falhou com código de saída 1
** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.

Você pode exportar um log completo usando ./discourse-doctor?

Durante a compilação, haverá uma linha que diz 1 Migration Failed e abaixo dela estarão as informações sobre qual site está falhando. Você precisa descobrir o que há de errado com esse site para que a compilação realmente aconteça.

Mover para um tópico separado como bug confirmado Multisite build error: #<MiniRacer::RuntimeError: Error: Parser rule not found: fragments_join>