metropolis/pkg/supervisor: read directly from channel instead via select
Change-Id: I05fa6d44b0536040a53e1f62f4adb8548de97b37
Reviewed-on: https://review.monogon.dev/c/monogon/+/3006
Tested-by: Jenkins CI
Reviewed-by: Serge Bazanski <serge@monogon.tech>
diff --git a/metropolis/pkg/supervisor/supervisor_processor.go b/metropolis/pkg/supervisor/supervisor_processor.go
index 2c583ff..46cd1aa 100644
--- a/metropolis/pkg/supervisor/supervisor_processor.go
+++ b/metropolis/pkg/supervisor/supervisor_processor.go
@@ -128,22 +128,20 @@
// liveRunnables returning an empty list.
func (s *supervisor) liquidator() {
for {
- select {
- case r := <-s.pReq:
- switch {
- case r.schedule != nil:
- s.ilogger.Infof("liquidator: refusing to schedule %s", r.schedule.dn)
- s.mu.Lock()
- n := s.nodeByDN(r.schedule.dn)
- n.state = nodeStateDead
- s.mu.Unlock()
- case r.died != nil:
- s.ilogger.Infof("liquidator: %s exited", r.died.dn)
- s.mu.Lock()
- n := s.nodeByDN(r.died.dn)
- n.state = nodeStateDead
- s.mu.Unlock()
- }
+ r := <-s.pReq
+ switch {
+ case r.schedule != nil:
+ s.ilogger.Infof("liquidator: refusing to schedule %s", r.schedule.dn)
+ s.mu.Lock()
+ n := s.nodeByDN(r.schedule.dn)
+ n.state = nodeStateDead
+ s.mu.Unlock()
+ case r.died != nil:
+ s.ilogger.Infof("liquidator: %s exited", r.died.dn)
+ s.mu.Lock()
+ n := s.nodeByDN(r.died.dn)
+ n.state = nodeStateDead
+ s.mu.Unlock()
}
live := s.liveRunnables()
if len(live) == 0 {