This is an automated email from the ASF dual-hosted git repository. zwoop pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/9.0.x by this push: new 5cec370 change overridable var type for proxy.config.http.server_session_sharing.match from int to string (#6822) 5cec370 is described below commit 5cec370a69ac2636b49406f183503d106ff47e2a Author: Xin Li <33378623+whut...@users.noreply.github.com> AuthorDate: Fri Jun 12 13:10:59 2020 -0700 change overridable var type for proxy.config.http.server_session_sharing.match from int to string (#6822) Co-authored-by: xinli1 <xin...@linkedin.com> (cherry picked from commit 85d50c2d7e916e7e30c698fdb1c32b1db7779455) --- proxy/http/HttpConfig.cc | 10 ++++++---- proxy/http/HttpConfig.h | 2 ++ src/shared/overridable_txn_vars.cc | 2 +- src/traffic_server/InkAPI.cc | 5 +++++ 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc index ebe0886..59adba3 100644 --- a/proxy/http/HttpConfig.cc +++ b/proxy/http/HttpConfig.cc @@ -1113,6 +1113,7 @@ HttpConfig::startup() // [amc] This is a bit of a mess, need to figure out to make this cleaner. RecRegisterConfigUpdateCb("proxy.config.http.server_session_sharing.match", &http_server_session_sharing_cb, &c); http_config_enum_mask_read("proxy.config.http.server_session_sharing.match", c.oride.server_session_sharing_match); + HttpEstablishStaticConfigStringAlloc(c.oride.server_session_sharing_match_str, "proxy.config.http.server_session_sharing.match"); http_config_enum_read("proxy.config.http.server_session_sharing.pool", SessionSharingPoolStrings, c.server_session_sharing_pool); RecRegisterConfigUpdateCb("proxy.config.http.insert_forwarded", &http_insert_forwarded_cb, &c); @@ -1409,10 +1410,11 @@ HttpConfig::reconfigure() params->oride.flow_high_water_mark = params->oride.flow_low_water_mark = 0; } - params->oride.server_session_sharing_match = m_master.oride.server_session_sharing_match; - params->oride.server_min_keep_alive_conns = m_master.oride.server_min_keep_alive_conns; - params->server_session_sharing_pool = m_master.server_session_sharing_pool; - params->oride.keep_alive_post_out = m_master.oride.keep_alive_post_out; + params->oride.server_session_sharing_match = m_master.oride.server_session_sharing_match; + params->oride.server_session_sharing_match_str = ats_strdup(m_master.oride.server_session_sharing_match_str); + params->oride.server_min_keep_alive_conns = m_master.oride.server_min_keep_alive_conns; + params->server_session_sharing_pool = m_master.server_session_sharing_pool; + params->oride.keep_alive_post_out = m_master.oride.keep_alive_post_out; params->oride.keep_alive_no_activity_timeout_in = m_master.oride.keep_alive_no_activity_timeout_in; params->oride.keep_alive_no_activity_timeout_out = m_master.oride.keep_alive_no_activity_timeout_out; diff --git a/proxy/http/HttpConfig.h b/proxy/http/HttpConfig.h index 7c6eb7a..6ee850b 100644 --- a/proxy/http/HttpConfig.h +++ b/proxy/http/HttpConfig.h @@ -469,6 +469,7 @@ struct OverridableHttpConfigParams { MgmtInt server_min_keep_alive_conns = 0; MgmtByte server_session_sharing_match = 0; + char *server_session_sharing_match_str = nullptr; MgmtByte auth_server_session_private = 1; MgmtByte fwd_proxy_auth_to_parent = 0; MgmtByte uncacheable_requests_bypass_parent = 1; @@ -853,6 +854,7 @@ inline HttpConfigParams::~HttpConfigParams() ats_free(proxy_response_via_string); ats_free(anonymize_other_header_list); ats_free(oride.body_factory_template_base); + ats_free(oride.server_session_sharing_match_str); ats_free(oride.proxy_response_server_string); ats_free(oride.global_user_agent_header); ats_free(oride.ssl_client_cert_filename); diff --git a/src/shared/overridable_txn_vars.cc b/src/shared/overridable_txn_vars.cc index c38d8d4..3be8970 100644 --- a/src/shared/overridable_txn_vars.cc +++ b/src/shared/overridable_txn_vars.cc @@ -101,7 +101,7 @@ const std::unordered_map<std::string_view, std::tuple<const TSOverridableConfigK {"proxy.config.http.cache.ignore_server_no_cache", {TS_CONFIG_HTTP_CACHE_IGNORE_SERVER_NO_CACHE, TS_RECORDDATATYPE_INT}}, {"proxy.config.http.cache.heuristic_min_lifetime", {TS_CONFIG_HTTP_CACHE_HEURISTIC_MIN_LIFETIME, TS_RECORDDATATYPE_INT}}, {"proxy.config.http.cache.heuristic_max_lifetime", {TS_CONFIG_HTTP_CACHE_HEURISTIC_MAX_LIFETIME, TS_RECORDDATATYPE_INT}}, - {"proxy.config.http.server_session_sharing.match", {TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH, TS_RECORDDATATYPE_INT}}, + {"proxy.config.http.server_session_sharing.match", {TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH, TS_RECORDDATATYPE_STRING}}, {"proxy.config.http.cache.ignore_accept_mismatch", {TS_CONFIG_HTTP_CACHE_IGNORE_ACCEPT_MISMATCH, TS_RECORDDATATYPE_INT}}, {"proxy.config.http.cache.open_write_fail_action", {TS_CONFIG_HTTP_CACHE_OPEN_WRITE_FAIL_ACTION, TS_RECORDDATATYPE_INT}}, {"proxy.config.http.insert_squid_x_forwarded_for", {TS_CONFIG_HTTP_INSERT_SQUID_X_FORWARDED_FOR, TS_RECORDDATATYPE_INT}}, diff --git a/src/traffic_server/InkAPI.cc b/src/traffic_server/InkAPI.cc index 0be202f..6d8a56d 100644 --- a/src/traffic_server/InkAPI.cc +++ b/src/traffic_server/InkAPI.cc @@ -8761,6 +8761,7 @@ TSHttpTxnConfigStringSet(TSHttpTxn txnp, TSOverridableConfigKey conf, const char case TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH: if (value && length > 0) { HttpConfig::load_server_session_sharing_match(value, s->t_state.my_txn_conf().server_session_sharing_match); + s->t_state.my_txn_conf().server_session_sharing_match_str = const_cast<char *>(value); } break; case TS_CONFIG_SSL_CLIENT_VERIFY_SERVER_POLICY: @@ -8833,6 +8834,10 @@ TSHttpTxnConfigStringGet(TSHttpTxn txnp, TSOverridableConfigKey conf, const char *value = sm->t_state.txn_conf->body_factory_template_base; *length = sm->t_state.txn_conf->body_factory_template_base_len; break; + case TS_CONFIG_HTTP_SERVER_SESSION_SHARING_MATCH: + *value = sm->t_state.txn_conf->server_session_sharing_match_str; + *length = *value ? strlen(*value) : 0; + break; default: { MgmtConverter const *conv; const void *src = _conf_to_memberp(conf, sm->t_state.txn_conf, conv);