tomcat 8.5 broken pipe increases open files on ubuntu AWS

If there is slow response from db I see this stack trace and the open files
goes high and the only way to open files go down is to remove the instance
from Amazon load balancer.

Is there a way to keep the open files low even when Broken pipe error is
thrown ?

org.apache.catalina.connector.ClientAbortException: java.io.IOException:
Broken pipe
        at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:393)
        at
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426)
        at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:342)
        at
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317)
        at
org.apache.catalina.connector.Response.flushBuffer(Response.java:497)
        at
org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:318)
        at
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:126)
        at
org.springframework.boot.web.support.ErrorPageFilter.access$000(ErrorPageFilter.java:61)
        at
org.springframework.boot.web.support.ErrorPageFilter$1.doFilterInternal(ErrorPageFilter.java:94)
        at
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
        at
org.springframework.boot.web.support.ErrorPageFilter.doFilter(ErrorPageFilter.java:112)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
        at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
        at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
        at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)
Caused by: java.io.IOException: Broken pipe
        at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
        at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
        at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
        at sun.nio.ch.IOUtil.write(IOUtil.java:65)
        at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471)
        at org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
        at
org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
        at
org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:172)
        at
org.apache.coyote.http11.InternalNioOutputBuffer.writeToSocket(InternalNioOutputBuffer.java:139)
        at
org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:197)
        at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:41)
        at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:320)
        at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:116)
        at
org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:256)
        at org.apache.coyote.Response.doWrite(Response.java:501)
        at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:388)
        ... 28 common frames omitted

Reply via email to