amotl
(Andreas Motl)
1
你好,
我们观察到 Discourse 的搜索功能偶尔会出现问题。
观察结果
在过去几周里,我们在 https://community.hiveeyes.org/ 进行搜索时,偶尔会收到“500 内部服务器错误”响应。虽然这听起来有点滑稽,但我们认为这实际上与搜索短语有关。
问题仅出现在使用汉堡菜单旁边的即时搜索时。如果先导航到搜索页面 /search,再从那里发起搜索,则一切正常。
现在,由于其他人也向我们指出了我们平台上的这个问题,我们终于决定开始详细调查。
亲自验证
幸运的是,我们刚刚在 Meta 上成功复现了该问题。因此,当搜索“search returns 500”时,我们能够确定性地触发该错误。即使未登录系统,也会出现此问题。
响应内容如下:
搜索短语是罪魁祸首——真的吗?
感觉确实如此。以相同方式搜索“search croaks 500”则不会触发该问题。
总结
我们觉得这件事既奇怪又有趣,因此想与你们分享我们的观察结果。虽然我们并未受到严重影响,但如果您有时间,我相信您也会愿意调查一下。
感谢您的聆听,此致
Andreas。
附:在 Meta 上搜索该问题时触发此错误,甚至更加有趣,因为我相信我们所有人仍然热爱递归。
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 个赞