UDNS issues at high query rate

Abhijit Pandey abhijpandey at gmail.com
Wed Aug 5 06:44:42 MSD 2009


Hi Michael,


I needed some help in isolating the following issues I am facing, when
I send the queries at a high rate.


The query rate is around 1000/second. The default resolver
context(NULL) is opened to which queries are continually submitted.
Have a forever thread for the ioevent.

1) The queries get submitted, but the responses(dnscb) does not get called.
     As a result those queries are not freed.


2) Submitting the query at a high rate, result in a lot of dns errors.
    I see the following

         unable to lookup A record for
ikrnlmlmc3kvti31ab6ahtgt85.prpt.trmp.com: temporary failure in name
resolution
         unable to lookup A record for
ikrnlmlmc3kvti31ab6ahtgt85.prpt.trmp.com: temporary failure in name
resolution
         unable to lookup A record for
9pljvmjeqwlqdue6rrahw6799v.prpt.trmp.com: temporary failure in name
resolution

   After a while I see a crash in the library.

*** glibc detected *** malloc(): memory corruption: 0x30545838 ***
Program received signal SIGABRT, Aborted.


3) When I change the IP address in resolv.conf, when queries are being
submitted to the resolver.
     I do a dns_init. This sometimes also causes a assertion failure

udns_resolver.c:862: dns_submit_dn: Assertion
`(ctx->dnsc_udpsock >= 0)' failed.
Program received signal SIGABRT, Aborted.

Let me know how should I fix it.

I could probably rate limit, the queries being submitted if they fix the issue.
Let me know some numbers in that case.

Thanks,
Abhijit


More information about the udns mailing list