[trafficserver] branch master updated: Avoid cross-thread mutex conflicts

2020-02-10 Thread shinrich
This is an automated email from the ASF dual-hosted git repository.

shinrich 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 9b78e8e  Avoid cross-thread mutex conflicts
9b78e8e is described below

commit 9b78e8e270962773446d39560d5a77e7532ef84c
Author: Susan Hinrichs 
AuthorDate: Fri Jan 17 14:31:37 2020 +

Avoid cross-thread mutex conflicts
---
 iocore/eventsystem/P_UnixEventProcessor.h | 2 --
 iocore/eventsystem/UnixEThread.cc | 9 -
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/iocore/eventsystem/P_UnixEventProcessor.h 
b/iocore/eventsystem/P_UnixEventProcessor.h
index 2110fc1..fe89945 100644
--- a/iocore/eventsystem/P_UnixEventProcessor.h
+++ b/iocore/eventsystem/P_UnixEventProcessor.h
@@ -115,8 +115,6 @@ EventProcessor::schedule(Event *e, EventType etype)
 
   if (e->continuation->mutex) {
 e->mutex = e->continuation->mutex;
-  } else {
-e->mutex = e->continuation->mutex = e->ethread->mutex;
   }
   e->ethread->EventQueueExternal.enqueue(e);
   return e;
diff --git a/iocore/eventsystem/UnixEThread.cc 
b/iocore/eventsystem/UnixEThread.cc
index 2913ba6..88f23f6 100644
--- a/iocore/eventsystem/UnixEThread.cc
+++ b/iocore/eventsystem/UnixEThread.cc
@@ -34,6 +34,8 @@
 #include 
 #endif
 
+#include 
+
 struct AIOCallback;
 
 #define NO_HEARTBEAT -1
@@ -108,7 +110,7 @@ void
 EThread::process_event(Event *e, int calling_code)
 {
   ink_assert((!e->in_the_prot_queue && !e->in_the_priority_queue));
-  MUTEX_TRY_LOCK(lock, e->mutex, this);
+  WEAK_MUTEX_TRY_LOCK(lock, e->mutex, this);
   if (!lock.is_locked()) {
 e->timeout_at = cur_time + DELAY_FOR_RETRY;
 EventQueueExternal.enqueue_local(e);
@@ -120,6 +122,11 @@ EThread::process_event(Event *e, int calling_code)
 Continuation *c_temp = e->continuation;
 // Make sure that the continuation is locked before calling the handler
 
+// Give a heads up if we are processing through a continuation without a 
mutex
+if (!e->mutex) {
+  Warning("event processing for continuation %s without a mutex", 
typeid(*c_temp).name());
+}
+
 // Restore the client IP debugging flags
 set_cont_flags(e->continuation->control_flags);
 



[trafficserver] 01/02: Updated Changelog

2020-02-10 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit d7abb25bad974f7e257922d07ce2e0db4f173f85
Author: Bryan Call 
AuthorDate: Mon Feb 10 11:39:44 2020 -0800

Updated Changelog
---
 CHANGELOG-7.1.9 | 4 
 1 file changed, 4 insertions(+)

diff --git a/CHANGELOG-7.1.9 b/CHANGELOG-7.1.9
new file mode 100644
index 000..4d3355f
--- /dev/null
+++ b/CHANGELOG-7.1.9
@@ -0,0 +1,4 @@
+Changes with Apache Traffic Server 7.1.9
+  #6394 - Change header validation
+  #6395 - Fixed how we handle unknown schemes
+  #6399 - Fix chunked processing



[trafficserver] 02/02: Bumped version to 7.1.9

2020-02-10 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 34189005929714af8cc9ef697dfb939e0240199b
Author: Bryan Call 
AuthorDate: Mon Feb 10 11:43:36 2020 -0800

Bumped version to 7.1.9
---
 STATUS   | 1 +
 configure.ac | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/STATUS b/STATUS
index aaed979..314ba4d 100644
--- a/STATUS
+++ b/STATUS
@@ -6,6 +6,7 @@ The current version of this file can be found at:
   * https://github.com/apache/trafficserver/blob/master/STATUS
 
 Release history:
+7.1.9   : Released on Feb xxth, 2020
 7.1.8   : Released on Aug 20th, 2019
 7.1.7   : Released on Aug 13th, 2019
 7.1.6   : Released on Jan 29th, 2019
diff --git a/configure.ac b/configure.ac
index 131ed48..9e98f04 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,8 +32,8 @@
 # Version number is calculated as MAJOR * 100 + MINOR * 1000 + MICRO
 # Version string is in the form of MAJOR.MINOR.MICRO[sufix]
 #
-m4_define([TS_VERSION_S],[7.1.8])
-m4_define([TS_VERSION_N],[7001008])
+m4_define([TS_VERSION_S],[7.1.9])
+m4_define([TS_VERSION_N],[7001009])
 
 AC_INIT([Apache Traffic Server], TS_VERSION_S(), 
[d...@trafficserver.apache.org], 
[trafficserver],[http://trafficserver.apache.org])
 AC_PREREQ([2.59])



[trafficserver] branch 7.1.x updated (1d40746 -> 3418900)

2020-02-10 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a change to branch 7.1.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git.


from 1d40746  clang-format
 new d7abb25  Updated Changelog
 new 3418900  Bumped version to 7.1.9

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG-7.1.9 | 4 
 STATUS  | 1 +
 configure.ac| 4 ++--
 3 files changed, 7 insertions(+), 2 deletions(-)
 create mode 100644 CHANGELOG-7.1.9



[trafficserver] 02/02: Updated Changelog

2020-02-10 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 21efb2785e557295df01e9be03f4b35b2a3fd83d
Author: Bryan Call 
AuthorDate: Mon Feb 10 11:18:58 2020 -0800

Updated Changelog
---
 CHANGELOG-8.0.6 | 1 -
 1 file changed, 1 deletion(-)

diff --git a/CHANGELOG-8.0.6 b/CHANGELOG-8.0.6
index cb89007..da0fd60 100644
--- a/CHANGELOG-8.0.6
+++ b/CHANGELOG-8.0.6
@@ -35,7 +35,6 @@ Changes with Apache Traffic Server 8.0.6
   #6145 - Remove including sys/sysctl.h for Linux
   #6158 - Fixed build issues with hwloc 2.x API changes
   #6248 - Add support for the old lua formatted ease of use conventions and 
the numeric log rolling values
-  #6294 - Enhance Connection Collapse in ATS core - back port to 8.x
   #6308 - Fix clang-format-github CI job for 8.0.x branch
   #6312 - Set wrap after checking all the parents
   #6389 - Fixed how we handle unknown schemes



[trafficserver] 01/02: Revert "Enhance Connection Collapse in ATS core"

2020-02-10 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit 6ed35bcb8e042cb383aeca79863bdaaa8e4a828d
Author: Bryan Call 
AuthorDate: Mon Feb 10 11:14:50 2020 -0800

Revert "Enhance Connection Collapse in ATS core"

This reverts commit f76c4c77b09ca0675a82c2a0b50b0699bad8a43f.
---
 doc/admin-guide/files/records.config.en.rst |  9 -
 proxy/http/HttpCacheSM.cc   | 55 -
 proxy/http/HttpSM.cc|  9 -
 proxy/http/HttpTransact.cc  | 22 
 proxy/http/HttpTransact.h   |  1 -
 5 files changed, 20 insertions(+), 76 deletions(-)

diff --git a/doc/admin-guide/files/records.config.en.rst 
b/doc/admin-guide/files/records.config.en.rst
index 0213466..3dc98a7 100644
--- a/doc/admin-guide/files/records.config.en.rst
+++ b/doc/admin-guide/files/records.config.en.rst
@@ -2181,9 +2181,6 @@ all the different user-agent versions of documents it 
encounters.
 
 The number of times to attempt a cache open write upon failure to get a 
write lock.
 
-This config is ignored when 
:ts:cv:`proxy.config.http.cache.open_write_fail_action` is
-set to ``5``.
-
 .. ts:cv:: CONFIG proxy.config.http.cache.open_write_fail_action INT 0
:reloadable:
:overridable:
@@ -2206,12 +2203,6 @@ all the different user-agent versions of documents it 
encounters.
  :ts:cv:`proxy.config.http.cache.max_stale_age`. Otherwise, go to
  origin server.
``4`` Return a ``502`` error on either a cache miss or on a revalidation.
-   ``5`` Retry Cache Read on a Cache Write Lock failure. This option together
- with `proxy.config.cache.enable_read_while_writer` configuration
- allows to collapse concurrent requests without a need for any plugin.
- Make sure to configure Read While Writer feature correctly following
- the docs in Cache Basics section. Note that this option may result in
- CACHE_LOOKUP_COMPLETE HOOK being called back more than once.
= ==
 
 Customizable User Response Pages
diff --git a/proxy/http/HttpCacheSM.cc b/proxy/http/HttpCacheSM.cc
index daf39c1..52190bc 100644
--- a/proxy/http/HttpCacheSM.cc
+++ b/proxy/http/HttpCacheSM.cc
@@ -175,8 +175,7 @@ HttpCacheSM::state_cache_open_write(int event, void *data)
 {
   STATE_ENTER(::state_cache_open_write, event);
   ink_assert(captive_action.cancelled == 0);
-  pending_action= nullptr;
-  bool read_retry_on_write_fail = false;
+  pending_action = nullptr;
 
   switch (event) {
   case CACHE_EVENT_OPEN_WRITE:
@@ -188,26 +187,9 @@ HttpCacheSM::state_cache_open_write(int event, void *data)
 break;
 
   case CACHE_EVENT_OPEN_WRITE_FAILED:
-if (master_sm->t_state.txn_conf->cache_open_write_fail_action == 
HttpTransact::CACHE_WL_FAIL_ACTION_READ_RETRY) {
-  // fall back to open_read_tries
-  // Note that when CACHE_WL_FAIL_ACTION_READ_RETRY is configured, 
max_cache_open_write_retries
-  // is automatically ignored. Make sure to not disable 
max_cache_open_read_retries
-  // with CACHE_WL_FAIL_ACTION_READ_RETRY as this results in proxy'ing to 
origin
-  // without write retries in both a cache miss or a cache refresh 
scenario.
-  if (open_write_tries <= 
master_sm->t_state.txn_conf->max_cache_open_write_retries) {
-Debug("http_cache", "[%" PRId64 "] [state_cache_open_write] cache open 
write failure %d. read retry triggered",
-  master_sm->sm_id, open_write_tries);
-open_read_tries  = 0;
-read_retry_on_write_fail = true;
-// make sure it doesn't loop indefinitely
-open_write_tries = 
master_sm->t_state.txn_conf->max_cache_open_write_retries + 1;
-  }
-}
-if (read_retry_on_write_fail || open_write_tries <= 
master_sm->t_state.txn_conf->max_cache_open_write_retries) {
+if (open_write_tries <= 
master_sm->t_state.txn_conf->max_cache_open_write_retries) {
   // Retry open write;
   open_write_cb = false;
-  // reset captive_action since HttpSM cancelled it
-  captive_action.cancelled = 0;
   do_schedule_in();
 } else {
   // The cache is hosed or full or something.
@@ -222,27 +204,18 @@ HttpCacheSM::state_cache_open_write(int event, void *data)
 break;
 
   case EVENT_INTERVAL:
-if (master_sm->t_state.txn_conf->cache_open_write_fail_action == 
HttpTransact::CACHE_WL_FAIL_ACTION_READ_RETRY) {
-  Debug("http_cache",
-"[%" PRId64 "] [state_cache_open_write] cache open write failure 
%d. "
-"falling back to read retry...",
-master_sm->sm_id, open_write_tries);
-  open_read_cb = false;
-  master_sm->handleEvent(CACHE_EVENT_OPEN_READ, data);
-} else {
-  Debug("http_cache",
-"[%" PRId64 "] 

[trafficserver] branch 8.0.x updated (851a5c8 -> 21efb27)

2020-02-10 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a change to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git.


from 851a5c8  Updated Changelog
 new 6ed35bc  Revert "Enhance Connection Collapse in ATS core"
 new 21efb27  Updated Changelog

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 CHANGELOG-8.0.6 |  1 -
 doc/admin-guide/files/records.config.en.rst |  9 -
 proxy/http/HttpCacheSM.cc   | 55 -
 proxy/http/HttpSM.cc|  9 -
 proxy/http/HttpTransact.cc  | 22 
 proxy/http/HttpTransact.h   |  1 -
 6 files changed, 20 insertions(+), 77 deletions(-)



[trafficserver] branch 8.0.x updated: Updated Changelog

2020-02-10 Thread bcall
This is an automated email from the ASF dual-hosted git repository.

bcall pushed a commit to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/8.0.x by this push:
 new 851a5c8  Updated Changelog
851a5c8 is described below

commit 851a5c81241bc8893890e98afe05e372cc458b46
Author: Bryan Call 
AuthorDate: Mon Feb 10 10:48:50 2020 -0800

Updated Changelog
---
 CHANGELOG-8.0.6 | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/CHANGELOG-8.0.6 b/CHANGELOG-8.0.6
index 0efc5f6..cb89007 100644
--- a/CHANGELOG-8.0.6
+++ b/CHANGELOG-8.0.6
@@ -35,6 +35,9 @@ Changes with Apache Traffic Server 8.0.6
   #6145 - Remove including sys/sysctl.h for Linux
   #6158 - Fixed build issues with hwloc 2.x API changes
   #6248 - Add support for the old lua formatted ease of use conventions and 
the numeric log rolling values
+  #6294 - Enhance Connection Collapse in ATS core - back port to 8.x
   #6308 - Fix clang-format-github CI job for 8.0.x branch
   #6312 - Set wrap after checking all the parents
+  #6389 - Fixed how we handle unknown schemes
   #6390 - Change header validation
+  #6398 - Fix chunked processing



[trafficserver] branch master updated: Auto port select slow_post test

2020-02-10 Thread shinrich
This is an automated email from the ASF dual-hosted git repository.

shinrich 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 c90226d  Auto port select slow_post test
c90226d is described below

commit c90226db8c9deb6dd9e4d9f15b4363b467570c1a
Author: Susan Hinrichs 
AuthorDate: Fri Feb 7 21:45:02 2020 +

Auto port select slow_post test
---
 tests/gold_tests/slow_post/slow_post.test.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/gold_tests/slow_post/slow_post.test.py 
b/tests/gold_tests/slow_post/slow_post.test.py
index 40b5795..d958708 100644
--- a/tests/gold_tests/slow_post/slow_post.test.py
+++ b/tests/gold_tests/slow_post/slow_post.test.py
@@ -41,7 +41,7 @@ class SlowPostAttack:
 self._server.addResponse("sessionlog.json", request_header2, 
response_header2)
 
 def setupTS(self):
-self._ts = Test.MakeATSProcess("ts", select_ports=False)
+self._ts = Test.MakeATSProcess("ts", select_ports=True)
 self._ts.Disk.remap_config.AddLine(
 'map / http://127.0.0.1:{0}'.format(self._server.Variables.Port)
 )