I'm using c-ares via the python gevent module on AWS. When resolving an AWS Elastic Load Balancer (ELB) hostname a valid A record is returned but the AAAA response contains an Authority RR with a SOA record. When gevent is configured to use the native resolver it gets the valid A record and continues on ignoring the AAAA response. When gevent is configured to use ares it treats the AAAA SOA record as invalid and does additional AAAA queries using the search list. In my particular configuration this is causing an issue because the search list has 4 domains which is causing every lookup to result in a bunch of unneeded queries and load on the DNS servers.

I wasn't sure where to start to figure out what is causing this behavior. It looks like the underlying c-ares library is misinterpreting the AAAA SOA response but I'm not super familiar with c-ares or IPv6. I think it should either stop with the valid A response or query the provided NS for with the initial AAAA query.


Thanks,
-Joe

Reply via email to