先週、Discourseサイトのアップデートを行ったところ、通常1〜2分で完了するはずの作業に今回は約20分かかりました。また、Chromeコンソールでタイムアウトエラーが発生し、$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate のステップで進捗アップデートが一時的に失敗しました(スクリーンショットは下記参照)。
サーバー上では何かが進行している様子(postmasterへの負荷、時折rubyへの負荷)が見られ、最終的には進捗アップデートも回復しましたが、現在のマイグレーションに問題がある可能性があります。
アップデートログを見ると、実行に時間がかかったマイグレーションは DropTrgmIndexesOnUsers のようです。ログの該当部分は、分析の必要があればテキストファイルとして添付する予定ですが、ここではこの投稿に直接含めます。
********************************************************
*** Please be patient, next steps might take a while ***
********************************************************
...
$ LOAD_PLUGINS=0 bundle exec rake plugin:pull_compatible_all
discourse-bbcode is already at latest compatible version
discourse-data-explorer is already at latest compatible version
docker_manager is already at latest compatible version
$ SKIP_POST_DEPLOYMENT_MIGRATIONS=1 bundle exec rake multisite:migrate
Multisite migrator is running using 1 threads
Migrating default
== 20240912061702 DropUserSearchSimilarResultsSiteSetting: migrating ==========
-- execute("DELETE FROM site_settings WHERE name = 'user_search_similar_results';\n")
-> 0.0006s
== 20240912061702 DropUserSearchSimilarResultsSiteSetting: migrated (0.0015s) =
== 20240912061806 DropTrgmIndexesOnUsers: migrating ===========================
-- 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: migrated (1290.7169s) ===============
== 20240912212253 IncreaseExternalAvatarUrlLimitTo2000: migrating =============
-- change_column(:single_sign_on_records, :external_avatar_url, :string, {:limit=>2000})
-> 0.0011s
== 20240912212253 IncreaseExternalAvatarUrlLimitTo2000: migrated (0.0017s) ====
Seeding default
*** Bundling assets. This will take a while ***
$ bundle exec rake themes:update assets:precompile
Building
Environment: production
building...
...
Full log: upgrade-log-2024-09-15.txt (124.7 KB)
