신규 사용자 프로필에 접근할 수 없음

안녕하세요,

오늘早些에 생성된 사용자의 프로필에 접근할 수 없는 이유를 파악하려고 합니다. 로그를 확인해 보니 다음과 같은 내용이 표시됩니다:

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)

오늘早些에 재빌드(rebuild)를 수행했고, safe-mode에서 테스트를 해보았으나 동일한 결과가 나타났습니다. 또한 Data Explorer에서 해당 사용자를 조회해 보았는데, 처음 살펴본 결과 모든 것이 정상으로 보입니다.

다음은 해당 사용자를 볼 수 있는 토픽입니다: Looking for someone to animate a drawbridge - Paid Work - Blender Artists Community

이 문제로 인해 해당 사용자의 사용자 카드(user card)도 표시되지 않습니다. 이것이 발생하는 이유나 다음에 어디를 확인해야 할지 아이디어가 있을까요?

가입 직후 일부 신규 사용자는 사용자 디렉터리에 표시되지 않는 문제가 있었습니다. 하지만 일일 루틴이 실행된 후에는 사용자 디렉터리에 정상적으로 표시되어 해당 사용자들의 안도감을 샀습니다. 그럼에도 불구하고, 대시보드의 사용자 목록과 리포트 로그 외에도 관리자가 이들을 확인할 수 있는 여러 위치가 있어야 합니다. 결론적으로, 몇 시간 내에 사용자 카드 포함하여 모두 표시되어야 합니다.

기타 제안도 환영합니다. :slightly_smiling_face:

그렇지 않은 것 같아요 - 다른 신규 사용자의 프로필 페이지는 정상적으로 접근할 수 있거든요. 디렉토리에 아직 표시되지 않는 건 문제가 되지 않아요. 24시간 안에 표시될 거라고 생각하거든요?

이 계정에서 무언가 고장 난 것 같은데, 도대체 뭐가 문제인지 이해가 안 돼요..

네, 그래서 새로운 사용자 몇 명이 있고, 그중 이 특정 사용자를 제외하면 모두 표시되나요?

사용자 디렉터리와는 관련이 없습니다. 이 사용자는 게시물을 올리고 사이트를 사용할 수 있으며, 위에 게시한 링크를 확인해 보세요. 그의 아바타를 클릭하면 사용자 카드가 표시되지 않습니다. 또한 관리자에서 그를 검색한 후 사용자 프로필을 표시하려고 하면 404 오류 페이지가 나타납니다. 다른 사용자에게는 이런 문제가 발생하지 않습니다.

이 사용자의 사용자 이름에 마침표가 있는 것(blender.blender)을 확인했습니다. 이 특수 문자가 문제를 일으키고 있는 것은 아닌지 궁금합니다.

조금 더 자세히 살펴보니, 나도 같은 의문이 듭니다. '%blender%bender’로 사용자명을 검색하면 다음과 같은 목록이 나옵니다. ‘.’ 기호가 내부적으로 제대로 처리되지 않는 것 같다는 의심이 듭니다. 이 사용자는 오늘 두 개의 계정을 생성했습니다:

더 과거로 거슬러 올라가 보면, (매우) 오래된 계정인 'blenderbender’도 보입니다. 이 계정은 vBulletin에서 가져온 것입니다.

내 인스턴스에서 고유 사용자명 확인 로직에 뭔가 문제가 있는 것 같은 느낌이 떠나지 않지만, 무엇이 문제인지 상상조차 되지 않네요 :-/

기존 계정을 비활성화해서 이 문제를 해결했습니다. 그 후 이름을 변경하여 중복된 사용자 이름 문제를 해결할 수 있었습니다.

해결되었다니 다행입니다.

업데이트 - 아니요, 안 됐어요 :facepalm: ‘blenderbender’ 계정 두 개의 중복 문제를 수정했지만, ‘blender.bender’ 프로필은 여전히 볼 수 없어요. 오늘은 여기서 포기합니다. 와인 한 잔 할 시간이에요 :wine_glass:

네, 비슷한 사용자 이름 때문에 충돌이 발생하는 문제에 대한 보고를 이전에 본 기억이 나네요… @eviltrout 참고

결국 users 테이블의 인덱스가 손상된 것이 원인이었습니다. 수동으로 여러 레코드를 수정했는데(그 자체로 흥미로운 작업이었죠 ;-)), 그 후 인덱스를 재구축할 수 있었습니다. 같은 문제가 다시 발생하지 않도록 계속 주의를 기울이겠습니다.