Skip to Main Content

ORDS, SODA & JSON in the Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ords broken pipe

rode_mbApr 29 2025

Hi,

we're running ORDS (24.x) on Tomcat 9 with JDK 17 and the catalina logfile is flooded with ClientAbortException (broken pipe).

Is there any way to tell ORDS (or Tomcat) to swallow this Exception and not logging it?

I tried a lot, but the only thing that worked was setting “oracle.dbtools.level = OFF” in logging.properties - but that's too much.

29-Apr-2025 13:51:02.450 WARNUNG [https-jsse-nio-8443-exec-7] oracle.dbtools.common.logging.JDKLogSink.record <KMKmt_5t98pIjraq-SahJQ> java.io.IOException: Datenübergabe unterbrochen (broken pipe)
   org.apache.catalina.connector.ClientAbortException: java.io.IOException: Datenübergabe unterbrochen (broken pipe)
       at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:309)
       at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:271)
       at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:120)
       at oracle.dbtools.http.servlet.NormalizedServletResponse$NormalizedOutputStream.flush(NormalizedServletResponse.java:903)
       at oracle.dbtools.http.servlet.NormalizedServletResponse.flushBuffer(NormalizedServletResponse.java:219)
       at oracle.dbtools.http.errors.ResponseFlusher.flushBuffer(ResponseFlusher.java:46)
       at oracle.dbtools.http.errors.ErrorPageFilter.doFilter(ErrorPageFilter.java:98)
       at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
       at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
       at oracle.dbtools.http.secure.ForceHttpsFilter.doFilter(ForceHttpsFilter.java:74)
       at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
       at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
       at oracle.dbtools.http.auth.ForceAuthFilter.doFilter(ForceAuthFilter.java:44)
       at oracle.dbtools.http.filters.HttpFilter.doFilter(HttpFilter.java:47)
       at oracle.dbtools.http.filters.FilterChainImpl.doFilter(FilterChainImpl.java:64)
       at oracle.dbtools.http.filters.Filters.filter(Filters.java:67)
       at oracle.dbtools.http.entrypoint.EntryPoint.service(EntryPoint.java:70)
       at oracle.dbtools.http.entrypoint.EntryPointServlet.service(EntryPointServlet.java:130)
       at oracle.dbtools.entrypoint.WebApplicationRequestEntryPoint.service(WebApplicationRequestEntryPoint.java:50)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:209)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
       at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
       at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:178)
       at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:153)
       at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
       at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
       at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:481)
       at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
       at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
       at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:670)
       at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
       at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
       at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:390)
       at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
       at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:928)
       at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1794)
       at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
       at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
       at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
       at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
       at java.base/java.lang.Thread.run(Thread.java:842)
   Caused by: java.io.IOException: Datenübergabe unterbrochen (broken pipe)
       at java.base/sun.nio.ch.FileDispatcherImpl.write0(Native Method)
       at java.base/sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:62)
       at java.base/sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:132)
       at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:97)
       at java.base/sun.nio.ch.IOUtil.write(IOUtil.java:53)
       at java.base/sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:532)
       at org.apache.tomcat.util.net.SecureNioChannel.flush(SecureNioChannel.java:124)
       at org.apache.tomcat.util.net.SecureNioChannel.write(SecureNioChannel.java:800)
       at org.apache.tomcat.util.net.NioEndpoint$NioSocketWrapper.doWrite(NioEndpoint.java:1431)
       at org.apache.tomcat.util.net.SocketWrapperBase.doWrite(SocketWrapperBase.java:775)
       at org.apache.tomcat.util.net.SocketWrapperBase.flushBlocking(SocketWrapperBase.java:739)
       at org.apache.tomcat.util.net.SocketWrapperBase.flush(SocketWrapperBase.java:723)
       at org.apache.coyote.http11.Http11OutputBuffer$SocketOutputBuffer.flush(Http11OutputBuffer.java:566)
       at org.apache.coyote.http11.filters.ChunkedOutputFilter.flush(ChunkedOutputFilter.java:157)
       at org.apache.coyote.http11.Http11OutputBuffer.flush(Http11OutputBuffer.java:220)
       at org.apache.coyote.http11.Http11Processor.flush(Http11Processor.java:1244)
       at org.apache.coyote.AbstractProcessor.action(AbstractProcessor.java:399)
       at org.apache.coyote.Response.action(Response.java:207)
       at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305)
       ... 41 more

Any idea?

Kind Regards,
Roland

Comments
Post Details
Added on Apr 29 2025
0 comments
414 views