2013-01-31 54 views
3

我已经solrj客户端无限超时(Solr4)索引过程中Solr连接超时?

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) 
+0

你最终解决了这个问题吗? – Val

回答

0

我们与有同样的问题Solr的4。我们在阅读blog post by Uwe Schindler(一个Solr承诺者)后解决了这个问题。

随着Solr的4和几个Solr的3版本中,你必须让你的RAM重要份额免费,这样的系统可以使用正确的mmap system call。这可能很微妙,取决于您的系统配置(博客文章提供了关于该点的大量信息)。在我们的情况下,这解决了这个问题:我们终于可以索引超时的问题了。