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;
       }