catalina.connector.ClientAbortException ,,, java.io.IOException or simmilar
FATAL [WirelessServlet.doPost:110] SERVLET - deviceId: XXXXXXXXXXXXXXXXXXx, user: XXXXXXXXXXXX@.com.XXX - Uncaught and unhandled exception was reported by the server:A00000 unknown error Message:org.apache.catalina.connector.ClientAbortException: java.io.IOException: Connection reset by peer
Generic exception which occurs when socket was lost and tomcat tried to write into closed connection.
I could see also similar exceptions
... Broken Pipe ...
But they are caused by the same reason - Could not send response to the client because we lost connection with a client.
How it happens.
Client -> server (httpd) -> tomcat 8009 or 8080.
-> - its connection.
so client connects to server and httpd forward request to tomcat , tomcat process request.
While web application in tomcat process request Client drops connection (poor/unstable internet connection) so we does not have anymore this part 'Client -> server (httpd)'
but have this connection 'server (httpd) -> tomcat 8009 or 8080.'(Please note in some cases we can lost this connection also) waiting for a flushing response.
So when web application in tomcat tries to write into response stream it could not and raises IOExceptions because socket is closed from another side.
There are no other way to check if connection is alive or not except just start to send first bytes of response. But to do it need need to process request.
In versions lower than 12.7 it can took a long time . in 12.7 and higher applied xml/json streaming to start send response immediately.
Anyway issue will be preset and in some cases it can not be fixed at our side (if user has poor/ unstable internet connection). From release to release we are trying to minimize impact but there always be a chance of such behavior.