trafficserver-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From zw...@apache.org
Subject [trafficserver] branch master updated: Removes the remnants of congestion.config and related code
Date Tue, 08 May 2018 12:24:01 GMT
This is an automated email from the ASF dual-hosted git repository.

zwoop pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new 0a865b4  Removes the remnants of congestion.config and related code
0a865b4 is described below

commit 0a865b44331e03b4049eb521f1a70fc8733516f6
Author: Randall Meyer <randallmeyer@yahoo.com>
AuthorDate: Mon May 7 08:21:22 2018 +0100

    Removes the remnants of congestion.config and related code
    
    This was started in 4e62375623b3307b073d9b8375e19171d3af4e54
---
 README                                             |   3 +-
 REVIEWERS                                          |   1 -
 cmd/traffic_manager/AddConfigFilesHere.cc          |   1 -
 cmd/traffic_manager/traffic_manager.cc             |   2 -
 configure.ac                                       |   1 -
 doc/.tx/config                                     |  10 -
 .../monitoring/statistics/core/congestion.en.rst   |  30 --
 doc/developer-guide/api/types/TSServerState.en.rst |   4 +-
 .../admin-guide/files/congestion.config.en.po      | 375 ------------------
 .../monitoring/statistics/core/congestion.en.po    |  33 --
 iocore/eventsystem/I_Event.h                       |   1 -
 lib/perl/lib/Apache/TS/AdminClient.pm              |  15 -
 lib/records/I_RecAlarms.h                          |   2 -
 lib/records/I_RecSignals.h                         |   2 -
 lib/ts/apidefs.h.in                                |   2 -
 mgmt/Alarms.cc                                     |   7 -
 mgmt/Alarms.h                                      |   7 +-
 mgmt/BaseManager.h                                 |   2 -
 mgmt/LocalManager.cc                               |   8 -
 mgmt/api/GenericParser.cc                          |  13 -
 mgmt/api/GenericParser.h                           |   2 -
 mgmt/api/include/mgmtapi.h                         |   1 -
 plugins/experimental/ts_lua/ts_lua_http.c          |  19 +-
 proxy/config/Makefile.am                           |   1 -
 proxy/config/body_factory/default/Makefile.am      |   1 -
 .../body_factory/default/congestion#retryAfter     |  15 -
 proxy/config/congestion.config.default             |  59 ---
 proxy/congest/FeatureSpec.txt                      | 428 ---------------------
 proxy/congest/Makefile.am                          |  44 ---
 proxy/http/HttpDebugNames.cc                       |   4 -
 proxy/http/HttpSM.cc                               |   1 -
 proxy/http/HttpTransact.cc                         |   8 +-
 proxy/http/HttpTransact.h                          |   2 -
 .../gold_tests/autest-site/trafficserver.test.ext  |   8 +-
 34 files changed, 13 insertions(+), 1099 deletions(-)

diff --git a/README b/README
index d7628ad..1c44fd7 100644
--- a/README
+++ b/README
@@ -46,7 +46,6 @@ plugins to build large scale web applications.
   |-- proxy/ ............. HTTP proxy logic
       |-- api/ ........... Plugin API includes
       |-- config/ ........ Configurations
-      |-- congest/ ....... Congestion control
       |-- hdrs/ .......... Headers parsing and management
       |-- http/ .......... The actual HTTP protocol implementation
       |---http2/ ......... HTTP/2 implementation
@@ -109,7 +108,7 @@ plugins to build large scale web applications.
     libtool
     tcl-dev
     linux-headers
-  
+
   OSX (we recommend HomeBrew):
     autoconf
     automake
diff --git a/REVIEWERS b/REVIEWERS
index 15d89ac..db992a5 100644
--- a/REVIEWERS
+++ b/REVIEWERS
@@ -99,7 +99,6 @@ Config
         zwoop@apache.org
         bcall@apache.org
         georgep@apache.org
-Congest
 Logging
         georgep@apache.org
 MGMT
diff --git a/cmd/traffic_manager/AddConfigFilesHere.cc b/cmd/traffic_manager/AddConfigFilesHere.cc
index 62caa38..d514952 100644
--- a/cmd/traffic_manager/AddConfigFilesHere.cc
+++ b/cmd/traffic_manager/AddConfigFilesHere.cc
@@ -72,7 +72,6 @@ initializeRegistry()
   configFiles->addFile("remap.config", false);
   configFiles->addFile("volume.config", false);
   configFiles->addFile("hosting.config", false);
-  configFiles->addFile("congestion.config", false);
   configFiles->addFile("plugin.config", false);
   configFiles->addFile("splitdns.config", false);
   configFiles->addFile("ssl_multicert.config", false);
diff --git a/cmd/traffic_manager/traffic_manager.cc b/cmd/traffic_manager/traffic_manager.cc
index 7a79c08..c9e3cfe 100644
--- a/cmd/traffic_manager/traffic_manager.cc
+++ b/cmd/traffic_manager/traffic_manager.cc
@@ -1030,8 +1030,6 @@ fileUpdated(char *fname, bool incVersion)
   } else if (strcmp(fname, "metrics.config") == 0) {
     ink_atomic_increment(&metrics_version, 1);
     mgmt_log("[fileUpdated] metrics.config file has been modified\n");
-  } else if (strcmp(fname, "congestion.config") == 0) {
-    lmgmt->signalFileChange("proxy.config.http.congestion_control.filename");
   } else if (strcmp(fname, "proxy.config.ssl.server.ticket_key.filename") == 0) {
     lmgmt->signalFileChange("proxy.config.ssl.server.ticket_key.filename");
   } else if (strcmp(fname, SSL_SERVER_NAME_CONFIG) == 0) {
diff --git a/configure.ac b/configure.ac
index 5992bc4..bc6929c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2073,7 +2073,6 @@ AC_CONFIG_FILES([
   proxy/config/body_factory/default/Makefile
   proxy/config/records.config.default
   proxy/config/storage.config.default
-  proxy/congest/Makefile
   proxy/hdrs/Makefile
   proxy/http/Makefile
   proxy/http/remap/Makefile
diff --git a/doc/.tx/config b/doc/.tx/config
index 5fce4b5..0ceede8 100644
--- a/doc/.tx/config
+++ b/doc/.tx/config
@@ -72,11 +72,6 @@ file_filter = locale/<lang>/LC_MESSAGES/admin-guide/files/cache.config.en.po
 source_file = _build/locale/pot/admin-guide/files/cache.config.en.pot
 source_lang = en
 
-[apache-traffic-server-6x.admin-guide--files--congestion_config_en]
-file_filter = locale/<lang>/LC_MESSAGES/admin-guide/files/congestion.config.en.po
-source_file = _build/locale/pot/admin-guide/files/congestion.config.en.pot
-source_lang = en
-
 [apache-traffic-server-6x.admin-guide--files--hosting_config_en]
 file_filter = locale/<lang>/LC_MESSAGES/admin-guide/files/hosting.config.en.po
 source_file = _build/locale/pot/admin-guide/files/hosting.config.en.pot
@@ -262,11 +257,6 @@ file_filter = locale/<lang>/LC_MESSAGES/admin-guide/monitoring/statistics/core/c
 source_file = _build/locale/pot/admin-guide/monitoring/statistics/core/cluster.en.pot
 source_lang = en
 
-[apache-traffic-server-6x.admin-guide--monitoring--statistics--core--congestion_en]
-file_filter = locale/<lang>/LC_MESSAGES/admin-guide/monitoring/statistics/core/congestion.en.po
-source_file = _build/locale/pot/admin-guide/monitoring/statistics/core/congestion.en.pot
-source_lang = en
-
 [apache-traffic-server-6x.admin-guide--monitoring--statistics--core--dns_en]
 file_filter = locale/<lang>/LC_MESSAGES/admin-guide/monitoring/statistics/core/dns.en.po
 source_file = _build/locale/pot/admin-guide/monitoring/statistics/core/dns.en.pot
diff --git a/doc/admin-guide/monitoring/statistics/core/congestion.en.rst b/doc/admin-guide/monitoring/statistics/core/congestion.en.rst
deleted file mode 100644
index c99478c..0000000
--- a/doc/admin-guide/monitoring/statistics/core/congestion.en.rst
+++ /dev/null
@@ -1,30 +0,0 @@
-.. Licensed to the Apache Software Foundation (ASF) under one
-   or more contributor license agreements.  See the NOTICE file
-   distributed with this work for additional information
-   regarding copyright ownership.  The ASF licenses this file
-   to you under the Apache License, Version 2.0 (the
-   "License"); you may not use this file except in compliance
-   with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing,
-   software distributed under the License is distributed on an
-   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-   KIND, either express or implied.  See the License for the
-   specific language governing permissions and limitations
-   under the License.
-
-.. include:: ../../../../common.defs
-
-.. _admin-stats-core-congestion:
-
-Congestion
-**********
-
-.. ts:stat:: global proxy.process.congestion.congested_on_conn_failures integer
-   :type: counter
-
-.. ts:stat:: global proxy.process.congestion.congested_on_max_connection integer
-   :type: counter
-
diff --git a/doc/developer-guide/api/types/TSServerState.en.rst b/doc/developer-guide/api/types/TSServerState.en.rst
index 05f03b6..6af8837 100644
--- a/doc/developer-guide/api/types/TSServerState.en.rst
+++ b/doc/developer-guide/api/types/TSServerState.en.rst
@@ -51,9 +51,7 @@ Enumeration Members
 
 .. c:member:: TSServerState TS_SRVSTATE_TRANSACTION_COMPLETE
 
-.. c:member:: TSServerState TS_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_F
-
-.. c:member:: TSServerState TS_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_M
+.. c:member:: TSServerState TS_SRVSTATE_PARENT_RETRY
 
 Description
 ===========
diff --git a/doc/locale/ja/LC_MESSAGES/admin-guide/files/congestion.config.en.po b/doc/locale/ja/LC_MESSAGES/admin-guide/files/congestion.config.en.po
deleted file mode 100644
index 51439ed..0000000
--- a/doc/locale/ja/LC_MESSAGES/admin-guide/files/congestion.config.en.po
+++ /dev/null
@@ -1,375 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: Apache Traffic Server 6.2\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-02-14 12:15+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.2.0\n"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:20
-msgid "congestion.config"
-msgstr "congestion.config"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:24
-msgid ""
-"The :file:`congestion.config` file (by default, located in ``/usr/local/etc/"
-"trafficserver/``) enables you to configure Traffic Server to stop "
-"forwarding HTTP requests to origin servers when they become congested, and "
-"then send the client a message to retry the congested origin server later. "
-"After you modify the :file:`congestion.config` file, navigate to the "
-"Traffic Server bin directory; then run the :option:`traffic_ctl config "
-"reload` command to apply changes. When you apply the changes to a node in a "
-"cluster, Traffic Server automatically applies the changes to all other "
-"nodes in the cluster. Traffic Server uses the :file:`congestion.config` "
-"file only if you enable the :ts:cv:`proxy.config.http.congestion_control."
-"enabled` option."
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:36
-msgid "You can create rules in the congestion.config file to specify:"
-msgstr "congestion.config ファイルにルールを作り次のことを指定できます。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:38
-msgid "Which origin servers Traffic Server tracks for congestion."
-msgstr "Traffic Server がどのオリジンサーバーの輻輳を監視するか"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:39
-msgid ""
-"The timeouts Traffic Server uses, depending on whether a server is "
-"congested."
-msgstr "Traffic Server がサーバーが輻輳したかの基準にするタイムアウト"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:41
-msgid ""
-"The page Traffic Server sends to the client when a server becomes congested."
-msgstr ""
-"サーバーが輻輳したときに Traffic Server がクライアントへ送信するページ"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:43
-msgid ""
-"If Traffic Server tracks the origin servers per IP address or per hostname."
-msgstr ""
-"Traffic Server がオリジンサーバーを監視するのは IP アドレスごとか、ホスト名"
-"ごとか"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:47
-msgid "Format"
-msgstr "フォーマット"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:49
-msgid ""
-"Each line in :file:`congestion.config` must follow the format below. "
-"Traffic Server applies the rules in the order listed, starting at the top "
-"of the file. Traffic Server recognizes three space-delimited tags::"
-msgstr ""
-":file:`congestion.config` ファイルの各行は以下のフォーマットに従わなくてはな"
-"りません。Traffic Server はファイルの先頭から並んでいる順番でルールを適用し"
-"ます。Traffic Server はスペースで区切られた 3 つのタグを認識します。::"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:55
-msgid ""
-"The following list shows possible primary destinations with allowed values."
-msgstr "次の一覧は指定可能な primary destinations とその値です。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:59
-msgid "``dest_domain``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:59
-msgid "A requested domain name."
-msgstr "リクエストされたドメイン名。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:62
-msgid "``dest_host``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:62
-msgid "A requested hostname."
-msgstr "リクエストされたホスト名。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:65
-msgid "``dest_ip``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:65
-msgid "A requested IP address."
-msgstr "リクエストされた IP アドレス。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:68
-msgid "``url_regex``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:68
-msgid "A regular expression (regex) to be found in a URL."
-msgstr "URL 内で見つけられる正規表現 (regex) 。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:70
-msgid ""
-"The secondary specifiers are optional in the congestion.config file. The "
-"following list shows possible secondary specifiers with allowed values. You "
-"can use more than one secondary specifier in a rule; however, you cannot "
-"repeat a secondary specifier."
-msgstr ""
-"congestion.config ファイルの secondary specifier は任意です。次の一覧は "
-"secondary specifier に指定可能なものとその値です。一つのルールの中で一つ以上"
-"の secondary specifier を使用することができますが secondary specifier を連続"
-"させることはできません。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:76
-msgid "``port``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:76
-msgid "A requested URL port or range of ports."
-msgstr "リクエストされた URL のポートもしくはポートの範囲。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:79
-msgid "``prefix``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:79
-msgid "A prefix in the path part of a URL."
-msgstr "URL のパス部分のプレフィックス。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:81
-msgid "The following list shows the possible tags and their allowed values."
-msgstr "次の一覧は指定可能なタグとその値です。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:87
-msgid "``max_connection_failures``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:84
-msgid ""
-"Default: ``5`` The maximum number of connection failures allowed within the "
-"fail window described below before Traffic Server marks the origin server "
-"as congested."
-msgstr ""
-"デフォルト: ``5`` Traffic Server がオリジンサーバーを輻輳状態とマークするま"
-"でに下記で説明される fail window 内で許される最大接続失敗数。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:93
-msgid "``fail_window``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:90
-msgid ""
-"Default: ``120`` seconds. The time period during which the maximum number "
-"of connection failures can occur before Traffic Server marks the origin "
-"server as congested."
-msgstr ""
-"デフォルト: ``120`` 秒。Traffic Server がオリジンサーバーを輻輳状態とマーク"
-"するまでに最大数の接続失敗を起こせる期間。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:98
-msgid "``proxy_retry_interval``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:96
-msgid ""
-"Default: ``10`` seconds. The number of seconds that Traffic Server waits "
-"before contacting a congested origin server again."
-msgstr ""
-"デフォルト: ``10`` 秒。Traffic Server が輻輳したオリジンサーバーに再び接続す"
-"るまでに待つ秒数。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:103
-msgid "``client_wait_interval``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:101
-msgid ""
-"Default: ``300`` seconds. The number of seconds that the client is advised "
-"to wait before retrying the congested origin server."
-msgstr ""
-"デフォルト: ``300`` 秒。輻輳したオリジンサーバーにリトライするまでにクライア"
-"ントに待たせる秒数。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:108
-msgid "``wait_interval_alpha``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:106
-msgid ""
-"Default: ``30`` seconds The upper limit for a random number that is added "
-"to the wait interval."
-msgstr "デフォルト: ``30`` 秒。wait interval にランダムに加算される数の上限。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:114
-msgid "``live_os_conn_timeout``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:111
-msgid ""
-"Default: ``60`` seconds. The connection timeout to the live (uncongested) "
-"origin server. If a client stops a request before the timeout occurs, then "
-"Traffic Server does not record a connection failure."
-msgstr ""
-"デフォルト: ``60`` 秒。生きている (輻輳していない) オリジンサーバーに対して"
-"の接続のタイムアウト。クライアントがタイムアウトが発生する前にリクエストを停"
-"止した場合、Traffic Server は接続失敗を記録しません。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:119
-msgid "``live_os_conn_retries``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:117
-msgid ""
-"Default: ``2`` The maximum number of retries allowed to the live "
-"(uncongested) origin server."
-msgstr ""
-"デフォルト: ``2`` 生きている (輻輳していない) オリジンサーバーに対して許され"
-"る最大リトライ数。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:123
-msgid "``dead_os_conn_timeout``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:122
-msgid ""
-"Default: ``15`` seconds. The connection timeout to the congested origin "
-"server."
-msgstr ""
-"デフォルト: ``15`` 秒。輻輳しているオリジンサーバーに対する接続タイムアウ"
-"ト。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:128
-msgid "``dead_os_conn_retries``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:126
-msgid ""
-"Default: ``1`` The maximum number of retries allowed to the congested "
-"origin server."
-msgstr ""
-"デフォルト: ``1`` 輻輳しているオリジンサーバーに対して許される最大リトライ"
-"数。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:133
-msgid "``max_connection``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:131
-msgid ""
-"Default: ``-1`` The maximum number of connections allowed from Traffic "
-"Server to the origin server."
-msgstr ""
-"デフォルト: ``-1`` Traffic Server からオリジンサーバーに対して許される最大接"
-"続数"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:138
-msgid "``error_page``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:136
-msgid ""
-"Default: ``\"congestion#retryAfter\"`` The error page sent to the client "
-"when a server is congested. You must enclose the value in quotes;"
-msgstr ""
-"デフォルト: ``\"congestion#retryAfter\"`` サーバーが輻輳した際にクライアント"
-"に送信されるエラーページ。値はクォーテーションで囲まなければなりません。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:151
-msgid "``congestion_scheme``"
-msgstr ""
-
-#: ../../../admin-guide/files/congestion.config.en.rst:141
-msgid ""
-"Default: ``\"per_ip\"`` Specifies if Traffic Server applies the rule on a "
-"per-host (``\"per_host\"``) or per-IP basis (``\"per_ip\"``). You must "
-"enclose the value in quotes."
-msgstr ""
-"デフォルト: ``\"per_ip\"`` Traffic Server がルールを per-host (``\"per_host"
-"\"``) や per-IP basis (``\"per_ip\"``) で適用する場合に指定します。値は"
-"クォーテーションで囲まなければなりません。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:146
-msgid ""
-"For example: if the server ``www.host1.com`` has two IP addresses and you "
-"use the tag value ``\"per_ip\"``, then each IP address has its own number "
-"of connection failures and is marked as congested independently. If you use "
-"the tag value ``\"per_host\"`` and the server ``www.host1.com`` is marked "
-"as congested, then both IP addresses are marked as congested."
-msgstr ""
-"例: サーバー ``www.host1.com`` が二つの IP アドレスを持ち、タグ ``\"per_ip"
-"\"`` を使用する場合、各 IP アドレスはそれぞれに接続失敗数を持ち、独立して輻"
-"輳状態とマークされます。タグ ``\"per_host\"`` を使用し、サーバー ``www."
-"host1.com`` が輻輳状態とマークされると、両方の IP アドレスが輻輳状態とマーク"
-"されます。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:154
-msgid "Examples"
-msgstr "例"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:156
-msgid ""
-"The following :file:`congestion.config` rule configures Traffic Server to "
-"stop forwarding requests to the server ``www.host.com`` on port 80 (HTTP "
-"traffic) if the server is congested, according to the timeouts specified. "
-"Traffic Server uses the default tag values because no tag has been "
-"specified."
-msgstr ""
-"次の :file:`congestion.config` のルールは、指定されたタイムアウトにより "
-"``www.host.com`` ポート 80 (HTTP 通信) のサーバーが輻輳したときに、Traffic "
-"Server がリクエストの転送を停止するように設定します。タグが一つも指定されて"
-"いないので Traffic Server はタグのデフォルト値を使用します。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:166
-msgid ""
-"You can use one or more tags in a rule, but each tag must have one value "
-"only. If you specify no tags in the rule, then Traffic Server uses the "
-"default values."
-msgstr ""
-"一つのルール内に複数のタグを使用できますが、それぞれのタグは一つの値のみを持"
-"たなければなりません。ルールにタグを指定しないと Traffic Server はデフォルト"
-"値を使用します。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:170
-msgid ""
-"You can override any of the default tag values by adding configuration "
-"variables at the end of :file:`records.config` as follows:"
-msgstr ""
-":file:`records.config` の最後に次のように設定変数を追加することでタグのデ"
-"フォルト値を上書きできます。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:177
-msgid ""
-"where tag is one of the tags described in the list under :file:`congestion."
-"config` and value is the value you want to use."
-msgstr ""
-"tag の部分は :file:`congestion.config` にある一覧で説明されたタグの中の一つ"
-"で、value は使用したい値です。"
-
-#: ../../../admin-guide/files/congestion.config.en.rst:181
-msgid "For example::"
-msgstr "例:: "
-
-#: ../../../admin-guide/files/congestion.config.en.rst:187
-msgid ""
-"Rules in the :file:`congestion.config` file override the following "
-"variables in the :file:`records.config` file:"
-msgstr ""
-":file:`congestion.config` ファイルのルールは :file:`records.config` ファイル"
-"の次の設定を上書きします。"
diff --git a/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/congestion.en.po b/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/congestion.en.po
deleted file mode 100644
index 080e870..0000000
--- a/doc/locale/ja/LC_MESSAGES/admin-guide/monitoring/statistics/core/congestion.en.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: Apache Traffic Server 6.2\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-02 21:32+0000\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.1.1\n"
-
-#: ../../admin-guide/monitoring/statistics/core/congestion.en.rst:23
-msgid "Congestion"
-msgstr ""
diff --git a/iocore/eventsystem/I_Event.h b/iocore/eventsystem/I_Event.h
index 339efdb..e964636 100644
--- a/iocore/eventsystem/I_Event.h
+++ b/iocore/eventsystem/I_Event.h
@@ -82,7 +82,6 @@
 #define AIO_EVENT_EVENTS_START 3900
 #define BLOCK_CACHE_EVENT_EVENTS_START 4000
 #define UTILS_EVENT_EVENTS_START 5000
-#define CONGESTION_EVENT_EVENTS_START 5100
 #define INK_API_EVENT_EVENTS_START 60000
 #define SRV_EVENT_EVENTS_START 62000
 #define REMAP_EVENT_EVENTS_START 63000
diff --git a/lib/perl/lib/Apache/TS/AdminClient.pm b/lib/perl/lib/Apache/TS/AdminClient.pm
index d9c9723..823b33b 100644
--- a/lib/perl/lib/Apache/TS/AdminClient.pm
+++ b/lib/perl/lib/Apache/TS/AdminClient.pm
@@ -449,21 +449,6 @@ The Apache Traffic Server Administration Manual will explain what these strings
  proxy.config.http.cache.vary_default_text
  proxy.config.http.cache.when_to_revalidate
  proxy.config.http.chunking_enabled
- proxy.config.http.congestion_control.default.client_wait_interval
- proxy.config.http.congestion_control.default.congestion_scheme
- proxy.config.http.congestion_control.default.dead_os_conn_retries
- proxy.config.http.congestion_control.default.dead_os_conn_timeout
- proxy.config.http.congestion_control.default.error_page
- proxy.config.http.congestion_control.default.fail_window
- proxy.config.http.congestion_control.default.live_os_conn_retries
- proxy.config.http.congestion_control.default.live_os_conn_timeout
- proxy.config.http.congestion_control.default.max_connection
- proxy.config.http.congestion_control.default.max_connection_failures
- proxy.config.http.congestion_control.default.proxy_retry_interval
- proxy.config.http.congestion_control.default.wait_interval_alpha
- proxy.config.http.congestion_control.enabled
- proxy.config.http.congestion_control.filename
- proxy.config.http.congestion_control.localtime
  proxy.config.http.connect_attempts_max_retries
  proxy.config.http.connect_attempts_max_retries_dead_server
  proxy.config.http.connect_attempts_rr_retries
diff --git a/lib/records/I_RecAlarms.h b/lib/records/I_RecAlarms.h
index 6b7f721..4cab2f5 100644
--- a/lib/records/I_RecAlarms.h
+++ b/lib/records/I_RecAlarms.h
@@ -43,5 +43,3 @@
 #define REC_ALARM_REC_CONFIG_ERROR 17
 #define REC_ALARM_ADD_ALARM 18
 #define REC_ALARM_PROXY_LOG_SPACE_ROLLED 19
-#define REC_ALARM_PROXY_HTTP_CONGESTED_SERVER 20
-#define REC_ALARM_PROXY_HTTP_ALLEVIATED_SERVER 21
diff --git a/lib/records/I_RecSignals.h b/lib/records/I_RecSignals.h
index 848ec41..388c809 100644
--- a/lib/records/I_RecSignals.h
+++ b/lib/records/I_RecSignals.h
@@ -41,5 +41,3 @@
 #define REC_SIGNAL_PLUGIN_SET_CONFIG 14
 #define REC_SIGNAL_LOG_FILES_ROLLED 15
 #define REC_SIGNAL_LIBRECORDS 16
-#define REC_SIGNAL_HTTP_CONGESTED_SERVER 20
-#define REC_SIGNAL_HTTP_ALLEVIATED_SERVER 21
diff --git a/lib/ts/apidefs.h.in b/lib/ts/apidefs.h.in
index e3fd982..6538f20 100644
--- a/lib/ts/apidefs.h.in
+++ b/lib/ts/apidefs.h.in
@@ -479,8 +479,6 @@ typedef enum {
   TS_SRVSTATE_OPEN_RAW_ERROR,
   TS_SRVSTATE_PARSE_ERROR,
   TS_SRVSTATE_TRANSACTION_COMPLETE,
-  TS_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_F,
-  TS_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_M,
   TS_SRVSTATE_PARENT_RETRY
 } TSServerState;
 
diff --git a/mgmt/Alarms.cc b/mgmt/Alarms.cc
index d9e8561..0f02a1c 100644
--- a/mgmt/Alarms.cc
+++ b/mgmt/Alarms.cc
@@ -52,10 +52,6 @@ const char *alarmText[] = {
   "",
   "Add OEM Alarm",
   "",
-  "HTTP Origin Server is Congested",
-  "Congested HTTP Origin Server is now Alleviated",
-  "", /* congested server */
-  ""  /* alleviated server */
 };
 
 const int alarmTextNum = sizeof(alarmText) / sizeof(char *);
@@ -195,9 +191,6 @@ Alarms::signalAlarm(alarm_t a, const char *desc, const char *ip)
   case MGMT_ALARM_ADD_ALARM:
     priority = 2;
     break;
-  case MGMT_ALARM_PROXY_HTTP_CONGESTED_SERVER:
-  case MGMT_ALARM_PROXY_HTTP_ALLEVIATED_SERVER:
-    return;
   default:
     priority = 2;
     break;
diff --git a/mgmt/Alarms.h b/mgmt/Alarms.h
index 158eada..ca6bec0 100644
--- a/mgmt/Alarms.h
+++ b/mgmt/Alarms.h
@@ -70,11 +70,8 @@ class AppVersionInfo;
 #define MGMT_ALARM_WEB_ERROR 15
 #define MGMT_ALARM_PING_FAILURE 16
 #define MGMT_ALARM_MGMT_CONFIG_ERROR 17
-#define MGMT_ALARM_ADD_ALARM 18                    /* OEM_ALARM */
-#define MGMT_ALARM_PROXY_LOG_SPACE_ROLLED 19       /* Alarm when log files will be rolled */
-#define MGMT_ALARM_PROXY_HTTP_CONGESTED_SERVER 20  /* Congestion control -- congested server */
-#define MGMT_ALARM_PROXY_HTTP_ALLEVIATED_SERVER 21 /* Congestion control -- alleviated server */
-#define MGMT_ALARM_PROXY_FTP_ERROR 22
+#define MGMT_ALARM_ADD_ALARM 18              /* OEM_ALARM */
+#define MGMT_ALARM_PROXY_LOG_SPACE_ROLLED 19 /* Alarm when log files will be rolled */
 
 #define MGMT_ALARM_SAC_SERVER_DOWN 400
 
diff --git a/mgmt/BaseManager.h b/mgmt/BaseManager.h
index c603c64..2527cb0 100644
--- a/mgmt/BaseManager.h
+++ b/mgmt/BaseManager.h
@@ -100,8 +100,6 @@
 #define MGMT_SIGNAL_PLUGIN_SET_CONFIG 14
 #define MGMT_SIGNAL_LOG_FILES_ROLLED 15
 #define MGMT_SIGNAL_LIBRECORDS 16
-#define MGMT_SIGNAL_HTTP_CONGESTED_SERVER 20  /* Congestion control -- congested server */
-#define MGMT_SIGNAL_HTTP_ALLEVIATED_SERVER 21 /* Congestion control -- alleviated server */
 
 #define MGMT_SIGNAL_CONFIG_FILE_CHILD 22
 
diff --git a/mgmt/LocalManager.cc b/mgmt/LocalManager.cc
index 897360f..beb2bc8 100644
--- a/mgmt/LocalManager.cc
+++ b/mgmt/LocalManager.cc
@@ -569,14 +569,6 @@ LocalManager::handleMgmtMsgFromProcesses(MgmtMessageHdr *mh)
       executeMgmtCallback(MGMT_SIGNAL_LIBRECORDS, nullptr, 0);
     }
     break;
-  // Congestion Control - begin
-  case MGMT_SIGNAL_HTTP_CONGESTED_SERVER:
-    alarm_keeper->signalAlarm(MGMT_ALARM_PROXY_HTTP_CONGESTED_SERVER, data_raw);
-    break;
-  case MGMT_SIGNAL_HTTP_ALLEVIATED_SERVER:
-    alarm_keeper->signalAlarm(MGMT_ALARM_PROXY_HTTP_ALLEVIATED_SERVER, data_raw);
-    break;
-  // Congestion Control - end
   case MGMT_SIGNAL_CONFIG_FILE_CHILD: {
     static const MgmtMarshallType fields[] = {MGMT_MARSHALL_STRING, MGMT_MARSHALL_STRING, MGMT_MARSHALL_INT};
     char *parent                           = nullptr;
diff --git a/mgmt/api/GenericParser.cc b/mgmt/api/GenericParser.cc
index f358d77..5ad8293 100644
--- a/mgmt/api/GenericParser.cc
+++ b/mgmt/api/GenericParser.cc
@@ -194,8 +194,6 @@ Rule::parse(const char *const_rule, TSFileNameT filetype)
   switch (m_filetype) {
   case TS_FNAME_CACHE_OBJ: /* cache.config */
     return cacheParse(rule);
-  case TS_FNAME_CONGESTION: /* congestion.config */
-    return congestionParse(rule, 1, 15);
   case TS_FNAME_HOSTING: /* hosting.config */
     return hostingParse(rule);
   case TS_FNAME_IP_ALLOW: /* ip_allow.config */
@@ -362,15 +360,6 @@ Rule::cacheParse(char *rule, unsigned short minNumToken, unsigned short maxNumTo
 }
 
 /**
- * congestionParse
- **/
-TokenList *
-Rule::congestionParse(char *rule, unsigned short minNumToken, unsigned short maxNumToken)
-{
-  return cacheParse(rule, minNumToken, maxNumToken);
-}
-
-/**
  * hostingParse
  **/
 TokenList *
@@ -835,8 +824,6 @@ RuleList::parse(char *fileBuf, const char *filename)
 
   if (strstr(filename, "cache.config")) {
     m_filetype = TS_FNAME_CACHE_OBJ; /* cache.config */
-  } else if (strstr(filename, "congestion.config")) {
-    m_filetype = TS_FNAME_CONGESTION; /* congestion.config */
   } else if (strstr(filename, "hosting.config")) {
     m_filetype = TS_FNAME_HOSTING; /* hosting.config */
   } else if (strstr(filename, "ip_allow.config")) {
diff --git a/mgmt/api/GenericParser.h b/mgmt/api/GenericParser.h
index 2d8df3b..a09c0f6 100644
--- a/mgmt/api/GenericParser.h
+++ b/mgmt/api/GenericParser.h
@@ -202,8 +202,6 @@ private:
   char *m_errorHint;
 
   TokenList *cacheParse(char *rule, unsigned short minNumToken = MIN_CONFIG_TOKEN, unsigned short maxNumToken = MAX_CONFIG_TOKEN);
-  TokenList *congestionParse(char *rule, unsigned short minNumToken = MIN_CONFIG_TOKEN,
-                             unsigned short maxNumToken = MAX_CONFIG_TOKEN);
   TokenList *parentParse(char *rule);
   TokenList *remapParse(char *rule);
   TokenList *socksParse(char *rule);
diff --git a/mgmt/api/include/mgmtapi.h b/mgmt/api/include/mgmtapi.h
index 9ed9d86..19eaad6 100644
--- a/mgmt/api/include/mgmtapi.h
+++ b/mgmt/api/include/mgmtapi.h
@@ -171,7 +171,6 @@ typedef enum {
 /* ToDo: This should be moved over to the core, into the GenericParser.h */
 typedef enum {
   TS_FNAME_CACHE_OBJ,       /* cache.config */
-  TS_FNAME_CONGESTION,      /* congestion.config */
   TS_FNAME_HOSTING,         /* hosting.config */
   TS_FNAME_IP_ALLOW,        /* ip_allow.config */
   TS_FNAME_PARENT_PROXY,    /* parent.config */
diff --git a/plugins/experimental/ts_lua/ts_lua_http.c b/plugins/experimental/ts_lua/ts_lua_http.c
index cd9efac..cf93f3f 100644
--- a/plugins/experimental/ts_lua/ts_lua_http.c
+++ b/plugins/experimental/ts_lua/ts_lua_http.c
@@ -40,8 +40,7 @@ typedef enum {
   TS_LUA_SRVSTATE_OPEN_RAW_ERROR,
   TS_LUA_SRVSTATE_PARSE_ERROR,
   TS_LUA_SRVSTATE_TRANSACTION_COMPLETE,
-  TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_F,
-  TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_M,
+  TS_LUA_SRVSTATE_PARENT_RETRY,
 } TSLuaServerState;
 
 const char *ts_lua_cache_lookup_result_string[] = {
@@ -52,18 +51,10 @@ const char *ts_lua_cache_lookup_result_string[] = {
 };
 
 const char *ts_lua_server_state_string[] = {
-  "TS_LUA_SRVSTATE_STATE_UNDEFINED",
-  "TS_LUA_SRVSTATE_ACTIVE_TIMEOUT",
-  "TS_LUA_SRVSTATE_BAD_INCOMING_RESPONSE",
-  "TS_LUA_SRVSTATE_CONNECTION_ALIVE",
-  "TS_LUA_SRVSTATE_CONNECTION_CLOSED",
-  "TS_LUA_SRVSTATE_CONNECTION_ERROR",
-  "TS_LUA_SRVSTATE_INACTIVE_TIMEOUT",
-  "TS_LUA_SRVSTATE_OPEN_RAW_ERROR",
-  "TS_LUA_SRVSTATE_PARSE_ERROR",
-  "TS_LUA_SRVSTATE_TRANSACTION_COMPLETE",
-  "TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_F",
-  "TS_LUA_SRVSTATE_CONGEST_CONTROL_CONGESTED_ON_M",
+  "TS_LUA_SRVSTATE_STATE_UNDEFINED",      "TS_LUA_SRVSTATE_ACTIVE_TIMEOUT",    "TS_LUA_SRVSTATE_BAD_INCOMING_RESPONSE",
+  "TS_LUA_SRVSTATE_CONNECTION_ALIVE",     "TS_LUA_SRVSTATE_CONNECTION_CLOSED", "TS_LUA_SRVSTATE_CONNECTION_ERROR",
+  "TS_LUA_SRVSTATE_INACTIVE_TIMEOUT",     "TS_LUA_SRVSTATE_OPEN_RAW_ERROR",    "TS_LUA_SRVSTATE_PARSE_ERROR",
+  "TS_LUA_SRVSTATE_TRANSACTION_COMPLETE", "TS_LUA_SRVSTATE_PARENT_RETRY",
 };
 
 static void ts_lua_inject_http_retset_api(lua_State *L);
diff --git a/proxy/config/Makefile.am b/proxy/config/Makefile.am
index a6c8c09..d2e7dfb 100644
--- a/proxy/config/Makefile.am
+++ b/proxy/config/Makefile.am
@@ -28,7 +28,6 @@ nodist_sysconf_DATA = \
 
 dist_sysconf_DATA =	\
 	cache.config.default \
-	congestion.config.default \
 	hosting.config.default \
 	ip_allow.config.default \
 	log_hosts.config.default \
diff --git a/proxy/config/body_factory/default/Makefile.am b/proxy/config/body_factory/default/Makefile.am
index cdde92c..307284b 100644
--- a/proxy/config/body_factory/default/Makefile.am
+++ b/proxy/config/body_factory/default/Makefile.am
@@ -25,7 +25,6 @@ dist_bodyfactory_DATA = \
 	.body_factory_info \
 	cache\#not_in_cache \
 	cache\#read_error \
-	congestion\#retryAfter \
 	connect\#dns_failed \
 	connect\#failed_connect \
 	connect\#hangup \
diff --git a/proxy/config/body_factory/default/congestion#retryAfter b/proxy/config/body_factory/default/congestion#retryAfter
deleted file mode 100644
index fd74a41..0000000
--- a/proxy/config/body_factory/default/congestion#retryAfter
+++ /dev/null
@@ -1,15 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>Service Unavailable</TITLE>
-</HEAD>
-
-<BODY BGCOLOR="white" FGCOLOR="black">
-<H1>Service Unavailable</H1>
-<HR>
-
-<FONT FACE="Helvetica,Arial"><B>
-Description:  Service Unavailable <BR>
-Retry After: %<crat> seconds
-</B></FONT>
-<HR>
-</BODY>
diff --git a/proxy/config/congestion.config.default b/proxy/config/congestion.config.default
deleted file mode 100644
index f71bd79..0000000
--- a/proxy/config/congestion.config.default
+++ /dev/null
@@ -1,59 +0,0 @@
-#
-# congestion.config
-#
-# Documentation:
-#    https://docs.trafficserver.apache.org/en/latest/admin-guide/files/congestion.config.en.html
-#
-# The purpose of this file is to specify the congestion control rules.
-#
-# Each line consists of a set of tag value pairs.  The pairs
-#   are in the format  <tag>=<value>
-#
-# Each line must include exactly one primary specifier
-#
-#   Primary destination specifiers are
-#     dest_domain=
-#     dest_host=
-#     dest_ip=
-#     host_regex=
-#
-# Lines may include any number of the secondary specifiers but
-#   secondary specifiers may not be duplicated on the same line.
-#
-#   Secondary specifiers are
-#     port=
-#     prefix=
-#
-#   The CongestionControl Rule tag=<tag_value> pairs include:
-#        max_connection_failures=<integer>       //  M
-#        fail_window=<interger>                  //  N
-#        proxy_retry_interval=<integer>          //  t
-#        client_wait_interval=<integer>          //  T
-#        wait_interval_alpha=<integer>           // alpha
-#        live_os_conn_timeout=<integer>          //  n
-#        live_os_conn_retries=<integer>          //  m
-#        dead_os_conn_timeout=<integer>          //  n'
-#        dead_os_conn_retries=<interger>         //  m'
-#        max_connection=<integer>                // -1 means unlimited
-#        error_page=<page uri>
-#        congestion_scheme=per_ip|per_host
-#
-#
-# The suggested default values are as follows:
-#        max_connection_failures=5
-#        fail_window=120
-#        proxy_retry_interval=10
-#        client_wait_interval=300
-#        wait_interval_alpha=30
-#        live_os_conn_timeout=60
-#        live_os_conn_retries=2
-#        dead_os_conn_timeout=15
-#        dead_os_conn_retries=1
-#        max_connection=-1
-#        error_page="congestion#retryAfter"
-#        congestion_scheme="per_ip"
-#
-# You can change the records.config config variables to change the above defaults:
-# CONFIG proxy.config.http.congestion_control.default.XXX INT|STRING YYY
-#
-
diff --git a/proxy/congest/FeatureSpec.txt b/proxy/congest/FeatureSpec.txt
deleted file mode 100644
index 051ac8e..0000000
--- a/proxy/congest/FeatureSpec.txt
+++ /dev/null
@@ -1,428 +0,0 @@
-FEATURE INTRODUCTION
-====================
-
-Feature Name:
--------------
-	Congestion Control
-
-Synopsis of Feature:
---------------------
-
-The main purpose of this congestion control feature is to keep track
-of which hosts are congested so that TS will not forward requests to
-those congested hosts; instead, TS will send back to clients a
-Retry-After response to tell them to retry congested hosts at a later
-time.
-
-CASE 1.  Connection Failures:
-------------------------------
-(1) For each request to a live (non-congested) server, TS will try at most m
-    times to connect to the server, and the timeout is n seconds for each try.
-    If TS does not succeed with m tries, then one connection failure is counted
-    towards the server.
-
-    Note that if a client aborts a request before a timeout occurs, it does not
-    count as a connection failure.
-
-(2) A server is marked congested if there are more than M connection failures
-    within N seconds.
-
-(3) If a server is marked congested, then TS will not forward requests to it
-    until Proxy Retry After Time (PRAT) (which is current time + t)
-
-(4) For a request to a congested server before the server's PRAT time, TS sends
-    a Retry-After response to tell the client to retry the request after
-    Client Retry After Time (CRAT) (= PRAT - current time + T + a random
-    interger from 0 to alpha).
-
-(5) For a request to a congested server after the server's PRAT time, TS will
-    try at most m' times to connect to the server, and the timeout is n'
-    seconds for each try.
-
-(6) A congested server will stay dead if TS cannot make a successful
-    connection; otherwise, the server becomes live again.
-
-CASE 2: Maximum Number of Connections
--------------------------------------
-TS will temporarily mark a server as congested if a "max_connection" number
-to the server is reached. If a new client request comes in and needs a new
-connection to the server, the client will get 503 Retry-After back.
-There is no PRAT on the "max_connection" reached servers.
-
-Here a server can be identified by IP address (per_ip) or by host name
-(per_host). For example, www.example.com has two IP addresses,
-209.131.63.206 and 209.131.63.207. If per_ip is used, then each IP address
-has its own number of connection failures, and each IP address will be marked
-congested or not by itself. That is, if 206 is marked congested (but 207 is
-not), requests can still be forwarded to 207. On the other hand, if per_host is
-used, then one connection failure to either 206 or 207 will be counted to the
-number if connection failures of host www.example.com. If the host
-www.example.com is marked congested, then essentially both 206 and 207 are
-marked congested.
-
-We can also use prefix as a secondary specifier to specify the scope of
-congestion control to sub-host (service) area. For example,
-   dest_host=www.example.com prefix=/cgi/search.exe
-This rule can detect the stop of the cgi program or database it depends on.
-Each specification has an independent counter. The error of requests to
-www.example.com/index.html will count independently to the counter of this
-line. The prefix=/cgi/ means all requests to the objects under /cgi/ have
-one common counter with specified parameters. It does not mean each URI
-under the directory has its own counter.
-
-The TS administrator will be able to specify the customizeable error_page,
-the error_page can be customized to return the reason (for example: "The
-site is under maintenance") of congestion for '503'. In the error_page, the
-URL of the page congested, and the Retry-After time can be returned.
-
-ENGINEERING DESCRIPTION:
-========================
-
-Risk points of feature:
------------------------
-
-The set of "origin server connect attempts" configuration varibles in
-records.config will be affected by this feature. See the following
-"Requirement on Server Management" and the above "Synopsis of feature"
-sections for more information.
-
-Also, there are some known problematic/unexpected behaviors of this feature.
-See the following "Problematic behavior" section.
-
-Effect on SDK/API:
-------------------
-	None.
-
-Management Implications:
------------------------
-
-<Record Changes>
-There is one new config variable to enable/disable/test congestion control.
-	proxy.config.http.congestion_control.enabled INT 0|1|2
-	proxy.config.http.congestion_control.filename STRING congestion.config
-
-
-<Statistics Changes>
-1.  Number of congestions because of connection failures
-    stat name: proxy.process.congestion.congested_on_conn_failures
-2.  Number of congestions because of max_connection reached
-    stat name: proxy.process.congestion.congested_on_max_connection
-
-
-<Config File>
-A new .config file "congestion.config" is used to specify the parameters for
-different servers.
-
-Each rule will have one primary key to identify the servers, the primaries
-can be
-	dest_host=
-	dest_domain=
-	dest_ip=
-	regex_host=
-
-Each rule can also have secondary keys, secondary keys include
-	prefix=         // for different directory / service
-	port=           // for different server ports
-
-The tag=value pairs are used to specify the rules:
-
-	max_connection_failures=<integer>	//  M
-	fail_window=<interger>			//  N
-	proxy_retry_interval=<integer>		//  t
-	client_wait_interval=<integer>		//  T
-	wait_interval_alpha=<integer>		//alpha
-	live_os_conn_timeout=<integer>		//  n
-	live_os_conn_retries=<integer>		//  m
-	dead_os_conn_timeout=<integer>		//  n'
-	dead_os_conn_retries=<interger>		//  m'
-	max_connection=<integer>		// -1 means unlimited
-	error_page=<page uri>
-	congestion_scheme=per_ip|per_host
-
-The suggested default values are as follows:
-	max_connection_failures=5
-	fail_window=120
-	proxy_retry_interval=10
-	client_wait_interval=300
-	wait_interval_alpha=30
-	live_os_conn_timeout=60
-	live_os_conn_retries=2
-	dead_os_conn_timeout=15
-	dead_os_conn_retries=1
-	max_connection=-1
-	error_page="congestion#retryAfter"
-	congestion_scheme="per_ip"
-
-The above tag values will be used as default if the tag is not specified
-in the rule.
-
-The default values can be overrided by setting the records.config variables
-CONFIG proxy.config.http.congestion_control.default.<tag> <INT|STRING> <value>
-
-The following "origin server connect attempts" configuration variables may
-be affected by this congestion control feature:
-	proxy.config.http.connect_attempts_max_retries
-	proxy.config.http.connect_attempts_max_retries_dead_server
-	proxy.config.http.connect_attempts_rr_retries
-	proxy.config.http.connect_attempts_timeout
-	proxy.config.http.down_server.cache_time
-	proxy.config.http.down_server.abort_threshold
-
-For a request to a server that does not have an applicable rule in
-congestion.config, the values for these "origins server connect attempts"
-variables are used by TS. Otherwise, the corresponding values specified
-in congestion.config will override them.
-
-
-<Alarm Changes>
-Add two new alarm types to Traffic Manager:
-1) MGMT_SIGNAL_HTTP_CONGESTED_SERVER
-	used to indicate a congested server
-2) MGMT_SIGNAL_HTTP_ALLEVIATED_SERVER
-	used to indicate a congested server is no longer congested
-These alarms are not processed like the other Traffic Manager alarms.
-Whenever these alarms are signalled (even if they are repeat alarms)
-*only* an SNMP trap will be sent. Note, that this means that
-potentially, users can be flooded with SNMP traps if a congested
-server is always signalling an alarm.
-
-<Web UI Enhancement>
-For configuration purposes, we will add a new "Congestion Control" tab to the
-"Configure -> Networking -> Connection Management" section of the web UI.
-Within this tab users can:
-1. enable/disable the congestion control feature
-2. edit the congestion.config file (which will be displayed in a html text box)
-
-
-<Command-Line Interface Enhancement>
-Use the traffic_line command-line interface to retrieve the congestion
-statistics and monitoring information.
-1. "traffic_line -r <statistic_name>"
-   Returns the value of the statistic specified
-2. "traffic_line -q"
-   Returns a list of currently congested sites (one site per line);
-   for each congested site, displays the information in the following format:
-   '<time>|<rule #>|<hostname>|<ip_address>|<scheme>|<prefix>|<congestion reason>|<F#>|<M#>'
-	- time : congestion detected time
-		 in seconds since 00:00:00 UTC, January 1, 1970.
-	- rule #
-	- hostname
-	- ip address
-	- scheme: per_ip or per_host
-	- prefix (if none, leave blank)
-	- congestion reason: M or F
-          M - congestion caused by exceeding max connections,
-	  F - congestion caused by OS response timeout/failure
-        - F#    number of congested requests because of F
-        - M#    number of congested requests because of M
-
-NOTE: In order to use "traffic_line -q", raf must be enabled and have a
-      raf port specified. These are the default values used.
-	CONFIG proxy.config.raf.enabled INT 1
-	CONFIG proxy.config.raf.port INT 9000
-      If the raf port conflicts with another port, then change it by:
-           traffic_line -s "proxy.config.raf.port" <new-port>
-
-
-Engineering description of feature:
------------------------------------
-Data structure and algorithm:
-
-Congestion Control Database (in memory and disk):
-
-Using Multicache Implementation
-CongestEntry{
-	unsigned int ip;
-	int hostname_offset;
-	int prefix_offset;
-	int last_failure;
-	char fail_history[17];
-	unsigned int congestion_scheme; // per_ip | per_host;
-	unsigned int congested; //0 | 1
-	short max_connection;
-	short num_connection;
-	short max_connection_failures;
-	unsigned long   num_congested;    // reserved for per server stat.
-};
-
-For each server, TS uses an array of 17 entries to record the number of
-connection failures. Each entry is 16-bit long and records the number of
-connection failures for 1/16 of the fail_window, for example, for a
-fail_window=240 seconds, the granularity of recording is 240/16=15 seconds.
-That is, the first entry records the number of connection failures from time
-t+0 to t+15, and the second entry records the number of connection failures
-from time t+16 to t+30, and so on. TS will mark the server as congested if
-the sum of the 9 entries is greater than the specified max_connection_failures.
-Note that this algorithm will count number of failures in the past 240 to 255
-seconds. For higher accuracy, we need to increase the number of entries.
-
-
-Operation:
-----------
-
-The following is an overview of the operation of this congestion control
-feature in TS. After parsing a valid request, a TS calls its HostDB module
-to get the HostDBInfo record for the host name. If the host name has more
-than one IP address, then TS selects one of them as usual.
-Then, TS uses the hostname, the selected IP address, and request URL to lookup
-for the first matched rule in congestion.config.
-
-TS will lookup the CongestionDB
-
-case 1: "congested" is true and
-         (current time <= "last_failure" + "proxy_retry_window"):
-	TS sends to the client a Retry-After response.
-case 2: "congested" is true and
-	(current time > "last_failure" + "proxy_retry_window"):
-	TS makes a connection to this congested server.
-case 3: "congested" is false and
-        (current connections >= max_connections)
-	TS sends to the client a Retry-After response.
-case 4: "congested" is false and
-	(current connections < max_connections)
-	TS makes a connection to this non-congested server.
-
-Various timeouts and max_retry numbers are set up according to the matched
-rule in congestion.config.
-
-If a connection failure is detected, TS updates the CongestionDB record. If it
-is case 2, and the connection succeeds, we need to mark the server live again.
-
-
-Problematic Behavior:
----------------------
-For a host with multiple nicknames, we night mis-calculate the number
-of failures.
-
-For example,
-	www.berkeley.edu is a nickname for amber.berkeley.edu
-	amber.berkeley.edu has address 128.32.25.12.
-In this simple case, if you only specify www.berkeley.edu in the rule and use
-per_host scheme, we will miss the info when request use amber.berkeley.edu
-as the hostname.
-
-Another problem is with the granularity of connection failure recording. In
-some cases, TS will mark servers congested which is actually not congested
-according to the rules in congestion.config.
-
-TS will not be able to distinguish a original server busy from TS itself
-is busy.
-
-Implementation Limits:
----------------------
-	1. granularity of connection failure records (17 entries).
-	2. maximum number of failures can be recorded (1<<16 = 65536).
-	3. potentail performance hit beause of updating congestion info
-           (need to take locks to update the info)
-Modules need to be touched:
----------------------------
-ControlMatcher
-	one new primary field is added ---- host_regex
-
-HttpSM / HttpTransact
-	for apparent reasons
-
-KNOWN PROBLEM
-=============
-(1) The config filename for congestion control must be congestion.config,
-    this is a known bug for TS
-(2) The test case:
-    proxy.config.http.congestion_control.enabled INT 2
-    is not implemented, due to the limited time for coding
-
-
-TEST DESCRIPTIONS
-=================
-
-Test description:
------------------
-(1) Enable congestion control and specify rules for a few server in
-    congestion.config. Then run (existing) tests to verify the
-    "origin server connect attempts" configuration variable are still
-    working for servers that are not specified in congestion.config.
-(2) Enable congestion control and in congestion.config, specify a rule
-    for a server that can be controlled (up/down) and has only one IP
-    address. Verify TS follow the rule for the server by sending requests
-    for the server thru TS and controlling whether the server is up and
-    down.
-(3) Specify a prefix rule and a dest_host rule on the same host, and
-    control the service specified by the prefix, check if prefix rule is
-    in effect.
-(4) Repeat test (2) with a server with more than one IP address. Both
-    congestion schemes (per_ip and per_host) should be tested.
-
-(5) Test all possiable conbinations of rules. Check the error_page and
-    error logs.
-
-(6) Kill one of the servers that connected to TS, hence the server is
-    "congested". Ensure the congested alarm is signaled (check the
-    WebUI) and a SNMP trap is sent Re-start the dead
-    server, hence the server is alive. Ensure the alleviated alarm is
-    signaled and a SNMP trap is sent.
-
-Test tool:
-----------
-	syntest could be a good candidate for functional tests.
-	for load test, try jtest combined with syntest.
-
-Test configurations:
---------------------
-
-
-Change Log:
-===========
-
-Removed Feature(s):
-***  Saving congestion control information to the disk.
-
-New/Modified Feature(s):
-
-*** traffic_line -q output format (short):
-
-short format
-   <time>|<rule #>|<hostname>|<ip_address>|<scheme>|<prefix>|<congestion reason>|<F#>|<M#>
-long format
-   <time>|<rule #>|<hostname>|<ip_address>|<scheme>|<prefix>|<congestion reason>|<F#>|<M#>|<local/GMT time>|<key>|<last_failure>|<num_fail_events>|<internal_ref count>|<num_connections>
-
-	- time : congestion detected time
-		 in seconds since 00:00:00 UTC, January 1, 1970.
-	- rule #
-	- hostname
-	- ip address
-	- scheme: per_ip or per_host
-	- prefix (if none, leave blank)
-	- congestion reason: M or F
-          M - congestion caused by exceeding max connections,
-	  F - congestion caused by OS response timeout/failure
-        - F#    number of congested requests because of F
-        - M#    number of congested requests because of M
-	- key: the internal key in congestion control table
-	- local/GMT time:  YYYY/MM/DD hh:mm:ss
-		CONFIG proxy.config.http.congestion_control.localtime INT 1 //localtime format
-		CONFIG proxy.config.http.congestion_control.localtime INT 0 //GMT format
-
-
-*** telnet localhost <Raf port>
-0 congest list
-		-- list congested servers at the moment (short format)
-0 congest list long [0-4]
-		-- list congested servers at the moment (long format)
-0 query deadhosts
-		-- list congested servers at the moment
-
-0 congest remove key=XXXXXXXXXXXXXX {key=XXXXXXXXXXXXXX}
-		-- remove the entries whose keys are listed
-		   manual activate the congested server
-
-0 congest remove host=<hostname>[/prefix]
-
-0 congest remove ip=<xxx.xxx.xxx.xxx>[/prefix]
-
-0 congest remove all
-		-- remove all entries in the congestion control internal table
-
-
-
-
-
-
diff --git a/proxy/congest/Makefile.am b/proxy/congest/Makefile.am
deleted file mode 100644
index 74400cb..0000000
--- a/proxy/congest/Makefile.am
+++ /dev/null
@@ -1,44 +0,0 @@
-# Makefile.am for Congestion Control
-#
-#  Licensed to the Apache Software Foundation (ASF) under one
-#  or more contributor license agreements.  See the NOTICE file
-#  distributed with this work for additional information
-#  regarding copyright ownership.  The ASF licenses this file
-#  to you under the Apache License, Version 2.0 (the
-#  "License"); you may not use this file except in compliance
-#  with the License.  You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-#  Unless required by applicable law or agreed to in writing, software
-#  distributed under the License is distributed on an "AS IS" BASIS,
-#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-#  See the License for the specific language governing permissions and
-#  limitations under the License.
-
-AM_CPPFLAGS += \
-	$(iocore_include_dirs) \
-	-I$(abs_top_srcdir)/lib \
-	-I$(abs_top_srcdir)/lib/records \
-	-I$(abs_top_srcdir)/proxy \
-	-I$(abs_top_srcdir)/proxy/http \
-	-I$(abs_top_srcdir)/mgmt \
-	-I$(abs_top_srcdir)/mgmt/utils \
-	-I$(abs_top_srcdir)/proxy/shared \
-	-I$(abs_top_srcdir)/proxy/hdrs \
-	$(TS_INCLUDES)
-
-noinst_LIBRARIES = libCongestionControl.a
-
-libCongestionControl_a_SOURCES = \
-	Congestion.cc \
-	Congestion.h \
-	CongestionDB.cc \
-	CongestionDB.h \
-	CongestionStats.cc \
-	CongestionStats.h \
-	MT_hashtable.h
-
-if BUILD_TESTS
-libCongestionControl_a_SOURCES += CongestionTest.cc
-endif
diff --git a/proxy/http/HttpDebugNames.cc b/proxy/http/HttpDebugNames.cc
index 06219ac..8f270a8 100644
--- a/proxy/http/HttpDebugNames.cc
+++ b/proxy/http/HttpDebugNames.cc
@@ -54,10 +54,6 @@ HttpDebugNames::get_server_state_name(HttpTransact::ServerState_t state)
     return "PARSE_ERROR";
   case HttpTransact::TRANSACTION_COMPLETE:
     return "TRANSACTION_COMPLETE";
-  case HttpTransact::CONGEST_CONTROL_CONGESTED_ON_F:
-    return "CONGEST_CONTROL_CONGESTED_ON_F";
-  case HttpTransact::CONGEST_CONTROL_CONGESTED_ON_M:
-    return "CONGEST_CONTROL_CONGESTED_ON_M";
   case HttpTransact::PARENT_RETRY:
     return "PARENT_RETRY";
   }
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index c59711e..77e93f7 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -4640,7 +4640,6 @@ HttpSM::send_origin_throttled_response()
 {
   t_state.current.attempts = t_state.txn_conf->connect_attempts_max_retries;
   // t_state.current.state = HttpTransact::CONNECTION_ERROR;
-  t_state.current.state = HttpTransact::CONGEST_CONTROL_CONGESTED_ON_F;
   call_transact_and_set_next_state(HttpTransact::HandleResponse);
 }
 
diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc
index 2e04aa3..4f23bbc 100644
--- a/proxy/http/HttpTransact.cc
+++ b/proxy/http/HttpTransact.cc
@@ -3113,10 +3113,7 @@ HttpTransact::OriginServerRawOpen(State *s)
   case CONNECTION_ERROR:
   /* fall through */
   case CONNECTION_CLOSED:
-  /* fall through */
-  case CONGEST_CONTROL_CONGESTED_ON_F:
-  /* fall through */
-  case CONGEST_CONTROL_CONGESTED_ON_M:
+    /* fall through */
     handle_server_died(s);
 
     ink_assert(s->cache_info.action == CACHE_DO_NO_ACTION);
@@ -6354,8 +6351,7 @@ HttpTransact::is_response_valid(State *s, HTTPHdr *incoming_response)
   if (s->current.state != CONNECTION_ALIVE) {
     ink_assert((s->current.state == CONNECTION_ERROR) || (s->current.state == OPEN_RAW_ERROR) ||
                (s->current.state == PARSE_ERROR) || (s->current.state == CONNECTION_CLOSED) ||
-               (s->current.state == INACTIVE_TIMEOUT) || (s->current.state == ACTIVE_TIMEOUT) ||
-               (s->current.state == CONGEST_CONTROL_CONGESTED_ON_M) || (s->current.state == CONGEST_CONTROL_CONGESTED_ON_F));
+               (s->current.state == INACTIVE_TIMEOUT) || (s->current.state == ACTIVE_TIMEOUT));
 
     s->hdr_info.response_error = CONNECTION_OPEN_FAILED;
     return false;
diff --git a/proxy/http/HttpTransact.h b/proxy/http/HttpTransact.h
index 001ac9e..4eb46af 100644
--- a/proxy/http/HttpTransact.h
+++ b/proxy/http/HttpTransact.h
@@ -356,8 +356,6 @@ public:
     OPEN_RAW_ERROR,
     PARSE_ERROR,
     TRANSACTION_COMPLETE,
-    CONGEST_CONTROL_CONGESTED_ON_F,
-    CONGEST_CONTROL_CONGESTED_ON_M,
     PARENT_RETRY
   };
 
diff --git a/tests/gold_tests/autest-site/trafficserver.test.ext b/tests/gold_tests/autest-site/trafficserver.test.ext
index 8007527..dad3cc6 100755
--- a/tests/gold_tests/autest-site/trafficserver.test.ext
+++ b/tests/gold_tests/autest-site/trafficserver.test.ext
@@ -193,10 +193,6 @@ def MakeATSProcess(obj, name, command='traffic_server', select_ports=True):
     tmpname = os.path.join(config_dir, fname)
     p.Disk.File(tmpname, id=make_id(fname), typename="ats:config")
 
-    fname = "congestion.config"
-    tmpname = os.path.join(config_dir, fname)
-    p.Disk.File(tmpname, id=make_id(fname), typename="ats:config")
-
     fname = "hosting.config"
     tmpname = os.path.join(config_dir, fname)
     p.Disk.File(tmpname, id=make_id(fname), typename="ats:config")
@@ -279,12 +275,12 @@ def MakeATSProcess(obj, name, command='traffic_server', select_ports=True):
     p.Env['PROXY_CONFIG_ADMIN_SYNTHETIC_PORT'] = str(p.Variables.admin_port)
     p.Env['PROXY_CONFIG_ADMIN_AUTOCONF_PORT'] = str(
         p.Variables.admin_port)  # support pre ATS 6.x
-    
+
     if command == "traffic_manager":
         p.ReturnCode = 2
     else:
         p.ReturnCode = 0
-        
+
 
     return p
 

-- 
To stop receiving notification emails like this one, please contact
zwoop@apache.org.

Mime
View raw message