Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
  • 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