no_dns_just_forward_to_parent configuration parameter is ignored/not used. --------------------------------------------------------------------------
Key: TS-1073 URL: https://issues.apache.org/jira/browse/TS-1073 Project: Traffic Server Issue Type: Bug Components: DNS Affects Versions: 3.0.2 Environment: Ubuntu 10.0, Fedora 14 Reporter: Kevin Giles I have two instances of trafficserver configured, one instance is configured to use the second instance as a parent proxy using the following parameters from the records.config: CONFIG proxy.config.http.no_dns_just_forward_to_parent INT 1 CONFIG proxy.config.http.parent_proxy_routing_enable INT 1 The parent config looks like this: dest_domain=. parent="parent:8080" round_robin=false The no_dns_just_forward_to_parent is not used in the code and as a result dns lookups are being performed in the child instance. The following code changes seem to fix this: proxy/http/HttpSM.cc @@ -6406,11 +6405,20 @@ t_state.dns_info.lookup_success = true; call_transact_and_set_next_state(NULL); break; } else if (t_state.parent_result.r == PARENT_UNDEFINED && t_state.dns_info.lookup_success) { // Already set, and we don't have a parent proxy to lookup ink_assert(t_state.host_db_info.ip()); Debug("dns", "[HttpTransact::HandleRequest] Skipping DNS lookup, provided by plugin"); call_transact_and_set_next_state(NULL); break; + } else if (t_state.dns_info.looking_up == HttpTransact::ORIGIN_SERVER && + t_state.http_config_param->no_dns_forward_to_parent){ + + if(t_state.cop_test_page) { + t_state.host_db_info.ip() =t_state.state_machine->ua_session->get_netvc()->get_local_ip(); + } + + t_state.dns_info.lookup_success = true; + call_transact_and_set_next_state(NULL); + break; } HTTP_SM_SET_DEFAULT_HANDLER(&HttpSM::state_hostdb_lookup); to avoid reverse ns lookups /proxy/http/HttpTransact.cc @@ -1650,7 +1651,8 @@ } else if (s->dns_info.lookup_name[0] <= '9' && s->dns_info.lookup_name[0] >= '0' && //(s->state_machine->authAdapter.needs_rev_dns() || - ( host_rule_in_CacheControlTable() || s->parent_params->ParentTable->hostMatch)) { + ( host_rule_in_CacheControlTable() || s->parent_params->ParentTable->hostMatch) && + !s->http_config_param->no_dns_forward_to_parent) { // note, broken logic: ACC fudges the OR stmt to always be true, // 'AuthHttpAdapter' should do the rev-dns if needed, not here . TRANSACT_RETURN(REVERSE_DNS_LOOKUP, HttpTransact::StartAccessControl); I would like to have these changes applied to the repository if they look ok. I also created an empty resolv.conf and pointed ats to the empty file: CONFIG proxy.config.dns.resolv_conf STRING /usr/local/etc/trafficserver/resolv.conf When these changes are applied the child instance no longer attempts to perform dns lookups for the http requests that it receives. If they are not applied and the dns lookup it slow or unreliable on the child then the http requests are blocked by the dns lookup within the child trafficserver instance. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira