You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "James Peach (JIRA)" <ji...@apache.org> on 2013/03/15 19:26:13 UTC

[jira] [Updated] (TS-1566) dynamic update for string vars does not work

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

James Peach updated TS-1566:
----------------------------

    Fix Version/s:     (was: 3.3.4)
                   3.5.0
    
> dynamic update for string vars does not work
> --------------------------------------------
>
>                 Key: TS-1566
>                 URL: https://issues.apache.org/jira/browse/TS-1566
>             Project: Traffic Server
>          Issue Type: Bug
>          Components: Configuration
>    Affects Versions: 3.2.0
>            Reporter: Aidan McGurn
>            Priority: Critical
>             Fix For: 3.5.0
>
>
> i noticed that when i try to do a dynamic update of the scheme in congestion control it doesn't appear to work:
> registerd callback: CongestionControlDefaultSchemeChanged
> this function gets called back correctly when the var:
> CONFIG proxy.config.http.congestion_control.default.congestion_scheme STRING per_host
> is updated and 'traffic_line -x' is called..
> however the var returned via r->data (record data) or DEFAULT_congestion_scheme_str has not been updated unlike for its integer config counterparts -
> Th r->data has been overwritten with rubbish - in fact tracing it back i see 
> P_RecCore.i calls
>       for (cur_callback = r->config_meta.update_cb_list; cur_callback; cur_callback = cur_callback->next) {
>           (*(cur_callback->update_cb)) (r->name, r->data_type, r->data, cur_callback->update_cookie);
> this then calls before the callback function (r->data is correct at this point) a function called 'link_string_alloc' which has been registered via this function for all strings in general: 
>  CC_EstablishStaticConfigStringAlloc(DEFAULT_congestion_scheme_str, "proxy.config.http.congestion_control.default.congestion_scheme");
> The link_string_alloc overwrites the string with the passed in cookie var which has rubbish - this function looks completely wrong -
> i have commented it out updated string in r->data doesn't get overwritten and so is passed through ok - 
> ***could anyone explain what link_string alloc is actually needed for and does removing this lead to a memory leak?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira