Skip to content

Commit 748553c

Browse files
committed
Merge branch 'main' into next
# Conflicts: # micrometer-support/pom.xml # operator-framework-core/pom.xml # operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/config/Utils.java # operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/Controller.java # operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/EventProcessor.java # operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSource.java # operator-framework-core/src/test/java/io/javaoperatorsdk/operator/api/config/UtilsTest.java # operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/EventProcessorTest.java # operator-framework-junit5/pom.xml # operator-framework/pom.xml # pom.xml # sample-operators/mysql-schema/pom.xml # sample-operators/pom.xml # sample-operators/tomcat-operator/pom.xml # sample-operators/webpage/pom.xml # smoke-test-samples/common/pom.xml # smoke-test-samples/pom.xml # smoke-test-samples/pure-java/pom.xml # smoke-test-samples/spring-boot-plain/pom.xml
2 parents 83393ad + 8a9cb34 commit 748553c

File tree

6 files changed

+59
-81
lines changed

6 files changed

+59
-81
lines changed

docs/documentation/features.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ custom resource, the reconciliation could be skipped. This is supported out of t
196196
default is not triggered if the change to the main custom resource does not increase the `.metadata.generation` field.
197197
Note that the increase of `.metada.generation` is handled automatically by Kubernetes.
198198

199-
To turn on this feature set `generationAwareEventProcessing` to `false` for the `Reconciler`.
199+
To turn off this feature set `generationAwareEventProcessing` to `false` for the `Reconciler`.
200200

201201
## Support for Well Known (non-custom) Kubernetes Resources
202202

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/source/controller/OnceWhitelistEventFilterEventFilter.java

Lines changed: 0 additions & 35 deletions
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package io.javaoperatorsdk.operator.processing.event.source.controller;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
import java.util.Optional;
6+
7+
import org.slf4j.Logger;
8+
import org.slf4j.LoggerFactory;
9+
10+
import io.fabric8.kubernetes.api.model.HasMetadata;
11+
import io.javaoperatorsdk.operator.processing.event.ResourceID;
12+
13+
public class TemporaryResourceCache<T extends HasMetadata> {
14+
15+
private static final Logger log = LoggerFactory.getLogger(TemporaryResourceCache.class);
16+
17+
private final Map<ResourceID, T> cache = new HashMap<>();
18+
private final ControllerResourceCache<T> managedInformerEventSource;
19+
20+
public TemporaryResourceCache(ControllerResourceCache<T> managedInformerEventSource) {
21+
this.managedInformerEventSource = managedInformerEventSource;
22+
}
23+
24+
public synchronized void removeResourceFromCache(T resource) {
25+
cache.remove(ResourceID.fromResource(resource));
26+
}
27+
28+
public synchronized void putUpdatedResource(T newResource, String previousResourceVersion) {
29+
var resourceId = ResourceID.fromResource(newResource);
30+
var informerCacheResource = managedInformerEventSource.get(resourceId);
31+
if (informerCacheResource.isEmpty()) {
32+
log.debug("No cached value present for resource: {}", newResource);
33+
return;
34+
}
35+
// if this is not true that means the cache was already updated
36+
if (informerCacheResource.get().getMetadata().getResourceVersion()
37+
.equals(previousResourceVersion)) {
38+
log.debug("Putting resource to temporal cache with id: {}", resourceId);
39+
cache.put(resourceId, newResource);
40+
} else {
41+
// if something is in cache it's surely obsolete now
42+
cache.remove(resourceId);
43+
}
44+
}
45+
46+
public synchronized Optional<T> getResourceFromCache(ResourceID resourceID) {
47+
return Optional.ofNullable(cache.get(resourceID));
48+
}
49+
}
50+

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/OnceWhitelistEventFilterEventFilterTest.java

Lines changed: 0 additions & 41 deletions
This file was deleted.

operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/InClusterCurl.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,15 @@ public InClusterCurl(KubernetesClient client, String namespace) {
2121
}
2222

2323
public String checkUrl(String url) {
24+
return checkUrl("-s", "-o", "/dev/null", "-w", "%{http_code}", url);
25+
}
26+
27+
public String checkUrl(String... args) {
2428
String podName = KubernetesResourceUtil.sanitizeName("curl-" + UUID.randomUUID());
2529
try {
2630
Pod curlPod = client.run().inNamespace(namespace)
2731
.withRunConfig(new RunConfigBuilder()
28-
.withArgs("-s", "-o", "/dev/null", "-w", "%{http_code}", url)
32+
.withArgs(args)
2933
.withName(podName)
3034
.withImage("curlimages/curl:7.78.0")
3135
.withRestartPolicy("Never")

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,18 +46,18 @@
4646
<fabric8-client.version>5.12.0</fabric8-client.version>
4747
<slf4j.version>1.7.36</slf4j.version>
4848
<log4j.version>2.17.2</log4j.version>
49-
<mokito.version>4.3.1</mokito.version>
49+
<mokito.version>4.4.0</mokito.version>
5050
<commons-lang3.version>3.12.0</commons-lang3.version>
5151
<auto-service.version>1.0.1</auto-service.version>
5252
<compile-testing.version>0.19</compile-testing.version>
5353
<javapoet.version>1.13.0</javapoet.version>
5454
<assertj.version>3.22.0</assertj.version>
55-
<awaitility.version>4.1.1</awaitility.version>
55+
<awaitility.version>4.2.0</awaitility.version>
5656
<spring-boot.version>2.6.4</spring-boot.version>
5757
<micrometer-core.version>1.8.3</micrometer-core.version>
5858

5959
<fmt-maven-plugin.version>2.11</fmt-maven-plugin.version>
60-
<maven-compiler-plugin.version>3.10.0</maven-compiler-plugin.version>
60+
<maven-compiler-plugin.version>3.10.1</maven-compiler-plugin.version>
6161
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
6262
<maven-javadoc-plugin.version>3.3.2</maven-javadoc-plugin.version>
6363
<maven-resources-plugin.version>3.2.0</maven-resources-plugin.version>

0 commit comments

Comments
 (0)