Bootstrapコンテナがsu discourse -c 'bundle exec rake db:migrate'でハングします

現在、この最新のリリースを実行しています:

本番環境のコンテナでも問題なく動作しています。

このリリースを基にブートストラップを試みています:

今日は何度か試しましたが、毎回ここでフリーズしてしまいます:

Screen Shot 2021-02-11 at 5.32.24 PM

データ内のログとスタンバイアプリコンテナ(ブートストラップ中)を確認しましたが、エラーや問題は見つかりませんでした。

ブートストラップを毎回実行すると、この行でフリーズします:

I, [2021-02-11T10:37:25.133098 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'

デバッグのためにどこを確認すべきか、何か手がかりはありますか?

考えられるすべてのログ(すべてのコンテナ内)を確認しましたが、問題は見つかりませんでした。

よろしくお願いいたします。

追加情報:

毎回フリーズし、ブートストラッププロセスから Ctrl+C で抜け出すと、後で終了できる postmaster プロセスが残っているようです。

例:

更新:

web テンプレート内の「db:migrate」行をコメントアウトすると、ブートストラップは正常に再構築されます。

「rails db:migrate」がエラーなしでフリーズするという、これまで経験したことのない奇妙な問題が発生しています。

もしかすると、この最新のマイグレーションにエラー(または何らかの根本的な問題)があるのでしょうか?

関連項目:

@neounix さん、リンク先の移行に関する問題について認識しており、現在修正に取り組んでいます。

「いいね!」 2

@david さん、こんにちは

返信ありがとうございます!

今、移行処理を確認していたのですが、「Discourse のデータベース移行の専門家ではない」という私の最初の考えでは、これが問題なのかもしれませんか?

 add_index :dismissed_topic_users, %i(user_id topic_id), unique: true

とにかく、Discourse の移行問題についてさらに深く掘り下げる資格はないので、一旦引いて待機させていただきます。

再度、ありがとうございます!

[s>Migrationを安全に中断して、データ損失なしで数コミック前に戻すことはできますか?[/s]

問題なく動作しました。

「いいね!」 1

@neounix さん、こんにちは。

コードベースに重く壊れたマイグレーションを含めてしまい、申し訳ありません。その変更は元に戻されましたので、新しいデプロイは問題なく動作するはずです:

「いいね!」 4

@kris.kotlarek さん、こんにちは

更新ありがとうございます。

「大規模なマイグレーション」については、コアにマージする前に、大規模なデータベースを備えたテスト環境で追加のレビューと厳格な開発テストが必要であると、私も同感です。幸いなことに、当サイトでは本番環境と並行してブートストラップを行うようにしているため、マイグレーションの失敗が発生してもダウンタイムは発生しませんでしたので、当方からは特に問題ありません。迅速にロールバックしていただき、ありがとうございます。

参考までに(技術的な正確さを期すため、申し訳ありませんが)、今すぐ再構築後にデータベースを確認したところ、「ロールバック」処理によってテーブルがデータベースから削除されていませんでした。大きな問題ではありませんが、念のため共有します。

discourse=> \d dismissed_topic_users

                                        Table "public.dismissed_topic_users"
   Column   |            Type             | Collation | Nullable |                      Default                      
------------+-----------------------------+-----------+----------+---------------------------------------------------
 id         | bigint                      |           | not null | nextval('dismissed_topic_users_id_seq'::regclass)
 user_id    | integer                     |           |          | 
 topic_id   | integer                     |           |          | 
 created_at | timestamp without time zone |           |          | 
Indexes:
    "dismissed_topic_users_pkey" PRIMARY KEY, btree (id)
    "index_dismissed_topic_users_on_user_id_and_topic_id" UNIQUE, btree (user_id, topic_id)

今回の件でのご尽力と、迅速なマイグレーションのロールバックに改めて感謝いたします。

「いいね!」 2

最新のコミットに基づくと、この移行は現在円滑に進行しています。

「いいね!」 4

このトピックは6日後に自動的に閉鎖されました。新しい返信は受け付けられません。