java - Solr读取超时(仅在生产环境中)

标签 java solr timeout solrj

我正在使用一个 Java 应用程序,该应用程序使用 SolrJ 将文档索引到 Solr 服务器。

在我的本地测试环境中,我在 Windows XP 机器上的 Tomcat 服务器上运行本地 Solr 实例。当我从不同的 Windows 机器运行 Java 应用程序时,索引成功完成,并且 Solr 日志文件看起来正常。

但是,运行部署在 Linux Web 服务器上的相同 Java 应用程序,并与另一个运行 Solr 的 Linux Web 服务器进行通信,在每个 solr 更新命令后我都会收到“读取超时”消息:

Jul 14, 2011 3:12:31 AM org.apache.solr.core.SolrCore execute INFO: []

webapp=/solr path=/update params={wt=javabin&version=1} status=400 QTime=20020 Jul 14, 2011 3:12:51 AM org.apache.solr.update.processor.LogUpdateProcessor finish INFO: {} 0 20021 Jul 14, 2011 3:12:51 AM org.apache.solr.common.SolrException log SEVERE: org.apache.solr.common.SolrException: java.net.SocketTimeoutException: Read timed out at org.apache.solr.handler.XMLLoader.load(XMLLoader.java:72) at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:54) at...

Caused by: javax.xml.stream.XMLStreamException: java.net.SocketTimeoutException: Read timed out

知道为什么会发生这种情况吗?我怀疑这些连接启动后有什么东西正在关闭(例如网络过滤软件、防火墙......),但我工作场所的网络管理员说没有流量被阻止。

最佳答案

是否仅在更新时超时,甚至在查询时超时?

检查Linux服务器机器上的服务器设置是否有非常小的超时值。

关于java - Solr读取超时(仅在生产环境中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6700282/

相关文章:

java - 是否有具有通用引用接口(interface)的标准库?

solr - gzip 压缩在 Solr 5.1 中不起作用

mysql - Grails 2.4 Mysql 验证查询不适用于 VPS

c# - GridView 数据绑定(bind) - 超时

javascript - AngularJS:超时不起作用

c# - 检查对象不为空后从对象获取属性的最快方法是什么?

java - 对其他实体的可空属性进行 Spring 可分页排序

solr - Solr中的 bool 值子句异常过多

solr - 如何找到当前运行的 Solr 的版本?

java - 如何更改 Java Transformer 中的默认日志记录