mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-03 17:30:00 +00:00
apiextensions-apiserver: stop cacher on CRD update
This commit is contained in:
parent
82869c59ab
commit
c13d5ce36a
@ -245,7 +245,7 @@ func (r *crdHandler) removeDeadStorage() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
for uid := range storageMap {
|
for uid, s := range storageMap {
|
||||||
found := false
|
found := false
|
||||||
for _, crd := range allCustomResourceDefinitions {
|
for _, crd := range allCustomResourceDefinitions {
|
||||||
if crd.UID == uid {
|
if crd.UID == uid {
|
||||||
@ -254,6 +254,7 @@ func (r *crdHandler) removeDeadStorage() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if !found {
|
if !found {
|
||||||
|
s.storage.DestroyFunc()
|
||||||
delete(storageMap, uid)
|
delete(storageMap, uid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -423,10 +424,13 @@ func (c *crdHandler) updateCustomResourceDefinition(oldObj, _ interface{}) {
|
|||||||
// Copy because we cannot write to storageMap without a race
|
// Copy because we cannot write to storageMap without a race
|
||||||
// as it is used without locking elsewhere
|
// as it is used without locking elsewhere
|
||||||
for k, v := range storageMap {
|
for k, v := range storageMap {
|
||||||
|
if k == oldCRD.UID {
|
||||||
|
v.storage.DestroyFunc()
|
||||||
|
continue
|
||||||
|
}
|
||||||
storageMap2[k] = v
|
storageMap2[k] = v
|
||||||
}
|
}
|
||||||
|
|
||||||
delete(storageMap2, oldCRD.UID)
|
|
||||||
c.customStorage.Store(storageMap2)
|
c.customStorage.Store(storageMap2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user