You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2013/08/03 22:51:38 UTC
[29/52] [abbrv] git commit: TS-1255 Fix the types for all overridable
configs. This was actually a real bug in the code,
in that all float configurations were actually treated as integer,
rendering them useless
TS-1255 Fix the types for all overridable configs. This was actually a real bug in the code,
in that all float configurations were actually treated as integer, rendering them useless
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/f047b43e
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/f047b43e
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/f047b43e
Branch: refs/heads/3.3.x
Commit: f047b43ecd68d107ef8d904e6afe1415fc6507f0
Parents: cba9303
Author: Leif Hedstrom <zw...@apache.org>
Authored: Mon Jul 29 20:33:48 2013 +0200
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Thu Aug 1 22:42:49 2013 +0200
----------------------------------------------------------------------
proxy/InkAPI.cc | 31 +++++++++++++++++--------------
proxy/InkAPITest.cc | 38 +++++++++++++++++++++++---------------
2 files changed, 40 insertions(+), 29 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/f047b43e/proxy/InkAPI.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPI.cc b/proxy/InkAPI.cc
index 5b3e728..602c6a0 100644
--- a/proxy/InkAPI.cc
+++ b/proxy/InkAPI.cc
@@ -7516,6 +7516,7 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
ret = &sm->t_state.txn_conf->doc_in_cache_skip_dns;
break;
case TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT:
+ typ = OVERRIDABLE_TYPE_INT;
ret = &sm->t_state.txn_conf->background_fill_active_timeout;
break;
case TS_CONFIG_HTTP_RESPONSE_SERVER_STR:
@@ -7543,7 +7544,6 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
ret = &sm->t_state.txn_conf->sock_packet_tos_out;
break;
case TS_CONFIG_HTTP_INSERT_AGE_IN_RESPONSE:
- typ = OVERRIDABLE_TYPE_INT;
ret = &sm->t_state.txn_conf->insert_age_in_response;
break;
case TS_CONFIG_HTTP_CHUNKING_SIZE:
@@ -7562,11 +7562,9 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
ret = &sm->t_state.txn_conf->flow_high_water_mark;
break;
case TS_CONFIG_HTTP_CACHE_RANGE_LOOKUP:
- typ = OVERRIDABLE_TYPE_INT;
ret = &sm->t_state.txn_conf->cache_range_lookup;
break;
case TS_CONFIG_HTTP_NORMALIZE_AE_GZIP:
- typ = OVERRIDABLE_TYPE_INT;
ret = &sm->t_state.txn_conf->normalize_ae_gzip;
break;
case TS_CONFIG_HTTP_DEFAULT_BUFFER_SIZE:
@@ -7586,7 +7584,6 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
ret = &sm->t_state.txn_conf->response_hdr_max_size;
break;
case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_ENABLED:
- typ = OVERRIDABLE_TYPE_INT;
ret = &sm->t_state.txn_conf->negative_revalidating_enabled;
break;
case TS_CONFIG_HTTP_NEGATIVE_REVALIDATING_LIFETIME:
@@ -7594,7 +7591,6 @@ _conf_to_memberp(TSOverridableConfigKey conf, HttpSM* sm, OverridableDataType *t
ret = &sm->t_state.txn_conf->negative_revalidating_lifetime;
break;
case TS_CONFIG_HTTP_ACCEPT_ENCODING_FILTER_ENABLED:
- typ = OVERRIDABLE_TYPE_INT;
ret = &sm->t_state.txn_conf->accept_encoding_filter_enabled;
break;
@@ -7903,8 +7899,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
cnf = TS_CONFIG_HTTP_KEEP_ALIVE_ENABLED_OUT;
break;
case 'y':
- if (!strncmp(name, "proxy.config.http.cache.fuzz.probability", length))
+ if (!strncmp(name, "proxy.config.http.cache.fuzz.probability", length)) {
+ typ = TS_RECORDDATATYPE_FLOAT;
cnf = TS_CONFIG_HTTP_CACHE_FUZZ_PROBABILITY;
+ }
break;
}
break;
@@ -7972,8 +7970,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
cnf = TS_CONFIG_HTTP_CACHE_CLUSTER_CACHE_LOCAL;
break;
case 'r':
- if (!strncmp(name, "proxy.config.http.cache.heuristic_lm_factor", length))
+ if (!strncmp(name, "proxy.config.http.cache.heuristic_lm_factor", length)) {
+ typ = TS_RECORDDATATYPE_FLOAT;
cnf = TS_CONFIG_HTTP_CACHE_HEURISTIC_LM_FACTOR;
+ }
break;
}
break;
@@ -8068,14 +8068,15 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
break;
case 't':
switch (name[length-4]) {
- case '_':
+ case '_':
if (!strncmp(name, "proxy.config.http.transaction_active_timeout_out", length))
cnf = TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT;
break;
- case 'e':
- if (!strncmp(name, "proxy.config.http.background_fill_active_timeout", length))
- cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT;
- break;
+ case 'e':
+ if (!strncmp(name, "proxy.config.http.background_fill_active_timeout", length)) {
+ cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_ACTIVE_TIMEOUT;
+ }
+ break;
}
break;
}
@@ -8115,8 +8116,10 @@ TSHttpTxnConfigFind(const char* name, int length, TSOverridableConfigKey *conf,
cnf = TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT;
break;
case 'd':
- if (!strncmp(name, "proxy.config.http.background_fill_completed_threshold", length))
- cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD;
+ if (!strncmp(name, "proxy.config.http.background_fill_completed_threshold", length)) {
+ typ = TS_RECORDDATATYPE_FLOAT;
+ cnf = TS_CONFIG_HTTP_BACKGROUND_FILL_COMPLETED_THRESHOLD;
+ }
break;
}
break;
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/f047b43e/proxy/InkAPITest.cc
----------------------------------------------------------------------
diff --git a/proxy/InkAPITest.cc b/proxy/InkAPITest.cc
index f9a0f83..9bbf6a5 100644
--- a/proxy/InkAPITest.cc
+++ b/proxy/InkAPITest.cc
@@ -7415,11 +7415,13 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atyp
HttpSM* s = HttpSM::allocate();
bool success = true;
TSHttpTxn txnp = reinterpret_cast<TSHttpTxn>(s);
- TSMgmtInt ival = 0;
- TSMgmtFloat fval;
- const char *sval;
+ InkRand generator(17);
+ TSMgmtInt ival_read, ival_rand;
+ TSMgmtFloat fval_read, fval_rand;
+ const char *sval_read;
const char *test_string = "The Apache Traffic Server";
- int tmp_int;
+ int len;
+
s->init();
@@ -7438,23 +7440,28 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atyp
success = false;
continue;
}
+
// Now check the getters / setters
switch (type) {
case TS_RECORDDATATYPE_INT:
- TSHttpTxnConfigIntSet(txnp, key, 17);
- TSHttpTxnConfigIntGet(txnp, key, &ival);
- if (17 != ival) {
- SDK_RPRINT(test, "TSHttpTxnConfigIntSet", "TestCase1", TC_FAIL, "Failed on %s, expected 17, got %d", conf, ival);
+ ival_rand = generator.random() % 126; // to fit in a signed byte
+ TSHttpTxnConfigIntSet(txnp, key, ival_rand);
+ TSHttpTxnConfigIntGet(txnp, key, &ival_read);
+ if (ival_rand != ival_read) {
+ SDK_RPRINT(test, "TSHttpTxnConfigIntSet", "TestCase1", TC_FAIL, "Failed on %s, %d != %d", conf,
+ ival_read, ival_rand);
success = false;
continue;
}
break;
case TS_RECORDDATATYPE_FLOAT:
- TSHttpTxnConfigFloatSet(txnp, key, 17.17);
- TSHttpTxnConfigFloatGet(txnp, key, &fval);
- if (17.17 != fval) {
- SDK_RPRINT(test, "TSHttpTxnConfigFloatSet", "TestCase1", TC_FAIL, "Failed on %s, expected 17, got %d", conf, ival);
+ fval_rand = generator.random();
+ TSHttpTxnConfigFloatSet(txnp, key, fval_rand);
+ TSHttpTxnConfigFloatGet(txnp, key, &fval_read);
+ if (fval_rand != fval_read) {
+ SDK_RPRINT(test, "TSHttpTxnConfigFloatSet", "TestCase1", TC_FAIL, "Failed on %s, %f != %f", conf,
+ fval_read, fval_rand);
success = false;
continue;
}
@@ -7462,9 +7469,10 @@ REGRESSION_TEST(SDK_API_OVERRIDABLE_CONFIGS) (RegressionTest * test, int /* atyp
case TS_RECORDDATATYPE_STRING:
TSHttpTxnConfigStringSet(txnp, key, test_string, -1);
- TSHttpTxnConfigStringGet(txnp, key, &sval, &tmp_int);
- if (test_string != sval) {
- SDK_RPRINT(test, "TSHttpTxnConfigStringSet", "TestCase1", TC_FAIL, "Failed on %s, expected 17, got %s", conf, sval);
+ TSHttpTxnConfigStringGet(txnp, key, &sval_read, &len);
+ if (test_string != sval_read) {
+ SDK_RPRINT(test, "TSHttpTxnConfigStringSet", "TestCase1", TC_FAIL, "Failed on %s, %s != %s", conf,
+ sval_read, test_string);
success = false;
continue;
}