[ 
https://issues.apache.org/jira/browse/TS-1073?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kevin Giles updated TS-1073:
----------------------------

    Attachment:     (was: TS-1073.patch)
    
> 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
>            Assignee: Leif Hedstrom
>             Fix For: 3.1.3
>
>
> 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

        

Reply via email to