[trafficserver] branch 9.0.x updated: Updated ChangeLog
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new a9a5b4b Updated ChangeLog a9a5b4b is described below commit a9a5b4bcffcca51f01c5883ba9f35e928dd38129 Author: Bryan Call AuthorDate: Thu Oct 3 17:55:05 2019 -0700 Updated ChangeLog --- CHANGELOG-9.0.0 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG-9.0.0 b/CHANGELOG-9.0.0 index 05d7800..748314d 100644 --- a/CHANGELOG-9.0.0 +++ b/CHANGELOG-9.0.0 @@ -768,11 +768,13 @@ Changes with Apache Traffic Server 9.0.0 #5848 - Convert check programs in iocore/eventsystem/ into Catch based unit tests #5853 - correct the size of DNS buffers #5856 - Fixes 'traffic_ctl server restart' to restart + #5857 - Check for nullptr when locking #5865 - cachekey: added --canonical-prefix parameter #5867 - PR#5867: Explain how to use open_con(). #5868 - Update HttpTransact.cc #5870 - Fix bad limit in poll loop. jtest -c1 now works again. #5872 - cachekey: added --key-type to allow parent selection URL to be modified + #5879 - Weak mutex locking macros #5883 - Add unit tests for MIOBuffer:write() #5885 - Add the ability to static link ASAN, TSAN and LSAN #5887 - Fixed const issue with magick plugin
[trafficserver] 02/02: weak mutex macros
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 55e3ca68ba23bc690499feb832e43ca04a90aa78 Author: Fei Deng AuthorDate: Thu Sep 5 15:05:15 2019 -0500 weak mutex macros (cherry picked from commit f0d82b7d55a25c7a74f379eac9d2852f7f08ced2) --- iocore/eventsystem/I_Lock.h | 137 +++ iocore/hostdb/HostDB.cc | 2 +- iocore/net/SSLNetVConnection.cc | 1 + proxy/ProxySession.cc| 2 +- proxy/http/HttpSM.cc | 2 +- src/traffic_server/InkAPI.cc | 4 +- src/traffic_server/traffic_server.cc | 4 +- 7 files changed, 131 insertions(+), 21 deletions(-) diff --git a/iocore/eventsystem/I_Lock.h b/iocore/eventsystem/I_Lock.h index d599be2..4850199 100644 --- a/iocore/eventsystem/I_Lock.h +++ b/iocore/eventsystem/I_Lock.h @@ -48,13 +48,20 @@ @param _t The current EThread executing your code. */ + +// A weak version of the SCOPED_MUTEX_LOCK macro, allows the mutex to be a nullptr. #ifdef DEBUG -#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(MakeSourceLocation(), nullptr, _m, _t) -#else -#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(_m, _t) +#define WEAK_SCOPED_MUTEX_LOCK(_l, _m, _t) WeakMutexLock _l(MakeSourceLocation(), (char *)nullptr, _m, _t); +#else // DEBUG +#define WEAK_SCOPED_MUTEX_LOCK(_l, _m, _t) WeakMutexLock _l(_m, _t); #endif // DEBUG #ifdef DEBUG +#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(MakeSourceLocation(), (char *)nullptr, _m, _t) +#else // DEBUG +#define SCOPED_MUTEX_LOCK(_l, _m, _t) MutexLock _l(_m, _t) +#endif // DEBUG + /** Attempts to acquire the lock to the ProxyMutex. @@ -68,8 +75,15 @@ @param _t The current EThread executing your code. */ -#define MUTEX_TRY_LOCK(_l, _m, _t) MutexTryLock _l(MakeSourceLocation(), (char *)nullptr, _m, _t) +#ifdef DEBUG +#define WEAK_MUTEX_TRY_LOCK(_l, _m, _t) WeakMutexTryLock _l(MakeSourceLocation(), (char *)nullptr, _m, _t); +#else // DEBUG +#define WEAK_MUTEX_TRY_LOCK(_l, _m, _t) WeakMutexTryLock _l(_m, _t); +#endif // DEBUG + +#ifdef DEBUG +#define MUTEX_TRY_LOCK(_l, _m, _t) MutexTryLock _l(MakeSourceLocation(), (char *)nullptr, _m, _t) #else // DEBUG #define MUTEX_TRY_LOCK(_l, _m, _t) MutexTryLock _l(_m, _t) #endif // DEBUG @@ -337,23 +351,21 @@ Mutex_unlock(Ptr , EThread *t) } } -/** Scoped lock class for ProxyMutex - */ -class MutexLock +class WeakMutexLock { private: Ptr m; bool locked_p; public: - MutexLock( + WeakMutexLock( #ifdef DEBUG const SourceLocation , const char *ahandler, #endif // DEBUG Ptr , EThread *t) : m(am), locked_p(true) { -if (am) { +if (m.get()) { Mutex_lock( #ifdef DEBUG location, ahandler, @@ -365,7 +377,42 @@ public: void release() { -if (locked_p && m) { +if (locked_p && m.get()) { + Mutex_unlock(m, m->thread_holding); +} +locked_p = false; + } + + ~WeakMutexLock() { this->release(); } +}; + +/** Scoped lock class for ProxyMutex + */ +class MutexLock +{ +private: + Ptr m; + bool locked_p; + +public: + MutexLock( +#ifdef DEBUG +const SourceLocation , const char *ahandler, +#endif // DEBUG +Ptr , EThread *t) +: m(am), locked_p(true) + { +Mutex_lock( +#ifdef DEBUG + location, ahandler, +#endif // DEBUG + m, t); + } + + void + release() + { +if (locked_p) { Mutex_unlock(m, m->thread_holding); } locked_p = false; @@ -376,21 +423,21 @@ public: /** Scoped try lock class for ProxyMutex */ -class MutexTryLock +class WeakMutexTryLock { private: Ptr m; bool lock_acquired; public: - MutexTryLock( + WeakMutexTryLock( #ifdef DEBUG const SourceLocation , const char *ahandler, #endif // DEBUG Ptr , EThread *t) : m(am) { -if (am) { +if (m.get()) { lock_acquired = Mutex_trylock( #ifdef DEBUG location, ahandler, @@ -401,11 +448,12 @@ public: } } - ~MutexTryLock() + ~WeakMutexTryLock() { if (lock_acquired && m.get()) { Mutex_unlock(m, m->thread_holding); } +lock_acquired = false; } /** Spin till lock is acquired @@ -441,6 +489,67 @@ public: } }; +/** Scoped try lock class for ProxyMutex + */ +class MutexTryLock +{ +private: + Ptr m; + bool lock_acquired; + +public: + MutexTryLock( +#ifdef DEBUG +const SourceLocation , const char *ahandler, +#endif // DEBUG +Ptr , EThread *t) +: m(am) + { +lock_acquired = Mutex_trylock( +#ifdef DEBUG + location, ahandler, +#endif // DEBUG + m, t); + } + + ~MutexTryLock() + { +if (lock_acquired) { + Mutex_unlock(m, m->thread_holding); +} + } + + /** Spin till lock is acquired + */ + void + acquire(EThread *t) + { +MUTEX_TAKE_LOCK(m, t); +lock_acquired = true; + } + + void + release() + { +if
[trafficserver] branch 9.0.x updated (e83a342 -> 55e3ca6)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from e83a342 Updated ChangeLog new 6d5c488 check for nullptr when locking new 55e3ca6 weak mutex macros 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: iocore/eventsystem/I_Lock.h | 127 --- iocore/hostdb/HostDB.cc | 2 +- iocore/net/SSLNetVConnection.cc | 1 + proxy/ProxySession.cc| 2 +- proxy/http/HttpSM.cc | 2 +- src/traffic_server/InkAPI.cc | 4 +- src/traffic_server/traffic_server.cc | 4 +- 7 files changed, 127 insertions(+), 15 deletions(-)
[trafficserver] 01/02: check for nullptr when locking
This is an automated email from the ASF dual-hosted git repository. bcall pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git commit 6d5c488576e73de808ae24f77ae6240dd0c02d2b Author: Fei Deng AuthorDate: Wed Aug 21 14:19:25 2019 -0500 check for nullptr when locking (cherry picked from commit d75af6f2eb6c63aa216111bd7f477f1f4c775580) --- iocore/eventsystem/I_Lock.h | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/iocore/eventsystem/I_Lock.h b/iocore/eventsystem/I_Lock.h index b5bef2c..d599be2 100644 --- a/iocore/eventsystem/I_Lock.h +++ b/iocore/eventsystem/I_Lock.h @@ -353,17 +353,19 @@ public: Ptr , EThread *t) : m(am), locked_p(true) { -Mutex_lock( +if (am) { + Mutex_lock( #ifdef DEBUG - location, ahandler, +location, ahandler, #endif // DEBUG - m, t); +m, t); +} } void release() { -if (locked_p) { +if (locked_p && m) { Mutex_unlock(m, m->thread_holding); } locked_p = false;
[trafficserver] branch master updated (f0d82b7 -> 197a4d5)
This is an automated email from the ASF dual-hosted git repository. bcall pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from f0d82b7 weak mutex macros add 197a4d5 Adds build targets on CI for 9.0.x No new revisions were added by this update. Summary of changes: ci/jenkins/bin/gh-mirror.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
[trafficserver] branch master updated (526efb0 -> f0d82b7)
This is an automated email from the ASF dual-hosted git repository. duke8253 pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/trafficserver.git. from 526efb0 Fix a build issue on enabling FIPS add f0d82b7 weak mutex macros No new revisions were added by this update. Summary of changes: iocore/eventsystem/I_Lock.h | 137 +++ iocore/hostdb/HostDB.cc | 2 +- iocore/net/SSLNetVConnection.cc | 1 + proxy/ProxySession.cc| 2 +- proxy/http/HttpSM.cc | 2 +- src/traffic_server/InkAPI.cc | 4 +- src/traffic_server/traffic_server.cc | 4 +- 7 files changed, 131 insertions(+), 21 deletions(-)
[trafficserver] branch 9.0.x updated: Updated ChangeLog
This is an automated email from the ASF dual-hosted git repository. zwoop pushed a commit to branch 9.0.x in repository https://gitbox.apache.org/repos/asf/trafficserver.git The following commit(s) were added to refs/heads/9.0.x by this push: new e83a342 Updated ChangeLog e83a342 is described below commit e83a34297b58e03c9f9e4036ed948e67f0de18da Author: Leif Hedstrom AuthorDate: Thu Oct 3 11:40:21 2019 -0600 Updated ChangeLog --- CHANGELOG-9.0.0 | 35 ++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/CHANGELOG-9.0.0 b/CHANGELOG-9.0.0 index 1b0e8a2..05d7800 100644 --- a/CHANGELOG-9.0.0 +++ b/CHANGELOG-9.0.0 @@ -186,6 +186,7 @@ Changes with Apache Traffic Server 9.0.0 #4603 - Add cdniip and cdnistd claims to uri signing #4604 - Repurpose sub claim and add cdniuc support for URI signing #4606 - TLS Bridge: Fix remap for UA connection, tweak docs for remap support. + #4607 - adding TSHttpTxnRedoCacheLookup #4609 - BWF: Change timestamp global name to be consistent with logging timestamps #4613 - Runroot: Update verify command and refactor #4616 - [WEBP] Transform images when a client accepts image/webp. @@ -458,7 +459,6 @@ Changes with Apache Traffic Server 9.0.0 #5297 - Doc: fix proxy.config.cache.ram_cache.algorithm description #5301 - Slice Plugin: add options for disabling or pacing detailed block stitch error logging. #5302 - Correct config name for proxy.config.dns.connection_mode - #5305 - Throttling results in tight loop if there are no new connections #5306 - Removes priorities for AIOs, thanks oknet #5307 - correctly handle return value 0 from recv() #5308 - cppcheck: Changed from C casting to C++ casting @@ -702,6 +702,7 @@ Changes with Apache Traffic Server 9.0.0 #5722 - In test_hooks Au test case, add work-around for flakeyness of VCONN start/close events. #5723 - Update docs to document wipe_field_action that we use in production #5724 - Enable logging of the Elliptic Curve used to communicate with the client + #5726 - Expose client request SSL stats via API & Lua plugin #5728 - Remove header_rewrite conditions deprecated in previous versions #5730 - Cleanup and link references to sni.yaml #5731 - Use un-deprecated records for SSL server verification @@ -743,6 +744,8 @@ Changes with Apache Traffic Server 9.0.0 #5803 - Make TS_NULL_MLOC a valid C compile-time constant. #5806 - More doc spelling fixes #5808 - Remove unused assignment to satisfy clang-analyzer + #5809 - Address possible use after free issue in HttpVCTable::remove_entry + #5811 - Fix no_activity timeout for server session reuse. #5813 - Fixes broken links to documentation #5815 - Updates links to trafficserver.apache.org to https #5817 - Fixes various issues found in docs @@ -762,4 +765,34 @@ Changes with Apache Traffic Server 9.0.0 #5841 - Cleanup: unifdef WRITE_AND_TRANSFER #5844 - Explain how SRV origin selection works #5847 - Cleanup: Remove unused empty files + #5848 - Convert check programs in iocore/eventsystem/ into Catch based unit tests + #5853 - correct the size of DNS buffers #5856 - Fixes 'traffic_ctl server restart' to restart + #5865 - cachekey: added --canonical-prefix parameter + #5867 - PR#5867: Explain how to use open_con(). + #5868 - Update HttpTransact.cc + #5870 - Fix bad limit in poll loop. jtest -c1 now works again. + #5872 - cachekey: added --key-type to allow parent selection URL to be modified + #5883 - Add unit tests for MIOBuffer:write() + #5885 - Add the ability to static link ASAN, TSAN and LSAN + #5887 - Fixed const issue with magick plugin + #5888 - Allow disabling HTTP/2 priority frames limit + #5889 - Provide stats for the recently introduced HTTP/2 rate limits + #5893 - Cleanup: Remove unused AllocType and unused functions + #5902 - Ran clang-format + #5903 - Reduce unnecesary IOBufferBlock allocation + #5905 - Update Server IP in Transaction when attaching a session from the pool + #5915 - Update documentation for connect_attempts_timeout. + #5920 - Cleanup: VIO + #5921 - Cleanup AuTest for HTTP/2 + #5922 - Make code buildable with BoringSSL + #5926 - Fix AuTest for HTTP/2 using httpbin + #5930 - Track SSL session cache evictions performed due to full bucket + #5934 - Track scheduled events to (read|write)_vio.cont from Http2Stream + #5935 - Perform a SSL quiet shutdown when close-notify is not sent + #5939 - Remove hard coded filename in error message + #5955 - Fix debug output for global_user_agent_header. + #5959 - Clear api set bit to avoid crash in following redirect. + #5961 - Clarify docs on the change from redirect_enabled. + #5962 - Removed hardcoded sni.yaml configuration filename in logs + #5977 - YAML config: output erroneous keyword and line number