当前位置: 首页 > 知识库问答 >
问题:

SocketException Solr/tomcat中管道破裂[重复]

罗晨
2023-03-14

我在tomcat7上使用Solr 4.3。当并发写入和读取的数量增加时,会引发此SocketException错误。我通过多个客户端进行并发提交和搜索。感谢您的任何帮助。这是tomcat日志(catalina.out)和solr。日志

 tomcat log(catalina.out):

    59887611 [http-bio-8080-exec-988] ERROR org.apache.solr.servlet.SolrDispatchFilter  – null:ClientAbortException:  java.net.SocketException: Broken pipe
     at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:406)
     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:342)
     at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:431)
     at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:419)
     at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
     at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
     at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
     at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
     at java.io.OutputStreamWriter.write(OutputStreamWriter.java:207)
     at org.apache.solr.util.FastWriter.flush(FastWriter.java:141)
     at org.apache.solr.util.FastWriter.write(FastWriter.java:126)
     at java.io.Writer.write(Writer.java:157)
     at org.apache.solr.response.XMLWriter.startTag(XMLWriter.java:144)
     at org.apache.solr.response.XMLWriter.writePrim(XMLWriter.java:347)
     at org.apache.solr.response.XMLWriter.writeLong(XMLWriter.java:305)
     at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:139)
     at org.apache.solr.schema.TrieField.write(TrieField.java:221)
     at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:130)
     at org.apache.solr.response.XMLWriter.writeSolrDocument(XMLWriter.java:199)
     at org.apache.solr.response.TextResponseWriter.writeDocuments(TextResponseWriter.java:275)
     at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:172)
     at org.apache.solr.response.XMLWriter.writeResponse(XMLWriter.java:111)
     at org.apache.solr.response.XMLResponseWriter.write(XMLResponseWriter.java:39)
     at org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:644)
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:372)
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
     at java.lang.Thread.run(Thread.java:724)
    Caused by: java.net.SocketException: Broken pipe
     at java.net.SocketOutputStream.socketWrite0(Native Method)
     at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
     at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
     at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:215)
     at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:480)
     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:366)
     at org.apache.coyote.http11.InternalOutputBuffer$OutputStreamOutputBuffer.doWrite(InternalOutputBuffer.java:240)
     at org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:119)
     at org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:192)
     at org.apache.coyote.Response.doWrite(Response.java:517)
     at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:401)
     ... 39 more


         solr.log:



    2013-09-19 05:32:13.978; org.apache.solr.common.SolrException; null:ClientAbortException:  java.net.SocketException: Broken pipe
     at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:406)
     at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:342)
     at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:431)
     at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:419)
     at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:91)
     at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
     at sun.nio.cs.StreamEncoder.implWrite(StreamEncoder.java:282)
     at sun.nio.cs.StreamEncoder.write(StreamEncoder.java:125)
     at java.io.OutputStreamWriter.write(OutputStreamWriter.java:207)
     at org.apache.solr.util.FastWriter.flush(FastWriter.java:141)
     at org.apache.solr.util.FastWriter.write(FastWriter.java:126)
     at java.io.Writer.write(Writer.java:157)
     at org.apache.solr.response.XMLWriter.startTag(XMLWriter.java:144)
     at org.apache.solr.response.XMLWriter.writePrim(XMLWriter.java:347)
     at org.apache.solr.response.XMLWriter.writeLong(XMLWriter.java:305)
     at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:139)
     at org.apache.solr.schema.TrieField.write(TrieField.java:221)
     at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:130)
     at org.apache.solr.response.XMLWriter.writeSolrDocument(XMLWriter.java:199)
     at org.apache.solr.response.TextResponseWriter.writeDocuments(TextResponseWriter.java:275)
     at org.apache.solr.response.TextResponseWriter.writeVal(TextResponseWriter.java:172)
     at org.apache.solr.response.XMLWriter.writeResponse(XMLWriter.java:111)
     at org.apache.solr.response.XMLResponseWriter.write(XMLResponseWriter.java:39)
     at org.apache.solr.servlet.SolrDispatchFilter.writeResponse(SolrDispatchFilter.java:644)
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:372)
     at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:155)
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
     at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
     at java.lang.Thread.run(Thread.java:724)
    Caused by: java.net.SocketException: Broken pipe
     at java.net.SocketOutputStream.socketWrite0(Native Me...

共有2个答案

国阳
2023-03-14

对等点已经关闭了连接。例如,浏览器选项卡已经关闭,或者已经导航到另一个页面。您对此无能为力,也不需要做什么。您不能再写任何响应,所以停止尝试。

陆翰藻
2023-03-14

这是更低级的错误。我发现了这个问题

 类似资料:
  • 我有一个非常奇怪的问题,我希望你的眼睛能帮助解决它。 我定义了一个函数,它通过BASH连接到Oracle SQL数据库。连接后,我使用一个herdeoc传入一个简单的select语句,该语句查找最大订阅id并递增它,具体取决于函数被调用的次数。代码如下: 在命令行调用函数时,上述代码非常有效: 但是,当函数通过管道传输到AWK语句时,函数不再抖动,这毫无意义!请参阅下面的输出: 我不明白。哈哈,我

  • 我正在对一个由zuul代理服务支持的简单Spring云应用程序进行一些压力测试。由于Zuul和服务之间的旧连接,我们偶尔会出现管道异常。我使用不同的配置选项配置Zuul,但没有成功: 例外情况如下: 通用域名格式。netflix。祖尔。例外ZuulException:组织转发错误。springframework。云netflix。祖尔。过滤器。路线RibbonRoutingFilter。转发(Ri

  • 我们将我们的集群迁移到Cassandra 1.2(从1.1.7),并尝试在迁移后运行修复(我们按照建议定期运行它们)。 由于SSTable版本不同,修复失败,因此我们使用和并重试。 但是,修复失败了,但有这个例外: 我们还注意到,在死亡之前,< code>nodetool netstats显示了奇怪的统计数据(表传输为756845%...). 编辑 这似乎是压缩SSTables传输的问题,我将尝试

  • 我正在实现与Android应用程序通信的服务器端应用程序。Android应用程序在最初与C服务器通信之前就已经实现了。现在我想用java代码替换C服务器。Android应用程序与服务器进行通信,通过读卡器中的卡对此人进行身份验证。 身份验证协议包含应用程序和服务器之间要成功完成的几个通信步骤。 应用程序和服务器之间的消息格式如下: 首先,应用程序发送一个类型1的请求来建立与读卡器中sim卡的连接。

  • 我使用ApacheCommons http客户端调用url,使用post方法发布参数,它很少抛出以下错误。 有人能建议是什么导致了这个异常以及如何调试它吗?

  • [错误]无法执行目标组织。阿帕奇。公猫maven:tomcat7 maven插件:2.1:ProjectCliff上的部署(默认cli):无法调用Tomcat manager:Connection tohttp://localhost:8080拒绝:连接被拒绝 OS X 10.10.5 Apache Tomcat/8.0.24 JVM 1.8.0_05-b13 波姆。xml: ~/.m2/设置。x