Не удалось обновить с 2.9.0.beta14 до 3.0.0.beta15

При поиске по запросу «upgrade failed» не удалось найти тем, где упоминалось бы обновление этой версии.

Я получил уведомление, и это простой экземпляр без какой-либо активности пользователей, кроме администраторов. Я использую эту установку для тестирования функций перед их развертыванием на рабочей среде.

При нажатии на кнопку обновления в панели администратора, а затем на «Начать обновление», была возвращена следующая ошибка:

********************************************************
*** Пожалуйста, подождите, следующие шаги могут занять время ***
********************************************************
Перезапуск Unicorn для освобождения памяти
Перезапуск процесса Unicorn с pid: 548
Ожидание перезагрузки Unicorn.
Ожидание перезагрузки Unicorn..
Ожидание перезагрузки Unicorn...
Ожидание перезагрузки Unicorn....
Ожидание перезагрузки Unicorn.....
Ожидание перезагрузки Unicorn......
Ожидание перезагрузки Unicorn.......
Ожидание перезагрузки Unicorn........
Ожидание перезагрузки Unicorn.........
Ожидание перезагрузки Unicorn..........
Ожидание перезагрузки Unicorn..........
Docker Manager: НЕ УДАЛОСЬ ОБНОВИТЬ
#<Redis::TimeoutError: Connection timed out>
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/connection/ruby.rb:58:in `block in _read_from_socket'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/connection/ruby.rb:54:in `loop'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/connection/ruby.rb:54:in `_read_from_socket'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/connection/ruby.rb:47:in `gets'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/connection/ruby.rb:382:in `read'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:311:in `block in read'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:299:in `io'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:310:in `read'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:161:in `block in call'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:279:in `block (2 levels) in process'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:420:in `ensure_connected'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:269:in `block in process'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:356:in `logging'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:268:in `process'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/client.rb:161:in `call'
/var/www/discourse/vendor/bundle/ruby/3.1.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.1.0/gems/redis-4.8.0/lib/redis.rb:270:in `block in send_command'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis.rb:269:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis.rb:269:in `send_command'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/commands/scripting.rb:110:in `_eval'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/redis-4.8.0/lib/redis/commands/scripting.rb:97:in `evalsha'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/message_bus-4.3.0/lib/message_bus/backends/redis.rb:463:in `cached_eval'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/message_bus-4.3.0/lib/message_bus/backends/redis.rb:150:in `publish'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/message_bus-4.3.0/lib/message_bus.rb:391:in `publish'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:161:in `publish'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:242:in `log'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:288:in `reload_unicorn'
/var/www/discourse/plugins/docker_manager/lib/docker_manager/upgrader.rb:49:in `upgrade'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:19:in `block in <main>'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `fork'
/var/www/discourse/plugins/docker_manager/scripts/docker_manager_upgrade.rb:6:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/commands/runner/runner_command.rb:43:in `load'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/commands/runner/runner_command.rb:43:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/command/base.rb:87:in `perform'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/command.rb:48:in `invoke'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/commands.rb:18:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:18:in `<main>'

Кстати, я успешно обновил два своих форума. Так что проблема, с которой вы столкнулись, не является универсальной.

Обычный совет при сбое обновления через браузер — выполнить обновление через командную строку.

Вот версия, на которую я перешёл:

Установлено
3.0.0.beta15
c2e18c41a3

Я уверен, что обновление CLI сработает, иначе на этом форуме к этому моменту уже завалили бы потоками тем :smiley:

Я просто решил сообщить и подождать, не понадобится ли кому-нибудь лог какого-либо рода, прежде чем переходить к обновлению через CLI.

Хранит ли сам Redis где-то лог? Он должен был работать в какой-то момент, но не ответил вовремя — завис, работает медленно или остановился?

Редактирование: ещё раз, для информации, я вижу, что у меня есть файл лога по адресу

/var/discourse/shared/standalone/log/var-log/redis/current

и он полностью состоит из повторяющихся записей, подобных этим:

47:M 03 Jan 2023 18:50:11.090 * 100 изменений за 300 секунд. Сохранение...
47:M 03 Jan 2023 18:50:11.091 * Фоновое сохранение запущено процессом с PID 31156
31156:C 03 Jan 2023 18:50:11.234 * База данных сохранена на диск
31156:C 03 Jan 2023 18:50:11.236 * RDB: 1 МБ памяти использовано механизмом copy-on-write
47:M 03 Jan 2023 18:50:11.293 * Фоновое сохранение завершено успешно
47:M 03 Jan 2023 18:52:05.937 * 10000 изменений за 60 секунд. Сохранение...
47:M 03 Jan 2023 18:52:05.940 * Фоновое сохранение запущено процессом с PID 31313
31313:C 03 Jan 2023 18:52:09.787 * База данных сохранена на диск
31313:C 03 Jan 2023 18:52:09.791 * RDB: 3 МБ памяти использовано механизмом copy-on-write
47:M 03 Jan 2023 18:52:09.809 * Фоновое сохранение завершено успешно
47:M 03 Jan 2023 18:53:29.246 * 10000 изменений за 60 секунд. Сохранение...
47:M 03 Jan 2023 18:53:29.248 * Фоновое сохранение запущено процессом с PID 31423
31423:C 03 Jan 2023 18:53:30.856 * База данных сохранена на диск
31423:C 03 Jan 2023 18:53:30.857 * RDB: 2 МБ памяти использовано механизмом copy-on-write
47:M 03 Jan 2023 18:53:30.958 * Фоновое сохранение завершено успешно
47:M 03 Jan 2023 18:58:31.042 * 100 изменений за 300 секунд. Сохранение...
47:M 03 Jan 2023 18:58:31.044 * Фоновое сохранение запущено процессом с PID 31753
31753:C 03 Jan 2023 18:58:31.212 * База данных сохранена на диск
31753:C 03 Jan 2023 18:58:31.213 * RDB: 1 МБ памяти использовано механизмом copy-on-write
47:M 03 Jan 2023 18:58:31.245 * Фоновое сохранение завершено успешно