2013-01-31 55 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。這可能很微妙,取決於您的系統配置(博客文章提供了關於該點的大量信息)。在我們的情況下,這解決了這個問題:我們終於可以索引超時的問題了。