索引期间的 Solr 连接超时



我有无限超时的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)

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

对于Solr

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

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

最新更新