Skip to content

Commit bdfa315

Browse files
committed
refactor: remove backwards compatibility as impact should be low
1 parent 2a94aa9 commit bdfa315

File tree

6 files changed

+9
-86
lines changed

6 files changed

+9
-86
lines changed

docs/documentation/v3-1-migration.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ permalink: /docs/v3-1-migration
77

88
# Migrating from v3 to v3.1
99

10+
## ReconciliationMaxInterval Annotation has been renamed to MaxReconciliationInterval
11+
12+
Associated methods on both the `ControllerConfiguration` class and annotation have also been
13+
renamed accordingly.
14+
1015
## Workflows Impact on Managed Dependent Resources Behavior
1116

1217
Version 3.1 comes with a workflow engine that replaces the previous behavior of managed dependent

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

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -147,34 +147,13 @@ public ResourceEventFilter<P> getEventFilter() {
147147
return answer != null ? answer : ResourceEventFilters.passthrough();
148148
}
149149

150-
@Override
151-
public Optional<Duration> reconciliationMaxInterval() {
152-
return maxReconciliationInterval();
153-
}
154-
155150
@Override
156151
public Optional<Duration> maxReconciliationInterval() {
157-
Duration oldStyle = null;
158-
final var oldConfig = annotation.reconciliationMaxInterval();
159-
if (oldConfig != null && oldConfig.interval() > 0) {
160-
oldStyle = Duration.of(oldConfig.interval(), oldConfig.timeUnit().toChronoUnit());
161-
}
162-
163-
Duration duration = null;
164152
final var newConfig = annotation.maxReconciliationInterval();
165153
if (newConfig != null && newConfig.interval() > 0) {
166-
duration = Duration.of(newConfig.interval(), newConfig.timeUnit().toChronoUnit());
167-
}
168-
169-
if (duration != null && oldStyle != null) {
170-
log.debug(
171-
"Both maxReconciliationInterval ({}) and deprecated reconciliationMaxInterval ({}) are used, keeping the non-deprecated value: {}",
172-
duration, oldStyle, duration);
173-
}
174-
if (duration == null && oldStyle != null) {
175-
return Optional.of(oldStyle);
154+
return Optional.of(Duration.of(newConfig.interval(), newConfig.timeUnit().toChronoUnit()));
176155
}
177-
return Optional.ofNullable(duration);
156+
return Optional.empty();
178157
}
179158

180159
@Override

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

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
public interface ControllerConfiguration<R extends HasMetadata> extends ResourceConfiguration<R> {
2121

22+
@SuppressWarnings("rawtypes")
2223
RateLimiter DEFAULT_RATE_LIMITER = LinearRateLimiter.deactivatedRateLimiter();
2324

2425
default String getName() {
@@ -83,15 +84,6 @@ default Optional<Duration> maxReconciliationInterval() {
8384
return Optional.of(Duration.ofHours(MaxReconciliationInterval.DEFAULT_INTERVAL));
8485
}
8586

86-
/**
87-
*
88-
* @deprecated use {@link #maxReconciliationInterval()} instead
89-
*/
90-
@Deprecated(forRemoval = true)
91-
default Optional<Duration> reconciliationMaxInterval() {
92-
return Optional.of(Duration.ofHours(MaxReconciliationInterval.DEFAULT_INTERVAL));
93-
}
94-
9587
@SuppressWarnings("unused")
9688
default ConfigurationService getConfigurationService() {
9789
return ConfigurationServiceProvider.instance();

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/ControllerConfiguration.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -87,17 +87,6 @@
8787
**/
8888
Class<? extends GenericFilter<? extends HasMetadata>> genericFilter() default VoidGenericFilter.class;
8989

90-
/**
91-
* Optional configuration of the maximal interval the SDK will wait for a reconciliation request
92-
* to happen before one will be automatically triggered.
93-
*
94-
* @return the maximal interval configuration
95-
* @deprecated use {@link #maxReconciliationInterval()} instead
96-
*/
97-
@Deprecated(forRemoval = true)
98-
ReconciliationMaxInterval reconciliationMaxInterval() default @ReconciliationMaxInterval(
99-
interval = MaxReconciliationInterval.DEFAULT_INTERVAL);
100-
10190
/**
10291
* Optional configuration of the maximal interval the SDK will wait for a reconciliation request
10392
* to happen before one will be automatically triggered.

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/ReconciliationMaxInterval.java

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

operator-framework/src/test/java/io/javaoperatorsdk/operator/config/runtime/AnnotationControllerConfigurationTest.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import io.javaoperatorsdk.operator.api.reconciler.ControllerConfiguration;
2222
import io.javaoperatorsdk.operator.api.reconciler.MaxReconciliationInterval;
2323
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
24-
import io.javaoperatorsdk.operator.api.reconciler.ReconciliationMaxInterval;
2524
import io.javaoperatorsdk.operator.api.reconciler.UpdateControl;
2625
import io.javaoperatorsdk.operator.api.reconciler.dependent.Dependent;
2726
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource;
@@ -133,7 +132,7 @@ && findByNameOptional(dependents, DependentResource.defaultNameFor(ReadOnlyDepen
133132
}
134133

135134
@Test
136-
void newMaxIntervalShouldTakePrecedence() {
135+
void maxIntervalCanBeConfigured() {
137136
var config = new AnnotationControllerConfiguration<>(new MaxIntervalReconciler());
138137
assertEquals(50, config.maxReconciliationInterval().map(Duration::getSeconds).orElseThrow());
139138
}
@@ -179,8 +178,6 @@ void checkingRetryingGraduallyWorks() {
179178

180179
@ControllerConfiguration(
181180
maxReconciliationInterval = @MaxReconciliationInterval(interval = 50,
182-
timeUnit = TimeUnit.SECONDS),
183-
reconciliationMaxInterval = @ReconciliationMaxInterval(interval = 20,
184181
timeUnit = TimeUnit.SECONDS))
185182
private static class MaxIntervalReconciler implements Reconciler<ConfigMap> {
186183

0 commit comments

Comments
 (0)