Skip to content

Commit 7e5cb3e

Browse files
committed
wip
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
1 parent a825895 commit 7e5cb3e

2 files changed

Lines changed: 26 additions & 16 deletions

File tree

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

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -297,25 +297,31 @@ private Stream<R> replaceWithTempCacheVersions(
297297
Predicate<R> predicate,
298298
String indexName,
299299
String indexKey) {
300-
if (!comparableResourceVersions) {
300+
if (!comparableResourceVersions || temporaryResourceCache.isEmpty()) {
301301
return stream;
302302
}
303303

304-
var tempResources =
305-
temporaryResourceCache.getResources().entrySet().stream()
306-
.filter(
307-
e -> {
308-
if (namespace != null) {
309-
var res =
310-
e.getKey().getNamespace().map(ns -> ns.equals(namespace)).orElse(false);
311-
if (!res) return false;
312-
}
313-
if (predicate != null) {
314-
return predicate.test(e.getValue());
315-
}
316-
return true;
317-
})
318-
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
304+
var allTempResources = temporaryResourceCache.getResources();
305+
Map<ResourceID, R> tempResources;
306+
if (namespace == null && predicate == null) {
307+
tempResources = new HashMap<>(allTempResources);
308+
} else {
309+
tempResources =
310+
allTempResources.entrySet().stream()
311+
.filter(
312+
e -> {
313+
if (namespace != null) {
314+
var res =
315+
e.getKey().getNamespace().map(ns -> ns.equals(namespace)).orElse(false);
316+
if (!res) return false;
317+
}
318+
if (predicate != null) {
319+
return predicate.test(e.getValue());
320+
}
321+
return true;
322+
})
323+
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
324+
}
319325

320326
if (tempResources.isEmpty()) {
321327
return stream;

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,10 @@ public synchronized Optional<T> getResourceFromCache(ResourceID resourceID) {
276276
return Optional.ofNullable(cache.get(resourceID));
277277
}
278278

279+
synchronized boolean isEmpty() {
280+
return cache.isEmpty();
281+
}
282+
279283
synchronized Map<ResourceID, T> getResources() {
280284
return new HashMap<>(cache);
281285
}

0 commit comments

Comments
 (0)