-
Notifications
You must be signed in to change notification settings - Fork 796
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TS-5056 Implement nonrecoverable error mechanism #1224
Conversation
Change `Emergency()` to terminate the current process with status code UNRECOVERABLE_EXIT. Also change traffic_manager to listen for the UNRECOVERABLE_EXIT status code. If heard, then TM will not try to restart TS from that point forward. This was designed so that traffic_server could call Emergency(..) in the event of a nonrecoverable error such as a bad config file. No amount of TS rebooting will fix a bad config, so we might as well have TM wait for human intervention. Note that if traffic_cop or traffic_manager calls Emergency(), nothing totally unexpected will happen since the only visible change from this patch is the status code.
|
||
va_start(ap, message_format); | ||
ink_emergency_va(message_format, ap); | ||
va_end(ap); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmmm. Hasn't the process already exited by this point? Maybe best to be safe, though.
[approve ci] |
I did this by hand, to squash the two commits. |
FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/1308/ for details. |
Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/1202/ for details. |
* asf/master: [TS-5024] Ran clang-format. Modify TSHttpTxnHookAdd to add hook only once. Modify TSHttpTxnHookAdd to add hook only once TS-4887: Fixes naming of this new API in the docs TS-5059: Port TCP Fast Open BIO to OpenSSL 1.1 get_creation_time() takes *time_t, not *long apache#1323 Restores the NULL string where appropriate Add 7.1.x to the github mirror and build triggers Doc: Updates to prevent dangling references. TS-5022: remove goto TS-5022: fix silent exit problem Fix Http2Stream *stream variable shadow reported by issue 1308. TS-5022: resource leak fix TS-5056: Implement nonrecoverable error mechanism This closes apache#1224. TS-5022: Allow multiple client cert for ATS TS-5092: ATS handling of too many concurrent streams too agressive
Change
Emergency()
to terminate the current process with statuscode UNRECOVERABLE_EXIT.
Also change traffic_manager to listen for the UNRECOVERABLE_EXIT
status code. If heard, then TM will not try to restart TS from
that point forward.
This was designed so that traffic_server could call Emergency(..)
in the event of a nonrecoverable error such as a bad config file.
No amount of TS rebooting will fix a bad config, so we might as well
have TM wait for human intervention.
Note that if traffic_cop or traffic_manager calls Emergency(),
nothing totally unexpected will happen since the only visible change
from this patch is the status code.