amotl
(Andreas Motl)
1
안녕하세요,
Discourse의 검색 기능에서 간헐적인 문제를 겪고 있습니다.
관찰 사항
최근 몇 주 동안 https://community.hiveeyes.org/ 에서 검색할 때 간헐적으로 “500 Internal Server Error” 응답이 발생했습니다. 이는 유머러스하게 들릴 수 있지만, 실제로는 검색어에 따라 달라진다고 생각합니다.
이 문제는 햄버거 메뉴 근처의 즉석(ad hoc) 검색을 사용할 때만 발생합니다. 먼저 검색 페이지 /search로 이동한 후 그곳에서 검색을 실행하면 모든 것이 정상적으로 작동합니다.
이제 다른 사용자들도 우리 플랫폼에서 이 문제를 지적해 주셨기 때문에, 마침내 이 문제를 자세히 조사하기로 결정했습니다.
직접 확인해 보세요
다행히도 Meta에서 이를 재현할 수 있었습니다. 즉, "search returns 500"을 검색하면 해당 오류를 결정적으로 유발할 수 있었습니다. 시스템에 로그인하지 않은 상태에서도 발생했습니다.
응답은 다음과 같습니다:
검색어가 문제의 원인이라고? 진심으로?
그렇게 느껴집니다. 동일한 방식으로 "search croaks 500"을 검색하면 해당 문제가 발생하지 않습니다.
결론
이 문제는 기이하면서도 재미있다고 생각하여, 관찰 내용을 공유하고자 합니다. 우리가 크게 고통받고 있지는 않지만, 시간이 허락하신다면 이 문제를 조사해 주실 것이라고 생각합니다.
귀 기울여 주셔서 감사합니다. 그리고 정중히 인사드립니다.
Andreas.
P.S.: Meta에서 해당 이슈를 검색하다가 오류를 유발하는 것이 더욱 재미있는 이유는, 우리가 모두 여전히 재귀(recursion)를 사랑하고 있다고 믿기 때문입니다.
3개의 좋아요
david
(David Taylor)
2
음, 그렇네요. 로그에서 발생하는 오류입니다
URI::InvalidURIError (bad URI(is not URI?): "http:error]")
/usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb:67:in `split'
/usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb:67:in `split'
/usr/local/lib/ruby/2.6.0/uri/rfc3986_parser.rb:73:in `parse'
/usr/local/lib/ruby/2.6.0/uri/common.rb:234:in `parse'
/usr/local/lib/ruby/2.6.0/uri/common.rb:737:in `URI'
/var/www/discourse/lib/search/grouped_search_results.rb:83:in `block in blurb_for'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each_key'
/usr/local/lib/ruby/2.6.0/set.rb:338:in `each'
/var/www/discourse/lib/search/grouped_search_results.rb:82:in `blurb_for'
/var/www/discourse/lib/search/grouped_search_results.rb:60:in `blurb'
/var/www/discourse/app/serializers/search_post_serializer.rb:9:in `blurb'
리포트해 주셔서 감사합니다 @amotl
5개의 좋아요
pmusaraj
(Penar Musaraj)
9
6개의 좋아요
amotl
(Andreas Motl)
10
david님, pmusaraj님,
확인부터 실제 수정까지 신속하게 처리해 주셔서 감사합니다. 해당 수정 사항의 적용을 기대하고 있습니다. 혹시 2.4.0.beta7에 포함될 예정인가요?
감사합니다.
Andreas 드림.
2개의 좋아요
pmusaraj
(Penar Musaraj)
에 닫힘
12
이 주제는 5일 후 자동으로 닫혔습니다. 더 이상 답변이 허용되지 않습니다.