Hi, There was an issue raised in the user mail thread about disabling dns. I have also been looking at this.
I am using TS 3.0.1 on fedora 14 and ubuntu 10.04. When this flag is set the DNS lookup event before the HTTP_OS_DNS_HOOK does not appear to be called. However there is a DNS lookup performed after the cache lookup when it is a miss. Here is an extract from the logfile, with the DNS lookup: [Dec 6 10:16:01.619] Server {3066604400} DEBUG: (http) [0] [&HttpSM::state_api_callout, HTTP_API_CONTINUE] [Dec 6 10:16:01.619] Server {3066604400} DEBUG: (http_trans) [HttpTransact::HandleCacheOpenRead] [Dec 6 10:16:01.619] Server {3066604400} DEBUG: (http_trans) CacheOpenRead -- miss [Dec 6 10:16:01.619] Server {3066604400} DEBUG: (http_trans) Next action DNS_LOOKUP; OSDNSLookup [Dec 6 10:16:01.619] Server {3066604400} DEBUG: (http) [0] State Transition: CACHE_LOOKUP -> DNS_LOOKUP [Dec 6 10:16:01.619] Server {3066604400} DEBUG: (http_seq) [HttpStateMachineGet::do_hostdb_lookup] Doing DNS Lookup [Dec 6 10:16:01.639] Server {3066604400} DEBUG: (dns) received query trafficserver.apache.org type = 1, timeout = 0 [Dec 6 10:16:01.640] Server {3086886720} DEBUG: (dns) enqueing query trafficserver.apache.org [Dec 6 10:16:01.640] Server {3086886720} DEBUG: (dns) adding first to collapsing queue [Dec 6 10:16:01.640] Server {3086886720} DEBUG: (dns) send query for trafficserver.apache.org to fd 38 [Dec 6 10:16:01.640] Server {3086886720} DEBUG: (dns) sent qname = trafficserver.apache.org, id = 4377, nameserver = 0 [Dec 6 10:16:01.640] Server {3086886720} DEBUG: (dns) sent_one: failover_number for resolver 0 is 1 [Dec 6 10:16:02.082] Server {3086886720} DEBUG: (dns) received packet size = 274 [Dec 6 10:16:02.082] Server {3086886720} DEBUG: (dns) primary DNS response code = 0 [Dec 6 10:16:02.082] Server {3086886720} DEBUG: (dns) received A name = trafficserver.apache.org [Dec 6 10:16:02.082] Server {3086886720} DEBUG: (dns) received A = 140.211.11.131 [Dec 6 10:16:02.082] Server {3086886720} DEBUG: (dns) SUCCESS result for trafficserver.apache.org = 140.211.11.131 retry 0 [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (dns) called back continuation for trafficserver.apache.org [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http) [0] [HttpSM::main_handler, EVENT_HOST_DB_LOOKUP] [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http) [0] [&HttpSM::state_hostdb_lookup, EVENT_HOST_DB_LOOKUP] [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_trans) [HttpTransact::OSDNSLookup] This was attempt 1 [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_seq) [HttpTransact::OSDNSLookup] DNS Lookup successful [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_trans) [OSDNSLookup] DNS lookup for O.S. successful IP: 140.211.11.131 [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_trans) Next action HttpTransact::HTTP_API_OS_DNS; HandleCacheOpenReadMiss [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http) [0] State Transition: DNS_LOOKUP -> API_OS_DNS [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_trans) [HandleCacheOpenReadMiss] --- MISS [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_seq) [HttpTransact::HandleCacheOpenReadMiss] Miss in cache [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_trans) Next action DNS_LOOKUP; HttpTransact::PPDNSLookup [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http) [0] State Transition: API_OS_DNS -> DNS_LOOKUP [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (dns) [HttpTransact::HandleRequest] Skipping DNS lookup, provided by plugin [Dec 6 10:16:02.082] Server {3066604400} DEBUG: (http_trans) [HttpTransact::PPDNSLookup] This was attempt 1 It maybe related to the following issues: https://issues.apache.org/jira/browse/TS-859 https://issues.apache.org/jira/browse/TS-905 I have applied the fix for 859 to my copy. I have also made the following change and it appears to fix the problem with the DNS lookup, the code was added to line 6413 in HttpSM.cc. I probably should added something to check that a parent has been specified also, if somebody could review and comment I would be really grateful. } else if (t_state.parent_result.r == PARENT_UNDEFINED && t_state.dns_info.lookup_success) { Debug("dns", "[HttpTransact::HandleRequest] Skipping DNS lookup, provided by plugin"); call_transact_and_set_next_state(NULL); break; /* change start */ } else if (t_state.dns_info.looking_up == HttpTransact::ORIGIN_SERVER && t_state.http_config_param->no_dns_forward_to_parent){ Debug("dns", "[HttpTransact::HandleRequest] Skipping DNS lookup, no_dns_forward_to_parent turned on"); t_state.dns_info.lookup_success = true; call_transact_and_set_next_state(NULL); break; /* change end */ } Regards, Kevin.