Praefect and Gitaly don't support graceful shutdown
Gitaly and Praefect both perform a graceful shutdown of the old process when a process is being restarted with a SIGHUP. However, neither support gracefully shutting down the process without restarting it. This means existing requests will get interrupted when the process begins to shutdown. graceful_stop_timeout
option is not respected on shutdown, only on restarts.
Praefect's main ends with Praefect waiting for the bootstrap
to return. bootstrap
package does a graceful shutdown when the shutdown is initiated by tableflip
's upgrade/restart that is triggered by a SIGHUP
. However, when a process is being shutdown with a SIGTERM
or SIGINT
, not restarted, the shutdown is not graceful. Gitaly uses the same pattern and is also affected.