DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
We need a way to perform a graceful restart of ATS. One example of the need for this is the reloading of plugins. Both configs and new code (.so). This page should hold all the ideas for this project going forward. The JIRA on The JIRA for this is TS-1969.
Proposed Solution
Potential Solutions
New Process
Start a new process and transition sockets. Then drain existing connections from old process and close. We would need to handle a read only cache and there may be some complications around HostDB.
Internal Reload
...
- Complete config reload (for all those possible that are not covered today)
- Cover config files not covered today
- traffic_line -x inventory
- RecordsConfig.cc review for correctness
- Make a generic way to signal plugins of their config change
- Load new plugins
- Cover config files not covered today
- Drain connections
- Header Rewrite Plugin?
- Restart TS in the background
- Start new process
- Bind same ports
- Read only cache
- Cache hand over
- Ram cache handover
A drain option has been added to the traffic_ctl command. See commit
2107f0f675dc084f5a829cb6268eee5a19c1e12c