GitHub user danobi opened a pull request:
https://github.com/apache/trafficserver/pull/1224
TS-5056 Implement nonrecoverable error mechanism
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.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/danobi/trafficserver TS-5056
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/trafficserver/pull/1224.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 #1224
----
commit 43048cbf07325475e7a8d96ddaf13f872942b3e4
Author: Daniel Xu <[email protected]>
Date: 2016-11-16T20:21:27Z
TS-5056 Implement nonrecoverable error mechanism
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.
----
---
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.
---