Nands
Nands

Reputation: 1531

Solr crashing with SocketException Broken pipe

I'm using Solr 3.1 with tomcat6. When the number of concurrent writes and reads increase it is crash throwing this SocketException error. I do concurrent commits and searches through multiple clients. Any kind of help is appreciated. Here is the tomcat log.

Dec 11, 2011 8:02:43 AM org.apache.solr.common.SolrException log
SEVERE: ClientAbortException:  java.net.SocketException: Broken pipe
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:325)
        at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
        at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
        at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
        at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:263)
        at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:106)
        at java.io.OutputStreamWriter.write(OutputStreamWriter.java:190)
        at org.apache.solr.common.util.FastWriter.write(FastWriter.java:55)
        at org.apache.solr.response.JSONWriter.writeStr(JSONResponseWriter.java:622)
        at org.apache.solr.schema.StrField.write(StrField.java:54)
        at org.apache.solr.schema.SchemaField.write(SchemaField.java:130)
        at org.apache.solr.response.JSONWriter.writeDoc(JSONResponseWriter.java:385)
        at org.apache.solr.response.JSONWriter.writeDoc(JSONResponseWriter.java:453)
        at org.apache.solr.response.JSONWriter.writeDocList(JSONResponseWriter.java:501)
        at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:129)
        at org.apache.solr.response.JSONWriter.writeNamedListAsMapWithDups(JSONResponseWriter.java:180)
        at org.apache.solr.response.JSONWriter.writeNamedList(JSONResponseWriter.java:296)
        at org.apache.solr.response.JSONWriter.writeResponse(JSONResponseWriter.java:93)
        at org.apache.solr.response.JSONResponseWriter.write(JSONResponseWriter.java:52)
        at org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:343)
        at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:265)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
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)
        at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:741)
        at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:434)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:349)
        at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:765)
        at org.apache.coyote.http11.filters.IdentityOutputFilter.doWrite(IdentityOutputFilter.java:127)
        at org.apache.coyote.http11.InternalOutputBuffer.doWrite(InternalOutputBuffer.java:574)
        at org.apache.coyote.Response.doWrite(Response.java:560)
        at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:353)
        ... 34 more

Upvotes: 4

Views: 8159

Answers (2)

Sarthak Dudhara
Sarthak Dudhara

Reputation: 169

I found that whenever my application timed out waiting on solr, I see this exception in the solr logs. For me solr was taking longer than 10 secs to process the query and the application waiting on it timed out.

Hope this helps

Upvotes: 0

Mauricio Scheffer
Mauricio Scheffer

Reputation: 99730

The exception suggests it's an unexpected client disconnection, so it's either a client issue or a network problem.

Related: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error

Upvotes: 1

Related Questions