Я только что выполнил еженедельное обновление нашего сайта на Discourse и обнаружил, что вместо обычных 1–2 минут на этот раз потребовалось около 20 минут. Кроме того, на этапе $ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate прогресс-обновления временно прервались из-за ошибок тайм-аута в консоли Chrome (скриншот ниже).
На сервере я видел, что какая-то активность происходила (нагрузка на postmaster и иногда на ruby), и в итоге обновления прогресса восстановились, но в целом кажется, что с текущими миграциями может быть проблема.
Судя по логам обновления, миграция, вызвавшая длительное выполнение, — это DropTrgmIndexesOnUsers. Соответствующую часть лога я привёл непосредственно в этом сообщении ниже (полный лог прикреплён в виде текстового файла на случай, если он понадобится для дальнейшего анализа).
********************************************************
*** Пожалуйста, будьте терпеливы, следующие шаги могут занять время ***
********************************************************
...
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
discourse-bbcode уже находится в последней совместимой версии
discourse-data-explorer уже находится в последней совместимой версии
docker_manager уже находится в последней совместимой версии
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
Мульти-сайтовый мигратор запущен с использованием 1 потока
Миграция default
== 20240912061702 DropUserSearchSimilarResultsSiteSetting: начало миграции ==========
-- execute("DELETE FROM site_settings WHERE name = 'user_search_similar_results';\n")
-> 0.0006s
== 20240912061702 DropUserSearchSimilarResultsSiteSetting: завершена (0.0015s) =
== 20240912061806 DropTrgmIndexesOnUsers: начало миграции ===========================
-- execute("DROP INDEX IF EXISTS index_users_on_username_lower_trgm;\nDROP INDEX IF EXISTS index_users_on_name_trgm;\n")
-> 1290.7163s
== 20240912061806 DropTrgmIndexesOnUsers: завершена (1290.7169s) ===============
== 20240912212253 IncreaseExternalAvatarUrlLimitTo2000: начало миграции =============
-- change_column(:single_sign_on_records, :external_avatar_url, :string, {:limit=>2000})
-> 0.0011s
== 20240912212253 IncreaseExternalAvatarUrlLimitTo2000: завершена (0.0017s) ====
Посев default
*** Сборка ассетов. Это займёт некоторое время ***
$ bundle exec rake themes:update assets:precompile
Сборка
Окружение: production
сборка...
...
Полный лог: upgrade-log-2024-09-15.txt (124.7 КБ)
