Skip to content

Commit f56d852

Browse files
committed
refactor: remove the use of knownResourceVersions
closes: #2984 Signed-off-by: Steve Hawkins <[email protected]>
1 parent 87ec587 commit f56d852

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/informer/TemporaryResourceCache.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,19 +80,12 @@ void clean() {
8080
private final ExpirationCache<String> tombstones = new ExpirationCache<>(1000000, 1200000);
8181
private final ManagedInformerEventSource<T, ?, ?> managedInformerEventSource;
8282
private final boolean parseResourceVersions;
83-
private final ExpirationCache<String> knownResourceVersions;
8483

8584
public TemporaryResourceCache(
8685
ManagedInformerEventSource<T, ?, ?> managedInformerEventSource,
8786
boolean parseResourceVersions) {
8887
this.managedInformerEventSource = managedInformerEventSource;
8988
this.parseResourceVersions = parseResourceVersions;
90-
if (parseResourceVersions) {
91-
// keep up to the 50000 add/updates for up to 5 minutes
92-
knownResourceVersions = new ExpirationCache<>(50000, 600000);
93-
} else {
94-
knownResourceVersions = null;
95-
}
9689
}
9790

9891
public synchronized void onDeleteEvent(T resource, boolean unknownState) {
@@ -122,9 +115,6 @@ public synchronized void putAddedResource(T newResource) {
122115
* @param previousResourceVersion null indicates an add
123116
*/
124117
public synchronized void putResource(T newResource, String previousResourceVersion) {
125-
if (knownResourceVersions != null) {
126-
knownResourceVersions.add(newResource.getMetadata().getResourceVersion());
127-
}
128118
var resourceId = ResourceID.fromResource(newResource);
129119
var cachedResource = managedInformerEventSource.get(resourceId).orElse(null);
130120

@@ -160,8 +150,17 @@ public synchronized void putResource(T newResource, String previousResourceVersi
160150
}
161151

162152
public synchronized boolean isKnownResourceVersion(T resource) {
163-
return knownResourceVersions != null
164-
&& knownResourceVersions.contains(resource.getMetadata().getResourceVersion());
153+
var resourceId = ResourceID.fromResource(resource);
154+
var knownResource = cache.get(resourceId);
155+
if (knownResource == null) {
156+
knownResource = managedInformerEventSource.get(resourceId).orElse(null);
157+
}
158+
159+
if (knownResource == null) {
160+
return tombstones.contains(resource.getMetadata().getUid());
161+
}
162+
163+
return isLaterResourceVersion(resourceId, knownResource, resource);
165164
}
166165

167166
/**

0 commit comments

Comments
 (0)