[trafficserver] branch master updated: Avoid cross-thread mutex conflicts
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
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
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)
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
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"
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)
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
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
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) )