Skip to content

Commit 428f555

Browse files
committed
Enqueue only CachedObjects with correct GVR
The replication controller for CachedResources needs to filter out CachedObjects, and enqueue only those that have a matching GVR. On-behalf-of: @SAP [email protected] Signed-off-by: Robert Vasek <[email protected]>
1 parent 41fb874 commit 428f555

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

pkg/reconciler/cache/cachedresources/replication/replication_controller.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ func NewController(
9292
})
9393

9494
globalHandler, err := c.cachedObjectsInformer.Informer().AddEventHandler(cache.ResourceEventHandlerFuncs{
95-
AddFunc: func(obj interface{}) { c.enqueueCacheObject(obj) },
96-
UpdateFunc: func(_, obj interface{}) { c.enqueueCacheObject(obj) },
97-
DeleteFunc: func(obj interface{}) { c.enqueueCacheObject(obj) },
95+
AddFunc: func(obj interface{}) { c.enqueueCacheObject(obj, gvr) },
96+
UpdateFunc: func(_, obj interface{}) { c.enqueueCacheObject(obj, gvr) },
97+
DeleteFunc: func(obj interface{}) { c.enqueueCacheObject(obj, gvr) },
9898
})
9999
if err != nil {
100100
return nil, err
@@ -116,7 +116,7 @@ func (c *Controller) enqueueObject(obj interface{}, gvr schema.GroupVersionResou
116116
c.queue.Add(gvrKey)
117117
}
118118

119-
func (c *Controller) enqueueCacheObject(obj interface{}) {
119+
func (c *Controller) enqueueCacheObject(obj interface{}, replicateGVR schema.GroupVersionResource) {
120120
// This way we extract what is the original GVR of the object that we are replicating.
121121
cr, ok := obj.(*cachev1alpha1.CachedObject)
122122
if !ok {
@@ -130,6 +130,14 @@ func (c *Controller) enqueueCacheObject(obj interface{}) {
130130
Version: labels[LabelKeyObjectVersion],
131131
Resource: labels[LabelKeyObjectResource],
132132
}
133+
134+
if gvr.Group != replicateGVR.Group ||
135+
gvr.Version != replicateGVR.Version ||
136+
gvr.Resource != replicateGVR.Resource {
137+
// We care only about CachedObjects that replicate our GVR.
138+
return
139+
}
140+
133141
key := kcpcache.ToClusterAwareKey(string(logicalcluster.From(cr)), labels[LabelKeyObjectOriginalNamespace], labels[LabelKeyObjectOriginalName])
134142

135143
gvrKey := fmt.Sprintf("%s.%s.%s::%s", gvr.Version, gvr.Resource, gvr.Group, key)

0 commit comments

Comments
 (0)