Skip to content

Commit 32f9776

Browse files
committed
Check generation to ensure index working on same object
Signed-off-by: Tamal Saha <[email protected]>
1 parent a74b910 commit 32f9776

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

pkg/cache/internal/cache_reader.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,12 @@ func (c *CacheReader) List(_ context.Context, out client.ObjectList, opts ...cli
148148
for i := range list {
149149
obj := list[i].(client.Object)
150150
key := client.ObjectKey{Namespace: obj.GetNamespace(), Name: obj.GetName()}
151-
if _, exists := objmap[key]; exists {
152-
numap[key] = obj
151+
if o, exists := objmap[key]; exists {
152+
if o.(client.Object).GetGeneration() == obj.GetGeneration() {
153+
numap[key] = obj
154+
} else {
155+
return fmt.Errorf("multiple generation found in indices for %+v %s/%s", obj.GetObjectKind().GroupVersionKind(), obj.GetNamespace(), obj.GetName())
156+
}
153157
}
154158
}
155159
objmap = numap

0 commit comments

Comments
 (0)