索引期间Solr连接超时?

Posted

技术标签:

【中文标题】索引期间Solr连接超时?【英文标题】:Solr connection timeout during indexing? 【发布时间】:2013-01-16 02:54:11 【问题描述】:

我有无限超时的 solrj 客户端(Solr4)

server.server.setSoTimeout(0)
server.server.setConnectionTimeout(0)

当我索引我的数据时,我在服务器端有很多超时。 我在哪里可以更新 solrconfig.xml 或可能的 tomcat 配置中的服务器端超时?

客户端异常:

Caused by: java.net.SocketException: Broken pipe
    at java.net.SocketOutputStream.socketWrite0(Native Method)
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:136)

服务器端异常:

 Jan 31, 2013 8:55:54 PM org.apache.solr.common.SolrException log
    SEVERE: org.apache.solr.common.SolrException: Read timed out
        at org.apache.solr.handler.loader.XMLLoader.load(XMLLoader.java:159)
        at org.apache.solr.handler.UpdateRequestHandler$1.load(UpdateRequestHandler.java:92)
        at org.apache.solr.handler.ContentStreamHandlerBase.handleRequestBody(ContentStreamHandlerBase.java:74)
        at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129)
        at org.apache.solr.core.SolrCore.execute(SolrCore.java:1699)
Caused by: java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:129)
    at org.apache.coyote.http11.InternalInputBuffer.fill(InternalInputBuffer.java:751)

【问题讨论】:

您最终解决了这个问题吗? 【参考方案1】:

我们在 Solr 4 上遇到了同样的问题。我们在阅读blog post by Uwe Schindler(Solr 提交者)后解决了这个问题。

使用 Solr 4 和几个 Solr 3 版本,您必须释放重要的 RAM 份额,以便系统可以正常使用 mmap system call。这可能很微妙,具体取决于您的系统配置(博客文章提供了大量关于这一点的信息)。在我们的例子中,这解决了问题:我们终于可以在没有任何超时问题的情况下建立索引。

【讨论】:

【参考方案2】:

tomcat server.xml 配置的信息将解决这个问题。我们得到了相同的堆栈跟踪,下面为我们解决了它: http://forums.alfresco.com/ja/node/8458

【讨论】:

以上是关于索引期间Solr连接超时?的主要内容,如果未能解决你的问题,请参考以下文章

处理 Solr 读写超时异常

大型文件上传期间的 Grails 连接超时

“kafka.zookeeper.ZooKeeperClientTimeoutException:等待连接超时”仅在列出主题期间

mongo 自动创建索引导致应用连接超时

Django如何在DatabaseError后重新连接:查询超时

heroku 中的 Django Redis 连接错误:写入套接字时出现错误 110。连接超时