bartv
(Bart )
12월 13, 2019, 8:21오후
1
안녕하세요,
오늘早些에 생성된 사용자의 프로필에 접근할 수 없는 이유를 파악하려고 합니다. 로그를 확인해 보니 다음과 같은 내용이 표시됩니다:
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)도 표시되지 않습니다. 이것이 발생하는 이유나 다음에 어디를 확인해야 할지 아이디어가 있을까요?
가입 직후 일부 신규 사용자는 사용자 디렉터리 에 표시되지 않는 문제가 있었습니다. 하지만 일일 루틴이 실행된 후에는 사용자 디렉터리 에 정상적으로 표시되어 해당 사용자들의 안도감을 샀습니다. 그럼에도 불구하고, 대시보드의 사용자 목록과 리포트 로그 외에도 관리자가 이들을 확인할 수 있는 여러 위치가 있어야 합니다. 결론적으로, 몇 시간 내에 사용자 카드 포함하여 모두 표시되어야 합니다.
기타 제안도 환영합니다.
bartv
(Bart )
12월 13, 2019, 9:08오후
3
그렇지 않은 것 같아요 - 다른 신규 사용자의 프로필 페이지는 정상적으로 접근할 수 있거든요. 디렉토리에 아직 표시되지 않는 건 문제가 되지 않아요. 24시간 안에 표시될 거라고 생각하거든요?
이 계정에서 무언가 고장 난 것 같은데, 도대체 뭐가 문제인지 이해가 안 돼요..
네, 그래서 새로운 사용자 몇 명이 있고, 그중 이 특정 사용자를 제외하면 모두 표시되나요?
bartv
(Bart )
12월 13, 2019, 9:30오후
5
사용자 디렉터리와는 관련이 없습니다. 이 사용자는 게시물을 올리고 사이트를 사용할 수 있으며, 위에 게시한 링크를 확인해 보세요. 그의 아바타를 클릭하면 사용자 카드가 표시되지 않습니다. 또한 관리자에서 그를 검색한 후 사용자 프로필을 표시하려고 하면 404 오류 페이지가 나타납니다. 다른 사용자에게는 이런 문제가 발생하지 않습니다.
이 사용자의 사용자 이름에 마침표가 있는 것(blender.blender)을 확인했습니다. 이 특수 문자가 문제를 일으키고 있는 것은 아닌지 궁금합니다.
bartv
(Bart )
12월 13, 2019, 9:44오후
7
조금 더 자세히 살펴보니, 나도 같은 의문이 듭니다. '%blender%bender’로 사용자명을 검색하면 다음과 같은 목록이 나옵니다. ‘.’ 기호가 내부적으로 제대로 처리되지 않는 것 같다는 의심이 듭니다. 이 사용자는 오늘 두 개의 계정을 생성했습니다:
더 과거로 거슬러 올라가 보면, (매우) 오래된 계정인 'blenderbender’도 보입니다. 이 계정은 vBulletin에서 가져온 것입니다.
내 인스턴스에서 고유 사용자명 확인 로직에 뭔가 문제가 있는 것 같은 느낌이 떠나지 않지만, 무엇이 문제인지 상상조차 되지 않네요 :-/
bartv
(Bart )
12월 13, 2019, 9:53오후
8
기존 계정을 비활성화해서 이 문제를 해결했습니다. 그 후 이름을 변경하여 중복된 사용자 이름 문제를 해결할 수 있었습니다.
bartv
(Bart )
12월 13, 2019, 9:56오후
10
업데이트 - 아니요, 안 됐어요 ‘blenderbender’ 계정 두 개의 중복 문제를 수정했지만, ‘blender.bender’ 프로필은 여전히 볼 수 없어요. 오늘은 여기서 포기합니다. 와인 한 잔 할 시간이에요
네, 비슷한 사용자 이름 때문에 충돌이 발생하는 문제에 대한 보고를 이전에 본 기억이 나네요… @eviltrout 참고
bartv
(Bart )
12월 17, 2019, 1:49오후
14
결국 users 테이블의 인덱스가 손상된 것이 원인이었습니다. 수동으로 여러 레코드를 수정했는데(그 자체로 흥미로운 작업이었죠 ;-)), 그 후 인덱스를 재구축할 수 있었습니다. 같은 문제가 다시 발생하지 않도록 계속 주의를 기울이겠습니다.