One of our clients uses Netscaler as a balancer middleware between Fuse server and our Tomcat-hosted software.
Currently we are experiencing strange communication behavior between our software and netscaler (we're making SOAP-request using Spring-WS): after some time, since a request to netscaler is being made and response is being awaited, netscaler sends ACK,RST packet to our server, and, consequently, Java throws "connection reset" IOException.
The tcp dump is as follows:
As per netscaler docs, Win
field of reset packet contains error code which is 9300
in this situation and means 'cleanup of idle connections', which in it's turn means that netscaler runs "zombie" process, which cleans up idle connections and that this process has recognized our connection as being idle.
Why would connection be treated as being idle
by netscaler in this case?