Skip to content

Commit 7118c0b

Browse files
committed
test fix
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
1 parent 2e8172e commit 7118c0b

2 files changed

Lines changed: 13 additions & 1 deletion

File tree

docs/content/en/blog/releases/v5-5-release.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ more efficient, and exposes a richer, matcher-aware `ResourceOperations` API. Th
1111
breaking API changes**, but there is one behavioral change around `UpdateControl` — see the
1212
migration notes.
1313

14+
If you are running on version `5.3.x` or `5.4.0` upgrade is strongly recommend!
15+
1416
## Key Features
1517

1618
### Matcher-based updates in `ResourceOperations`

operator-framework/src/test/java/io/javaoperatorsdk/operator/baseapi/latestdistinct/LatestDistinctTestReconciler.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,17 @@
2020
import java.util.Set;
2121
import java.util.concurrent.atomic.AtomicInteger;
2222

23+
import org.slf4j.Logger;
24+
import org.slf4j.LoggerFactory;
25+
2326
import io.fabric8.kubernetes.api.model.ConfigMap;
2427
import io.javaoperatorsdk.operator.api.config.informer.InformerEventSourceConfiguration;
2528
import io.javaoperatorsdk.operator.api.reconciler.Context;
2629
import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
2730
import io.javaoperatorsdk.operator.api.reconciler.ErrorStatusUpdateControl;
2831
import io.javaoperatorsdk.operator.api.reconciler.EventSourceContext;
2932
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
33+
import io.javaoperatorsdk.operator.api.reconciler.ResourceOperations;
3034
import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
3135
import io.javaoperatorsdk.operator.processing.event.ResourceID;
3236
import io.javaoperatorsdk.operator.processing.event.source.EventSource;
@@ -35,6 +39,8 @@
3539
@ControllerConfiguration
3640
public class LatestDistinctTestReconciler implements Reconciler<LatestDistinctTestResource> {
3741

42+
private static final Logger log = LoggerFactory.getLogger(LatestDistinctTestReconciler.class);
43+
3844
public static final String EVENT_SOURCE_1_NAME = "configmap-es-1";
3945
public static final String EVENT_SOURCE_2_NAME = "configmap-es-2";
4046
public static final String LABEL_KEY = "configmap-type";
@@ -53,6 +59,7 @@ public UpdateControl<LatestDistinctTestResource> reconcile(
5359
}
5460
var allConfigMaps = context.getSecondaryResourcesAsStream(ConfigMap.class).toList();
5561
if (allConfigMaps.size() < 2) {
62+
log.info("Skipping reconciliation, only {} config map in cache", allConfigMaps.size());
5663
// wait until both informers see the config map
5764
return UpdateControl.noUpdate();
5865
}
@@ -66,7 +73,10 @@ public UpdateControl<LatestDistinctTestResource> reconcile(
6673
resource.getStatus().setConfigMapCount(distinctConfigMaps.size());
6774
var configMap = distinctConfigMaps.get(0);
6875
configMap.setData(Map.of(KEY_2, "val2"));
69-
var updated = context.resourceOperations().update(configMap);
76+
var updated =
77+
context
78+
.resourceOperations()
79+
.update(configMap, ResourceOperations.Options.filterWithOptimisticLocking());
7080

7181
// makes sure that distinct config maps returned
7282
distinctConfigMaps = context.getSecondaryResourcesAsStream(ConfigMap.class, true).toList();

0 commit comments

Comments
 (0)