Re: Multiple connection retries to the same IP address
Jan Blom <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <DB3PR05MB42813C200944612D1318B7DEE6B0@DB3PR05MB428.eurprd05.prod.outlook.com> |
Excellent! Anything more I need to do? Best regards, Jan -----Original Message----- From: FreeTDS [mailto:[email protected]] On Behalf Of Frediano Ziglio Sent: den 18 april 2016 20:00 To: FreeTDS Development Group Subject: Re: [freetds] Multiple connection retries to the same IP address 2016-04-18 17:56 GMT+01:00 Jan Blom <[email protected]>: > Hello, > > I'm using FreeTDS 0.95 and have been puzzled why the connection timeout setting seemed not to work. Digging into the problem I notice the same target IP address always appear three times, for instance looking at the config dump from osql. I have provided the fqdn name for the host in freetds.conf. > > The FreeTDS implementation will loop over all IP addresses when trying to connect if there is a failure. This results in a 3x total timeout duration compared to the configuration. I cannot see a good reason for this logic, given it is the same IP address in all three attempts. > > The reason is that the call to getaddrinfo (in tds/config.c) doesn't send in any preference regarding address type. Therefore we get back something like this: > > 1. > Family : AF_INET > Type : SOCK_STREAM > Protocol : IPPROTO_TCP > Socket address: ('23.235.43.223', 0) > > 2. > Family : AF_INET > Type : SOCK_DGRAM > Protocol : IPPROTO_UDP > Socket address: ('23.235.43.223', 0) > > 3. > Family : AF_INET > Type : SOCK_RAW > Protocol : IPPROTO_IP > Socket address: ('23.235.43.223', 0) > > However, later on , when we actually connect the socket we will use SOCK_STREAM only. We don't care about UDP or raw sockets. > > My assumption would be that the tds_lookup_host() function should set > hints.ai_socktype = SOCK_STREAM; > > This will result in only #1 above in return. > > Does this make sense or am I missing something here? > > > Thanks for your time and support! > Jan Blom > Make sense. It's just that the change was quite recent, previously we took into account just the first address so we didn't had this issue. I think your suggestion should go as a patch. Frediano _______________________________________________ FreeTDS mailing list [email protected] http://lists.ibiblio.org/mailman/listinfo/freetds