You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by su...@apache.org on 2015/07/10 03:44:20 UTC

trafficserver git commit: Add docs for new settings addded to solve the thundering herd problem.

Repository: trafficserver
Updated Branches:
  refs/heads/master f11732f25 -> 40984ad7e


Add docs for new settings addded to solve the thundering herd problem.


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/40984ad7
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/40984ad7
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/40984ad7

Branch: refs/heads/master
Commit: 40984ad7e99e8ced8508d87dd03351fb7673c0ca
Parents: f11732f
Author: Sudheer Vinukonda <su...@yahoo-inc.com>
Authored: Fri Jul 10 01:43:37 2015 +0000
Committer: Sudheer Vinukonda <su...@yahoo-inc.com>
Committed: Fri Jul 10 01:43:37 2015 +0000

----------------------------------------------------------------------
 doc/admin/http-proxy-caching.en.rst              | 15 +++++++++++++++
 .../configuration/records.config.en.rst          | 19 +++++++++++++++++++
 2 files changed, 34 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/40984ad7/doc/admin/http-proxy-caching.en.rst
----------------------------------------------------------------------
diff --git a/doc/admin/http-proxy-caching.en.rst b/doc/admin/http-proxy-caching.en.rst
index 2ef0700..8b070bc 100644
--- a/doc/admin/http-proxy-caching.en.rst
+++ b/doc/admin/http-proxy-caching.en.rst
@@ -782,6 +782,12 @@ All four configurations are required, for the following reasons:
 Once these are enabled, you have something that is very close, but not quite
 the same, to Squid's Collapsed Forwarding.
 
+In addition to the above settings, the below setting allows to control the number
+of retries (100msec each) TS attempts to trigger read-while-writer until it can get
+the first fragment of the object being downloaded::
+
+    CONFIG proxy.config.cache.read_while_writer.max_retries INT 10
+
 .. _fuzzy-revalidation:
 
 Fuzzy Revalidation
@@ -880,3 +886,12 @@ The defaults are such that the feature is disabled and every connection is
 allowed to go to origin without artificial delay. When enabled, you will try
 ``max_open_read_retries`` times, each with an ``open_read_retry_time`` timeout.
 
+Open Write Fail Action
+----------------------
+
+In addition to the open read retry settings TS supports a new setting
+:ts:cv:`proxy.config.http.cache.open_write_fail_action` that allows to further
+reduce multiple concurrent requests hitting the origin for the same object by
+either returning a stale copy, in case of hit-stale or an error in case of cache
+miss for all but one of the requests.
+

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/40984ad7/doc/reference/configuration/records.config.en.rst
----------------------------------------------------------------------
diff --git a/doc/reference/configuration/records.config.en.rst b/doc/reference/configuration/records.config.en.rst
index 9f81ee2..46f5f6f 100644
--- a/doc/reference/configuration/records.config.en.rst
+++ b/doc/reference/configuration/records.config.en.rst
@@ -1285,6 +1285,13 @@ Cache Control
    usable. See :ref:`Reducing Origin Server Requests
    <http-proxy-caching.en.html#reducing-origin-server-requests-avoiding-the-thundering-herd>`.
 
+.. ts:cv:: CONFIG proxy.config.cache.read_while_writer.max_retries INT 10
+   :reloadable:
+
+   Specifies how many retries (100msec each) trafficserver attempts to trigger read_while_writer
+   on failing to obtain the write VC mutex or until the first fragment is downloaded for the
+   object being downloaded.
+
 .. ts:cv:: CONFIG proxy.config.cache.force_sector_size INT 0
    :reloadable:
 
@@ -1651,6 +1658,18 @@ all the different user-agent versions of documents it encounters.
 
     The number of times to attempt fetching an object from cache if there was an equivalent request in flight.
 
+.. ts:cv:: CONFIG proxy.config.http.cache.open_write_fail_action INT 0
+   :reloadable:
+
+    This bit-map setting indicates the action taken on failing to obtain the cache open write lock on either a cache miss or
+    a cache hit stale. This typically happens when there is more than one request to the same cache object simultaneously.
+    During such scenario, all but one (which goes to the origin) request is served either a stale copy or an error depending
+    on the setting.
+
+   -  ``0`` = default, disable cache and goto origin server
+   -  ``1`` = return a 502 error
+   -  ``2`` = serve stale if object's age is under `proxy.config.http.cache.max_stale_age`, else, goto origin server
+
 Customizable User Response Pages
 ================================