Aidan McGurn created TS-1566:
--------------------------------
Summary: 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
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