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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 [email protected] or file a JIRA ticket
with INFRA.
---