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

1

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 ?

Actinomycosis answered 30/3, 2012 at 1:31 Comment(0)
A
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.

Absurd answered 2/4, 2012 at 17:55 Comment(2)
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.)Ashton
@Ashton can you explain what you mean?Jarl

© 2022 - 2024 — McMap. All rights reserved.