Allow reloading some server timings (#5071)
Allows changing grace period and a few other things timing-related via HUP instead of just a restart. Tested manually via config changes and HUP.
This commit is contained in:
1 parent
35d1df7388
commit
66af7dba98
5 files changed
+81
-10
No files matched your search
@@ -682,3 +682,39 @@ func (c *Controller) Shutdown() error {
|
||||
func (c *Controller) WorkerStatusUpdateTimes() *sync.Map {
|
||||
return c.workerStatusUpdateTimes
|
||||
}
|
||||
|
||||
// ReloadTimings reloads timing related parameters
|
||||
func (c *Controller) ReloadTimings(newConfig *config.Config) error {
|
||||
const op = "controller.(Controller).ReloadTimings"
|
||||
|
||||
switch {
|
||||
case newConfig == nil:
|
||||
return errors.New(c.baseContext, errors.InvalidParameter, op, "nil config")
|
||||
case newConfig.Controller == nil:
|
||||
return errors.New(c.baseContext, errors.InvalidParameter, op, "nil config.Controller")
|
||||
}
|
||||
|
||||
switch newConfig.Controller.WorkerStatusGracePeriodDuration {
|
||||
case 0:
|
||||
c.workerStatusGracePeriod.Store(int64(server.DefaultLiveness))
|
||||
default:
|
||||
c.workerStatusGracePeriod.Store(int64(newConfig.Controller.WorkerStatusGracePeriodDuration))
|
||||
}
|
||||
switch newConfig.Controller.LivenessTimeToStaleDuration {
|
||||
case 0:
|
||||
c.livenessTimeToStale.Store(int64(server.DefaultLiveness))
|
||||
default:
|
||||
c.livenessTimeToStale.Store(int64(newConfig.Controller.LivenessTimeToStaleDuration))
|
||||
}
|
||||
|
||||
switch newConfig.Controller.GetDownstreamWorkersTimeoutDuration {
|
||||
case 0:
|
||||
to := server.DefaultLiveness
|
||||
c.getDownstreamWorkersTimeout.Store(&to)
|
||||
default:
|
||||
to := newConfig.Controller.GetDownstreamWorkersTimeoutDuration
|
||||
c.getDownstreamWorkersTimeout.Store(&to)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
Reference in new issue
Block a user