https://bz.apache.org/bugzilla/show_bug.cgi?id=58323
Bug ID: 58323
Summary: Client passing away causes Log.ERROR messages
Product: Tomcat 8
Version: 8.0.23
Hardware: PC
OS: Linux
Status: NEW
Severity: minor
Priority: P2
Component: Catalina
Assignee: [email protected]
Reporter: [email protected]
i think that ERROR logging should be reserved to misbehaviour of the software,
that needs attention by the operator/developer (in contrast to WARN/INFO
logging, that *may* show some misbehaviour). Having a client stumbeling over
his network cable or having a bad connection during a subway ride should be a
pretty normal and non-alarming situation in a distributed system, not a
misbehaviour of the software.
Sadly, when a SocketTimeoutException or an IOException: Connection reset by
peer is thrown in a HttpServlet, it will be propagated through the FilterChain
and cause ugly ERROR Logging:
java.io.IOException: Connection reset by peer
at sun.nio.ch.FileDispatcherImpl.read0(Native Method) ~[na:1.8.0_51]
at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39)
~[na:1.8.0_51]
at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) ~[na:1.8.0_51]
at sun.nio.ch.IOUtil.read(IOUtil.java:197) ~[na:1.8.0_51]
at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
~[na:1.8.0_51]
at org.apache.tomcat.util.net.NioChannel.read(NioChannel.java:140)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.tomcat.util.net.NioBlockingSelector.read(NioBlockingSelector.java:173)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:251)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.tomcat.util.net.NioSelectorPool.read(NioSelectorPool.java:232)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.coyote.http11.InternalNioInputBuffer.fill(InternalNioInputBuffer.java:133)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.coyote.http11.InternalNioInputBuffer$SocketInputBuffer.doRead(InternalNioInputBuffer.java:177)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.coyote.http11.filters.IdentityInputFilter.doRead(IdentityInputFilter.java:110)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.coyote.http11.AbstractInputBuffer.doRead(AbstractInputBuffer.java:416)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at org.apache.coyote.Request.doRead(Request.java:469)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.connector.InputBuffer.realReadBytes(InputBuffer.java:338)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at org.apache.tomcat.util.buf.ByteChunk.substract(ByteChunk.java:363)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at org.apache.catalina.connector.InputBuffer.readByte(InputBuffer.java:352)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:94)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at java.io.FilterInputStream.read(FilterInputStream.java:83) ~[na:1.8.0_51]
at java.io.PushbackInputStream.read(PushbackInputStream.java:139)
~[na:1.8.0_51]
at
org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor.readWithMessageConverters(RequestResponseBodyMethodProcessor.java:135)
~[spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
[...]
at
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:869)
~[spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843)
~[spring-webmvc-4.1.7.RELEASE.jar!/:4.1.7.RELEASE]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
~[tomcat-embed-websocket-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
~[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:676)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1521)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1478)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_51]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_51]
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[tomcat-embed-core-8.0.23.jar!/:8.0.23]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
I guess this should be an WARN/INFO/DEBUG logging, not an error.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]