こんにちは、
再発する 500 Internal Server Error のデバッグを試みています。
まず環境設定についてお伝えします(Docker を使った推奨されたデプロイ方法ではないことは承知しています):
- discourse 2.3.8
- ruby 2.7.2 (snap 使用)
- redis-server 5:4.0.9-1ubuntu0.2 (Ubuntu パッケージ)
- postgresql 10.10 (別ホスト上)
config/environments/production.rb ファイルを編集して以下を設定しました。
config.log_level = :debug
200 ステータスと混在して発生するエラーのサンプルは以下のリンクにあります(投稿でリンクを 2 つしか貼れないため、残りのログもこちらにまとめています):Ubuntu Pastebin
特定の種類のリクエストが 500 エラーを引き起こしているか確認しようとしましたが、上記の過去ログにもある通り、何らかのパターンが存在するようです。
現時点では、これ以上デバッグする方法が見つかりません。
これはバグであるとは確信できず、残念ながら再現方法もわかりません。これらのエラーは 200 ステータスの合間に一日中ランダムに発生します。ロックや競合の問題かもしれませんが、より詳細なログがない限り、問題の所在を特定することはできません。
もしこれが原因である場合のために、現在プロセスで使われている制限値を以下に示します:Ubuntu Pastebin
これ以上デバッグするためのアドバイスがあれば、大変助かります。
よろしくお願いいたします。