During some performance testing I've seen that Tomcat resets accepted
TCP connections when under load. I had seen this previously too , but
was not able to analyze the scenario in detail earlier.
As per this dump from Wireshark , it seemed like Tomcat ACKed the
client request, accepted part of the request, and then suddenly decided
to close the connection and hence RSTed it. What I would expect Tomcat
to have done instead is to refuse a connection when under load, and not
accept and RST. The problem occurs for a client that would not know if a
RSTed connection could be safely retried. If the connection was not
accepted, a fail-over is straight forward.
Hope to hear some details from the developer community, to understand
this behavior better