Currently, I’ve encountered strange behavior in .net WCF client side.
There is some retry logic triggered in response to request timeout. In order to test it we added following rule to iptables sudo iptables -I OUTPUT -d <client ip> -m string --string "<name of response>" --algo bm -j DROP
. This workflow worked well, and timeout logic on client worked correctly. But sometime ago strange things begin to happen. Timeout exceptions happen much earlier than it is configured in binding. Say in binding Receive and Send timeout are both 5 minutes, but in logs timeout exception is raised after 5 seconds after method call. Also, these premature timeouts are not consistent, they happen in once in several test runs.
What can cause this behavior on WCF client?
Temporarily disable the retry logic to see if timeouts behave as expected without it. This will help isolate whether the retry mechanism is at fault.
1