Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Solr exception raised in server often org.mortbay.jetty.EofException java.net.SocketException: Broken pipe

this exception is raised often when system is insert new record db and update the solr index, is there anyone got same problem ? how to avoid it ?

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

does the exception related to the last QTIME ?

like image 462
Roc Yu Avatar asked Mar 30 '12 01:03

Roc Yu


1 Answers

I've seen this error, and have tried a couple of things that have helped the issue, but nothing that I could say was a "100% perfect fix". I'd love to hear what you experience!

Here are some things I've tried that seem to help:

1) swap in jetty.xml from the BIO to NIO connection.
2) Increase your timeouts on the front end.
3) Play with the number of connections that can be open in Jetty.

like image 128
Eric Pugh Avatar answered Nov 14 '22 19:11

Eric Pugh