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 2016/10/12 22:54:25 UTC
[trafficserver] branch master updated: TS-4949: Disables the fuzzy
revalidation logic by default
This is an automated email from the ASF dual-hosted git repository.
zwoop pushed a commit to branch master
in repository https://git-dual.apache.org/repos/asf/trafficserver.git
The following commit(s) were added to refs/heads/master by this push:
new da57674 TS-4949: Disables the fuzzy revalidation logic by default
da57674 is described below
commit da576746185520663aceaea3ddc8f461c8d3eea5
Author: Leif Hedstrom <zw...@apache.org>
AuthorDate: Tue Oct 11 10:18:07 2016 -0600
TS-4949: Disables the fuzzy revalidation logic by default
---
doc/admin-guide/configuration/cache-basics.en.rst | 59 ----------------------
doc/admin-guide/files/records.config.en.rst | 17 +++++--
.../admin-guide/files/records.config.en.po | 3 +-
mgmt/RecordsConfig.cc | 4 +-
proxy/http/HttpTransact.cc | 2 +-
5 files changed, 17 insertions(+), 68 deletions(-)
diff --git a/doc/admin-guide/configuration/cache-basics.en.rst b/doc/admin-guide/configuration/cache-basics.en.rst
index f1610c7..7351d1e 100644
--- a/doc/admin-guide/configuration/cache-basics.en.rst
+++ b/doc/admin-guide/configuration/cache-basics.en.rst
@@ -797,65 +797,6 @@ of the object is completed::
CONFIG proxy.config.cache.read_while_writer_retry.delay INT 50
-.. _fuzzy-revalidation:
-
-Fuzzy Revalidation
-------------------
-
-.. note::
-
- These options are deprecated as of v6.2.0.
-
-Traffic Server can be set to attempt to revalidate an object before it becomes
-stale in cache. :file:`records.config` contains the settings::
-
- CONFIG proxy.config.http.cache.fuzz.time INT 240
- CONFIG proxy.config.http.cache.fuzz.min_time INT 0
- CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.005
-
-For every request for an object that occurs
-:ts:cv:`proxy.config.http.cache.fuzz.time` before (in the example above, 240
-seconds) the object is set to become stale, there is a small
-chance (:ts:cv:`proxy.config.http.cache.fuzz.probability` == 0.5%) that the
-request will trigger a revalidation request to the origin.
-
-.. note::
-
- When revalidation occurs, the requested object is no longer available to be
- served from cache. Subsequent requests for that object will be proxied to
- the origin.
-
-For objects getting a few requests per second, these settings would offer a
-fairly low probability of revalidating the cached object before it becomes
-stale. This feature is not typically necessary at those rates, though, since
-odds are only one or a small number of connections would hit origin upon the
-objects going stale.
-
-Once request raise rise, the same ``fuzz.probability`` leads to a greater
-chance the object may be revalidated before becoming stale. This can prevent
-multiple clients simultaneously triggering contact with the origin server
-under higher loads, as they would do if no fuzziness was employed for
-revalidations.
-
-These settings are also overridable by remap rules and via plugins, so can be
-adjusted per request if necessary.
-
-Finally, :ts:cv:`proxy.config.http.cache.fuzz.min_time` allows for
-different time periods to evaluate the probability of revalidation for small
-TTLs and large TTLs. Objects with small TTLs will start "rolling the
-revalidation dice" near the ``fuzz.min_time``, while objects with large TTLs
-would start at ``fuzz.time``.
-
-A logarithmic like function between determines the revalidation evaluation
-start time (which will be between ``fuzz.min_time`` and ``fuzz.time``). As the
-object gets closer to expiring, the window start becomes more likely. By
-default this setting is not enabled, but should be enabled anytime you have
-objects with small TTLs. Note that this option predates overridable
-configurations, so you can achieve something similar with a plugin or
-:file:`remap.config` settings.
-
-These configuration options are similar to Squid's refresh_stale_hit
-configuration option.
Open Read Retry Timeout
-----------------------
diff --git a/doc/admin-guide/files/records.config.en.rst b/doc/admin-guide/files/records.config.en.rst
index 93b46a3..3f7d3b5 100644
--- a/doc/admin-guide/files/records.config.en.rst
+++ b/doc/admin-guide/files/records.config.en.rst
@@ -2072,16 +2072,20 @@ Heuristic Expiration
aging factor is applied, the final maximum age calculated will never be
higher than the value in this variable.
-.. ts:cv:: CONFIG proxy.config.http.cache.fuzz.time INT 240
+.. ts:cv:: CONFIG proxy.config.http.cache.fuzz.time INT 0
:deprecated:
:reloadable:
:overridable:
How often |TS| checks for an early refresh, during the period before the
- document stale time. The interval specified must be in seconds. See the
- section on :ref:`fuzzy-revalidation` for more details.
+ document stale time. The interval specified must be in seconds.
-.. ts:cv:: CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.005
+.. note::
+
+ Previous versions of Apache Traffic Server defaulted this to 240s. This
+ feature is deprecated as of ATS v6.2.0.
+
+.. ts:cv:: CONFIG proxy.config.http.cache.fuzz.probability FLOAT 0.0
:deprecated:
:reloadable:
:overridable:
@@ -2089,6 +2093,11 @@ Heuristic Expiration
The probability that a refresh is made on a document during the fuzz time
specified in :ts:cv:`proxy.config.http.cache.fuzz.time`.
+.. note::
+
+ Previous versions of Apache Traffic Server defaulted this to 0.005 (0.5%).
+ This feature is deprecated as of ATS v6.2.0
+
.. ts:cv:: CONFIG proxy.config.http.cache.fuzz.min_time INT 0
:deprecated:
:reloadable:
diff --git a/doc/locale/ja/LC_MESSAGES/admin-guide/files/records.config.en.po b/doc/locale/ja/LC_MESSAGES/admin-guide/files/records.config.en.po
index eed3b9a..b3589cf 100644
--- a/doc/locale/ja/LC_MESSAGES/admin-guide/files/records.config.en.po
+++ b/doc/locale/ja/LC_MESSAGES/admin-guide/files/records.config.en.po
@@ -3305,8 +3305,7 @@ msgstr ""
#: ../../../admin-guide/files/records.config.en.rst:2052
msgid ""
"How often |TS| checks for an early refresh, during the period before the "
-"document stale time. The interval specified must be in seconds. See the "
-"section on :ref:`fuzzy-revalidation` for more details."
+"document stale time. The interval specified must be in seconds."
msgstr ""
#: ../../../admin-guide/files/records.config.en.rst:2061
diff --git a/mgmt/RecordsConfig.cc b/mgmt/RecordsConfig.cc
index 23d27ab..5a4ab33 100644
--- a/mgmt/RecordsConfig.cc
+++ b/mgmt/RecordsConfig.cc
@@ -710,11 +710,11 @@ static const RecordElement RecordsConfig[] =
,
{RECT_CONFIG, "proxy.config.http.cache.guaranteed_max_lifetime", RECD_INT, "31536000", RECU_DYNAMIC, RR_NULL, RECC_NULL, NULL, RECA_NULL}
,
- {RECT_CONFIG, "proxy.config.http.cache.fuzz.time", RECD_INT, "240", RECU_DYNAMIC, RR_NULL, RECC_NULL, NULL, RECA_NULL}
+ {RECT_CONFIG, "proxy.config.http.cache.fuzz.time", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_NULL, NULL, RECA_NULL}
,
{RECT_CONFIG, "proxy.config.http.cache.fuzz.min_time", RECD_INT, "0", RECU_DYNAMIC, RR_NULL, RECC_NULL, NULL, RECA_NULL}
,
- {RECT_CONFIG, "proxy.config.http.cache.fuzz.probability", RECD_FLOAT, "0.005", RECU_DYNAMIC, RR_NULL, RECC_NULL, NULL, RECA_NULL}
+ {RECT_CONFIG, "proxy.config.http.cache.fuzz.probability", RECD_FLOAT, "0.0", RECU_DYNAMIC, RR_NULL, RECC_NULL, NULL, RECA_NULL}
,
// #########################################
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index f7dd4e9..154785a 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -7351,7 +7351,7 @@ HttpTransact::what_is_document_freshness(State *s, HTTPHdr *client_request, HTTP
// Fuzz the freshness to prevent too many revalidates to popular
// documents at the same time
- if (s->txn_conf->freshness_fuzz_time >= 0) {
+ if ((s->txn_conf->freshness_fuzz_time > 0) && (s->txn_conf->freshness_fuzz_prob > 0.0)) {
fresh_limit = fresh_limit - calculate_freshness_fuzz(s, fresh_limit);
fresh_limit = max(0, fresh_limit);
fresh_limit = min((int)s->txn_conf->cache_guaranteed_max_lifetime, fresh_limit);
--
To stop receiving notification emails like this one, please contact
['"commits@trafficserver.apache.org" <co...@trafficserver.apache.org>'].