You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a new feature: Update/Reload without downtime.
1. The current supervisor receives a signal.
2. The current supervisor sends signals to its workers, and the
workers stop all plugins that cannot run in parallel.
3. The current supervisor starts a new supervisor.
* => Old processes and new processes run in parallel.
4. After the new supervisor and its workers start to work, the
current supervisor and its workers stop.
ref: nginx's feature for upgrading on the fly
* http://nginx.org/en/docs/control.html#upgrade
Problem to solve:
Updating Fluentd or reloading a config causes downtime.
Plugins that receive data as a server, such as `in_udp`, `in_tcp`,
and `in_syslog`, cannot receive data during this time.
This means that the data sent by a client is lost during this
time unless the client has a re-sending feature.
This makes updating Fluentd or reloading a config difficult in
some cases.
Specific feature:
Run only limited Input plugins in parallel, such as `in_tcp`,
`in_udp`, and `in_syslog`.
Stop all plugins except those Input plugins, and prepare an
agent for forwarding data to the new workers.
After the new workers start, they receive events from the old
workers.
Note: need treasure-data/serverengine#146
Signed-off-by: Daijiro Fukuda <fukuda@clear-code.com>
0 commit comments