502エラー - ブラウザウィンドウのリサイズが原因かも

今日、Metaで502エラーが発生しました。ポップアップ以外に予期せぬ動作は見られませんでした。何が原因かはよくわかりませんし、一貫して再現できるわけではありませんが、数回発生させることができました。

私がしたことは以下の通りです。

  1. サイドバーの「+」を使用して、以前やり取りしたことがあるが現在サイドバーにいない相手とのダイレクトメッセージ(DM)チャットを開きました。
  2. 全画面チャットボタンを使用しました。
  3. ブラウザウィンドウのサイズを小さく変更しました。
  4. ブラウザウィンドウを再度全画面にしました。
  5. 全画面チャットから小さなチャットウィンドウに切り替えました。
  6. 約7秒後、以下が表示されました。
    image

ブラウザコンソールには以下が表示されました。
image

これが私が把握しているすべてです。誰かがこれについて私よりもっと多くのことを理解してくれることを願っています。もし役立つなら、これを再現する方法を示すビデオを持っています。

「いいね!」 1

これはこの手順が原因でしょうか?このチャットフィルターで誰かを検索したときに発生する可能性はありますか?
image

「いいね!」 1

「L」と入力すると、約30秒後にエラーが発生するのを確認しました。

「いいね!」 2

チャットグループシリアライザでチャットが有効になっているユーザーの数を返すために使用されていたクエリが悪く、あなたのアカウントでは約30秒かかっており、これは当社のホスティングでのリクエストタイムアウト(そのため「ランダムに」発生していた理由)を引き起こしていました。

「いいね!」 3

うーん、マージされたようですね。ということは、エラーはもう発生しないはずですか?

私が根本原因を正しく特定できたのであれば、はい、そうです😅

まだ発生していますか?

はい、そうです、頻度は少ないかもしれませんが。奇妙なことに、数秒かかるとユーザーが表示されることもあれば、失敗することもあります。

:sad_but_relieved_face:

発生した際に、ネットワークタブと時間がかかっているリクエストを表示してもらえますか?

はぁ。まるで2クリックで済むかのように尋ねますね。

やってみます。

それが、時々数秒かかり、時々失敗するということの意味です。

image

了解しました、自己解決しました😅

最初の修正では問題の一部しか対処できていませんでした:man_facepalming: チャットフィルターでグループを検索する際に、別の非効率的なデータベースクエリが発生していました。検索語に一致するグループによっては、クエリの完了に非常に長い時間がかかることがあり、リクエストのタイムアウトを超えることもありました。

興味深いことに、これは「管理者」ではなく「一般」ユーザーにのみ影響したため、私自身では再現できなかったのです:thinking:

グループを検索すると、結果はアルファベット順に返されます。管理者はすべてのグループを見ることができるため、「L」の最初の10件の結果は「ai-personas」やその他の非公開グループのような「a」で始まる小さなグループでした。一般ユーザーは表示範囲が限られているため、結果には大規模な信頼レベルグループが含まれており:grimacing:、これがクエリが遅くなった原因でした。

一般ユーザーが表示するもの:

  • trust_level_0: 62,506 ユーザー
  • trust_level_1: 34,494 ユーザー
  • trust_level_2: 4,727 ユーザー
  • trust_level_3: 39 ユーザー
  • trust_level_4: 13 ユーザー
  • その他いくつかの小さなグループ

合計: ロードするユーザーは約102,000人です:collision:

管理者が表示するもの:

  • a*****: 4 ユーザー
  • a*****: 76 ユーザー
  • a*****: 0 ユーザー
  • a*****: 2 ユーザー
  • ai-personas: 138 ユーザー
  • その他

合計: ロードするユーザーは約240人です:relieved:

「いいね!」 1

「L」で検索すると、なぜそのグループが返されるのですか?

データを「匿名化」しようとして失敗し、例を思いついたところです :man_facepalming:

「いいね!」 1

グループの正式名称にLが含まれているので、それが理由なのか、それともランダムな例なのか確信が持てませんでした。