mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-25 20:53:33 +00:00
Fix resource quota controller shutting down its worker threads
This commit is contained in:
parent
ff4a5e2068
commit
31970780cc
@ -163,11 +163,10 @@ func (rq *ResourceQuotaController) enqueueResourceQuota(obj interface{}) {
|
|||||||
// worker runs a worker thread that just dequeues items, processes them, and marks them done.
|
// worker runs a worker thread that just dequeues items, processes them, and marks them done.
|
||||||
// It enforces that the syncHandler is never invoked concurrently with the same key.
|
// It enforces that the syncHandler is never invoked concurrently with the same key.
|
||||||
func (rq *ResourceQuotaController) worker() {
|
func (rq *ResourceQuotaController) worker() {
|
||||||
for {
|
workFunc := func() bool {
|
||||||
func() {
|
|
||||||
key, quit := rq.queue.Get()
|
key, quit := rq.queue.Get()
|
||||||
if quit {
|
if quit {
|
||||||
return
|
return true
|
||||||
}
|
}
|
||||||
defer rq.queue.Done(key)
|
defer rq.queue.Done(key)
|
||||||
err := rq.syncHandler(key.(string))
|
err := rq.syncHandler(key.(string))
|
||||||
@ -175,7 +174,13 @@ func (rq *ResourceQuotaController) worker() {
|
|||||||
utilruntime.HandleError(err)
|
utilruntime.HandleError(err)
|
||||||
rq.queue.Add(key)
|
rq.queue.Add(key)
|
||||||
}
|
}
|
||||||
}()
|
return false
|
||||||
|
}
|
||||||
|
for {
|
||||||
|
if quit := workFunc(); quit {
|
||||||
|
glog.Infof("resource quota controller worker shutting down")
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user