3

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

2 回答 2

0

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

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

于 2015-04-12T15:42:34.113 回答
-1

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

于 2013-02-22T08:26:22.153 回答