新規ユーザーのプロフィールにアクセスできません

こんにちは、

本日作成されたユーザーのプロフィールにアクセスできない理由を理解しようとしています。ログを確認すると、以下が表示されます:

Started GET "/u/blender.bender/" for xx.xx.xx.xx at 2019-12-13 20:15:18 +0000
Processing by UsersController#show as HTML
  Parameters: {"username"=>"blender.bender"}
  Rendering exceptions/not_found.html.erb within layouts/no_ember
  Rendered exceptions/not_found.html.erb within layouts/no_ember (Duration: 0.3ms | Allocations: 120)
  Rendered layouts/_head.html.erb (Duration: 1.5ms | Allocations: 790)
  Rendered common/_discourse_stylesheet.html.erb (Duration: 0.9ms | Allocations: 470)
  Rendered application/_header.html.erb (Duration: 0.2ms | Allocations: 91)
  Rendering html template
  Rendered html template (Duration: 0.0ms | Allocations: 2)
Completed 404 Not Found in 155ms (Views: 0.2ms | ActiveRecord: 0.0ms | Allocations: 58360)

本日早々に再構築を行い、セーフモードでも同様の結果を確認しました。また、Data Explorer でそのユーザーを検索しましたが、一見すると問題はないようです。

彼が表示されているトピックはこちらです:Looking for someone to animate a drawbridge - Paid Work - Blender Artists Community

この問題により、彼のユーザーカードも表示されません。なぜこのようなことが起こるのか、次にどこを確認すべきかご存知でしょうか?

新しいユーザーが初回参加後にユーザーディレクトリに表示されないという問題が発生していました。しかし、いくつかの日常タスクが実行された後、ユーザーディレクトリに表示されるようになり、関係するユーザーは安堵しました。それでも、ダッシュボードのユーザーリストやレポートログ以外に、管理者がユーザーを確認できる場所がいくつかあるはずです。全体的に見て、数時間以内にユーザーカードを含めて表示されるはずです。
他のご提案も歓迎します。:slightly_smiling_face:

それは違うと思います。他の新規ユーザーのプロフィールページには問題なくアクセスできます。ディレクトリに表示されていないことは問題ではありません。24時間以内に表示されるはずです。

このアカウントのどこかが壊れているようですが、何が原因なのか理解できません。

はい、複数の新規ユーザーが登録されたようですが、特定の一人だけが表示されないということでしょうか?

ユーザーディレクトリとは関係ありません。このユーザーは投稿もサイト利用も可能です。上記リンクをご確認ください。アバターをクリックすると、ユーザーカードが表示されません。また、管理者画面で検索してユーザープロフィールを表示しようとすると、404 エラーページが表示されます。他のユーザーではこの問題は発生しません。

このユーザー名にドット(blender.blender)が含まれていることに気づきました。その特殊文字が何か問題を引き起こしているのでしょうか。

もう少し深く見てみると、私も同じことを思います。「%blender%bender」というユーザー名で検索すると、以下のリストが表示されます。内部的に「.」記号が正しく処理されていないのではないかと疑っています。このユーザーは本日、以下の2つのアカウントを作成しました:

さらに過去にさかのぼると、非常に古い「blenderbender」というアカウントも存在します。これはvBulletinからインポートされたものです。

私のインスタンスにおけるユニークなユーザー名のチェックに何か問題があるような気がしてなりません。しかし、何が原因なのか想像もつきません :-/

古いアカウントを無効化することで、この問題を解決できました。その後、名前を変更して重複するユーザー名を解消することができました。

解決されたとのことで、嬉しいです。

更新 - いいえ、やっていませんでした :facepalm: 2 つの ‘blenderbender’ アカウントの重複問題は修正しましたが、‘blender.bender’ のプロフィールはまだ表示できません。今夜はこれで諦めます、ワインでも飲みましょう :wine_glass:

はい、以前もこれと非常に似たユーザー名が何らかの競合を引き起こしたという報告を見た記憶があります… cc @eviltrout

これは、users テーブルのインデックス破損に起因するものでした。いくつかのレコードを手動で修正した後(それ自体が興味深い作業でした ;-))、インデックスを再構築することができました。再発しないよう、引き続き監視していきます。