Skip to content

Commit 857868f

Browse files
committed
wip
1 parent d6eda01 commit 857868f

File tree

3 files changed

+16
-1
lines changed

3 files changed

+16
-1
lines changed

caffein-bounded-cache-support/src/main/java/io/javaoperatorsdk/operator/processing/event/source/cache/CaffeinBoundedCache.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import com.github.benmanes.caffeine.cache.Cache;
44

5+
/**
6+
* Caffein cache wrapper to be used in a {@link BoundedItemStore}
7+
* */
58
public class CaffeinBoundedCache<K, R> implements BoundedCache<K, R> {
69

710
private Cache<K, R> cache;

caffein-bounded-cache-support/src/test/java/io/javaoperatorsdk/operator/processing/event/source/cache/BoundedCacheTestBase.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.javaoperatorsdk.operator.processing.event.source.cache;
22

3+
import java.time.Duration;
34
import java.util.stream.IntStream;
45

56
import org.junit.jupiter.api.Test;
@@ -37,7 +38,7 @@ void reconciliationWorksWithLimitedCache() {
3738
}
3839

3940
private void assertConfigMapsDeleted() {
40-
await().untilAsserted(() -> IntStream.range(0, NUMBER_OF_RESOURCE_TO_TEST).forEach(i -> {
41+
await().atMost(Duration.ofSeconds(20)).untilAsserted(() -> IntStream.range(0, NUMBER_OF_RESOURCE_TO_TEST).forEach(i -> {
4142
var cm = extension().get(ConfigMap.class, RESOURCE_NAME_PREFIX + i);
4243
assertThat(cm).isNull();
4344
}));

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/ResourceConfiguration.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,17 @@ default Set<String> getEffectiveNamespaces() {
124124
return targetNamespaces;
125125
}
126126

127+
/**
128+
* See <a href="https://github.com/fabric8io/kubernetes-client/blob/43b67939fde91046ab7fb0c362f500c2b46eb59e/kubernetes-client/src/main/java/io/fabric8/kubernetes/client/informers/impl/DefaultSharedIndexInformer.java#L273">related method</a>
129+
* in fabric8 client.
130+
*
131+
* The main goal, is to be able to use limited caches.
132+
*
133+
* See {@link io.javaoperatorsdk.operator.processing.event.source.cache.BoundedItemStore} and <a href="https://github.com/java-operator-sdk/java-operator-sdk/blob/d6eda0138dba6d93c0ff22a5ffcaa7663fa65ca2/caffein-bounded-cache-support/src/main/java/io/javaoperatorsdk/operator/processing/event/source/cache/CaffeinBoundedCache.java">
134+
* CaffeinBoundedCache</a>
135+
*
136+
* @return Optional ItemStore implementation. If present this item store will be used inside the informers.
137+
*/
127138
default Optional<ItemStore<R>> getItemStore() {
128139
return Optional.empty();
129140
}

0 commit comments

Comments
 (0)