Skip to content

Commit 400eed1

Browse files
committed
fix: object cache was not reliable
Signed-off-by: Marco Nenciarini <[email protected]>
1 parent 2dc29a5 commit 400eed1

File tree

1 file changed

+4
-3
lines changed
  • internal/cnpgi/instance/internal/client

1 file changed

+4
-3
lines changed

internal/cnpgi/instance/internal/client/client.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ const DefaultTTLSeconds = 10
2121
type cachedEntry struct {
2222
entry client.Object
2323
fetchUnixTime int64
24-
ttl time.Duration
24+
ttlSeconds int64
2525
}
2626

2727
func (e *cachedEntry) isExpired() bool {
28-
return time.Now().Unix()-e.fetchUnixTime > int64(e.ttl)
28+
return time.Now().Unix()-e.fetchUnixTime > e.ttlSeconds
2929
}
3030

3131
// ExtendedClient is an extended client that is capable of caching multiple secrets without relying on informers
@@ -123,6 +123,7 @@ func (e *ExtendedClient) getCachedObject(
123123
cs := cachedEntry{
124124
entry: obj.(runtime.Object).DeepCopyObject().(client.Object),
125125
fetchUnixTime: time.Now().Unix(),
126+
ttlSeconds: DefaultTTLSeconds,
126127
}
127128

128129
contextLogger.Debug("setting object in the cache")
@@ -143,7 +144,7 @@ func (e *ExtendedClient) removeObject(object client.Object) {
143144
for i, cache := range e.cachedObjects {
144145
if cache.entry.GetNamespace() == object.GetNamespace() &&
145146
cache.entry.GetName() == object.GetName() &&
146-
cache.entry.GetObjectKind().GroupVersionKind() != object.GetObjectKind().GroupVersionKind() {
147+
cache.entry.GetObjectKind().GroupVersionKind() == object.GetObjectKind().GroupVersionKind() {
147148
e.cachedObjects = append(e.cachedObjects[:i], e.cachedObjects[i+1:]...)
148149
return
149150
}

0 commit comments

Comments
 (0)