2012-03-30 95 views
7

当系统插入新记录db并更新solr索引时,经常会引发此异常,是否有人遇到同样的问题?如何避免它?Solr异常在服务器中引发org.mortbay.jetty.EofException java.net.SocketException:管道破损

Mar 29, 2012 6:26:59 PM org.apache.solr.core.SolrCore execute 
INFO: [] webapp=/solr path=/update params={wt=ruby} status=0 QTime=110977 

Mar 29, 2012 6:26:59 PM org.apache.solr.common.SolrException log 
SEVERE: org.mortbay.jetty.EofException 
    at org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:791) 
    at org.mortbay.jetty.AbstractGenerator$Output.flush(AbstractGenerator.java:569) 
    at org.mortbay.jetty.HttpConnection$Output.flush(HttpConnection.java:1012) 
    at sun.nio.cs.StreamE`enter code here`ncoder.implFlush(Unknown Source) 
    at sun.nio.cs.StreamEncoder.flush(Unknown Source) 
    at java.io.OutputStreamWriter.flush(Unknown Source) 
    at org.apache.solr.common.util.FastWriter.flush(FastWriter.java:115) 
    at org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:344) 
    at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:265) 
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) 
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) 
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) 
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) 
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) 
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) 
    at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230) 
    at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114) 
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) 
    at org.mortbay.jetty.Server.handle(Server.java:326) 
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) 
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945) 
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756) 
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) 
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) 
    at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) 
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) 
Caused by: java.net.SocketException: Broken pipe 
    at java.net.SocketOutputStream.socketWrite0(Native Method) 
    at java.net.SocketOutputStream.socketWrite(Unknown Source) 
    at java.net.SocketOutputStream.write(Unknown Source) 
    at org.mortbay.io.ByteArrayBuffer.writeTo(ByteArrayBuffer.java:368) 
    at org.mortbay.io.bio.StreamEndPoint.flush(StreamEndPoint.java:129) 
    at org.mortbay.io.bio.StreamEndPoint.flush(StreamEndPoint.java:161) 
    at org.mortbay.jetty.HttpGenerator.flush(HttpGenerator.java:714) 
    ... 25 more 

是否与上次QTIME相关的异常?

回答

1

我已经看到了这个错误,并尝试了一些有助于解决问题的事情,但没有人能说的是“100%完美修复”。我很想听听你的经历!

这里有一些事情我已经试过,似乎帮助:在的jetty.xml

1)交换从生物到NIO连接。
2)增加您在前端的超时时间。
3)玩在Jetty中可以打开的连接数。

+0

当对端的空闲超时导致tcp连接在完全同一时间持续http连接被重新用于其他请求时被关闭时,我们发生了断管异常。 (请参阅RFC-2616,第8.1.4节。) – Joe23 2012-07-05 13:04:18

+0

@ Joe23你能解释一下你的意思吗? – kamaci 2012-08-06 08:57:38

相关问题