Liam Gretton wrote:
On 23/08/2012 10:22, Pierangelo Masarati wrote:
Current failover only deals with failures/timeouts of connect(2). I don't think handling your case using failover is appropriate. Your case should be handled by removing the non-responding URI from the list.
I don't understand the difference. If a server is unavailable for whatever reason (offline, firewalled, switched off, nothing listening on the specified port), then connect() will timeout as you describe.
When connect(2) times out the code behaves as expected.
Can you explain further please? 'As expected' to you is obviously different to what I expect from the documentation and what you've said previously. You say that the failover mechanism works when connect() fails or times out, but that's not the behaviour I'm seeing.
Your description of your procedure is so vague and imprecise it's difficult for anybody to decipher what you're talking about.
Reading back thru the several posts in this thread, what I see you saying is that you have tested a few different configurations:
1) target host is up, target LDAP server is down this should fail immediately because the host OS will immediately send a TCP Connection Refused response
2) target host is initially down this will not fail until the first TCP connect request times out
3) target host is initially up and connected, but thru your iptables manipulation you sever the link this will not fail until the TCP connection times out, which it won't unless you're using TCP Keepalives, and by default those are only sent once every 2 hours.