Fix workqueue memory leak

Kubernetes-commit: ccc8303df1970632e9ce8576f24ca5b20115f5fa
This commit is contained in:
xuzhonghu
2021-09-14 09:53:53 +08:00
committed by Kubernetes Publisher
parent 81c3757ed9
commit 7f47bbe3fe

View File

@@ -155,7 +155,10 @@ func (q *Type) Get() (item interface{}, shutdown bool) {
return nil, true
}
item, q.queue = q.queue[0], q.queue[1:]
item = q.queue[0]
// The underlying array still exists and reference this object, so the object will not be garbage collected.
q.queue[0] = nil
q.queue = q.queue[1:]
q.metrics.get(item)