We are using Java Async Client 4.4.1. We are running on Azure VMs We have set timeoutDelay to 10sec and I think the connection_timeout_millis is 30 Sec(30000 milliseconds) by default which we haven’t changed.
We have set totalTimeout of 10ms. Client Policy timeout is also set to 10 Seconds.
Now the problem is that the Server goes into a weird state where the SYN_RECV sockets reach the limit of 512 and the N/W on the server chokes. I know this happens when there are too many RST requests which is what we see in the client TCPDUMP attached below. The client sends SYNs and eventually if server responds with SYN,ACK the client sends RST packet.
What I want to understand that why is the client not waiting for [SYN,ACK] for 30 seconds before re-firing SYNs which is firing every <3 seconds.