7

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 ?

Roc Yu
  • 93
  • 2
  • 8

1 Answers1

1

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.

Eric Pugh
  • 1,563
  • 11
  • 17
  • We have had broken pipe exceptions, when the idle timeout of the peer caused the tcp connection to be closed at the exact same time the persistent http connection was reused for another request. (See RFC-2616, section 8.1.4.) – Joe23 Jul 05 '12 at 13:04
  • @Joe23 can you explain what you mean? – kamaci Aug 06 '12 at 08:57