[SSSD] [PATCH] Set c-ares to retry nameservers

Jakub Hrozek jhrozek at redhat.com
Thu May 12 15:48:20 UTC 2011


On 05/12/2011 02:23 PM, Stephen Gallagher wrote:
> On Thu, 2011-05-12 at 13:07 +0200, Jakub Hrozek wrote:
>> https://fedorahosted.org/sssd/ticket/867
>>
>> channel->tries is only used when a query fails. We were forcibly setting
>> it to 0, which meant we never retried another server.
> 
> From the c-ares manual:
> 
> ARES_OPT_TRIES int tries;
> The number of tries the resolver will try contacting each name server
> before giving up. The default is four tries. 
> 
> 
> We originally set it to zero because the above entry used to read "the
> number of retries", not tries.So zero retries was supposed to mean one
> try per server.
> 
> Can you verify in the c-ares code that this isn't a behavior that
> CHANGED between versions (and thus we might need to detect the version
> in use and handle it?)
> 

The code in question in c-ares is called only when a search fails and
reads (simplified):

-------
while (++try < (nservers * tries)) {
  /* Get next server */
  /* Send the query again */
}

/* Mark query as failed */
-------

Since we had tries=0, we skipped the failover part and immediately
marked the query as failed.

The code is the same in c-ares 1.6 (RHEL5) and 1.7 (RHEL6 and supported
Fedora versions).

	Jakub

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 261 bytes
Desc: OpenPGP digital signature
URL: <https://lists.fedorahosted.org/pipermail/sssd-devel/attachments/20110512/3e058b45/attachment.sig>


More information about the sssd-devel mailing list