GitHub user pbchou opened a pull request: https://github.com/apache/trafficserver/pull/1026
TS-4475 Fix Log Collation Crash (back-port). @shinrich @oknet -- Susan, this PR is just a back-port to 6.2.x of the Log Collation crash fix. I believe Oknet already +1 the back-port as part of the previous PR #831 . I think this should be back-ported as this is a crash bug and 6.2.x is a LTS release. You can merge this pull request into a Git repository by running: $ git pull https://github.com/pbchou/trafficserver TS-4475-backport-6.2.x Alternatively you can review and apply these changes as the patch at: https://github.com/apache/trafficserver/pull/1026.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1026 ---- commit 1cc28eb9ca06ae6834a779ee889f8b9c3ab8c2b9 Author: Peter Chou <pbc...@labs.att.com> Date: 2016-06-24T23:21:05Z TS-4475: Modified the event handlers in LogCollationClientSM.cc to handle and ignore the VC_EVENT_INACTIVITY_TIMEOUT event. Previously, this event was un-handled and would cause a core dump. (cherry picked from commit 0aefbe5349432e44031401ca6a60535a8516adcb) commit c4344440715e72fc87fa5c3ad4b788317f013e80 Author: Peter Chou <pbc...@labs.att.com> Date: 2016-08-03T19:20:45Z TS-4475 : Handle VC_EVENT_INACTIVITY_TIMEOUT in LogCollationClientSM.cc Based on suggestions from Oknet Xu, we now close the client connection on the timeout event instead of ignoring it. Also, we set the net_vc associated with the client connection to have a timeout of one day or 86400 seconds instead of the default value. (cherry picked from commit efd3582b92d825649216705521dbe92784a7279b) commit 569407f970489f3d16b835cc7f990d902e946300 Author: Peter Chou <pbc...@labs.att.com> Date: 2016-08-05T23:35:09Z TS-4475 : Handle VC_EVENT_INACTIVITY_TIMEOUT in LogCollationClientSM.cc Based on suggestions from Susan Hinrich, we now also handle the VC_EVENT_ACTIVE_TIMEOUT event. In addition, we also perform the same clean-up activities performed for the EOS and ERROR events in addition to closing the client connection. (cherry picked from commit 483412986c5875ed2451b72328e8548dfc7ef207) commit 6f3795631011da4232ebe99c94206168318a9b47 Author: Peter Chou <pbc...@labs.att.com> Date: 2016-08-09T23:52:47Z TS-4475: Fix un-handled event crash in LogCollationClientSM.cc I modified the comment and used the post-assignment pointer (instead of the pre-assignment pointer) to implement an explicit inactivity time-out value for Log Collation client net-vcs so that they do not use the default defined in the config. (cherry picked from commit cb2fa3c5159f17dc5a8e75bfaa4e3cacd8251071) commit a23a620c53c50e1f15e10cbdc3057877697a59ad Author: Peter Chou <pbc...@labs.att.com> Date: 2016-08-22T19:56:18Z TS-4475: Fix un-handled time-out event crash in Log Collation 1. For collation hosts and clients, handle VC_EVENT_ACTIVE_TIMEOUT and VC_EVENT_INACTIVITY_TIMEOUT events and treat them the same as other error conditions (EOS and ERROR) including performing any clean-up operations. 2. Added two configuration options for log collation VC time-outs -- - proxy.config.log.collation_host_timeout INT 86390 - proxy.config.log.collation_client_timeout INT 86400 These options control how long before the host and client ends of the log collation net-vc will time-out after being inactive. The host end defaults to 10 fewer seconds to avoid any race condition. If the host disconnects first, the client will re-establish with a fresh connection. (cherry picked from commit b6ed91805d9769394131b577045fb6331a25f5c8) commit fb4ad2cdc92f6023b7cf61b8836a3535f3e41a0b Author: Peter Chou <pbc...@labs.att.com> Date: 2016-09-01T19:06:24Z TS-4475: Fix un-handled time-out event crash in Log Collation Updated the documenation to explain the difference in host/client default time-outs. (cherry picked from commit 4c03b08851eb55ee92537029fbc99cf760542ed6) ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---