【问题标题】:solr update/json hangs semi-randomlysolr update/json 半随机挂起
【发布时间】:2015-01-23 05:09:02
【问题描述】:

我是一个完全的 solr 菜鸟,所以我可能在这里遗漏了重要信息。

Solr 版本:10.4.2 平台:Mac OS X

我正在尝试将大约 5000 个文档添加到空索引中。文档有 4 个字段:

  • id(字符串、索引、存储)
  • 标题(solr.TextField,已编入索引,未存储)
  • 关键字(solr.TextField、多值、索引、未存储)
  • 内容(solr.TextField,已编入索引,未存储)

我正在使用update/json 在紧密循环中以 100 个批次插入文档(为每个批次向 update/json 端点发出新的 HTTP 请求)。如果我添加,例如,每个请求之间有 100 毫秒的延迟,问题会变得更好。如果我延迟一整秒,它就会完全消失,但这显然慢得让人无法接受。

我通过为我的 HTTP 请求添加非常短的超时(1 秒)并实现一些重试逻辑来解决这个问题。它可以工作,但当然,当它重试时,我总是会遇到烦人的延迟。

我的流程经常挂起,等待 solr 在流程中的某个时间点做出响应。例如,如果我从一个新的核心开始并立即对其进行测试,则这些是我每次运行的结果:

  1. 挂第45批,solr admin显示3280个文档
  2. 挂第52批,solr admin显示3788个文档
  3. 第14批挂掉,solr admin显示3788个文档
  4. 第17批挂了,solr admin显示3788个文档
  5. 成功完成所有批次,solr admin 显示 4043 个文档

在任何这些运行期间,solr admin 中的日志均未显示任何输出。在失败或成功运行后的任何时候,我都可以查询索引并根据已添加的数据返回合理的结果。

update/json 请求处理程序是“隐式添加”的——它没有在我的 solrconfig.xml 中指定。

我尝试将我的锁定机制从原生切换到简单,而行为没有改变。

您能提供的任何帮助将不胜感激。我不知道从哪里开始。

附加信息:

1:它似乎永远挂起。 “挂起”是指 Solr 从不响应 HTTP 请求。如果我取消请求并再次发送,它通常会立即正常工作。我让它等待了大约 10 分钟的响应。

2:我的 solrconfig.xml 有这个:

<updateHandler class="solr.DirectUpdateHandler2">
   <updateLog>
      <str name="dir">${solr.ulog.dir:}</str>
   </updateLog>
   <autoCommit> 
      <maxTime>${solr.autoCommit.maxTime:15000}</maxTime> 
      <openSearcher>false</openSearcher> 
   </autoCommit>
   <autoSoftCommit> 
      <maxTime>${solr.autoSoftCommit.maxTime:-1}</maxTime> 
   </autoSoftCommit>
</updateHandler>

【问题讨论】:

    标签: solr


    【解决方案1】:

    您没有描述实际的“挂起”。它是挂了一段时间还是永久?这有很大的不同。

    我假设您的实际文档(内容字段?)非常大。

    可能有几件事:

    1. 垃圾收集。如果你为 Solr 分配了大量内存, 当它达到极限时,GC 可能会很长。有Java 在测试运行期间启用 GC 报告的标志
    2. 索引合并。 观察 data/index 目录,看看文件是否开始移动 大约。
    3. 还要查看服务器日志,而不仅仅是 WebUI。这 服务器日志将不断讨论正在发生的事情,仅 UI 显示问题。
    4. 检查您的提交和 软提交设置是(在 solrconfig.xml 中)。

    【讨论】:

    • 我添加了关于挂起和提交设置的问题的更新(我认为......)我将在服务器上查找日志,看看我可以在那里破译什么。现在,我通过为 HTTP 请求(1 秒)设置一个非常低的超时并在超时时重试,让它“正常”工作。这很慢,但很有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2015-11-27
    • 2017-09-18
    • 2018-08-12
    相关资源
    最近更新 更多