Skip to content

Commit a3f1994

Browse files
authored
Merge branch 'next' into activation-condition
2 parents da36061 + b9e0b82 commit a3f1994

File tree

16 files changed

+64
-13
lines changed

16 files changed

+64
-13
lines changed

Diff for: bootstrapper-maven-plugin/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>java-operator-sdk</artifactId>
77
<groupId>io.javaoperatorsdk</groupId>
8-
<version>4.5.1-SNAPSHOT</version>
8+
<version>4.6.0-SNAPSHOT</version>
99
</parent>
1010

1111
<artifactId>bootstrapper</artifactId>

Diff for: caffeine-bounded-cache-support/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>java-operator-sdk</artifactId>
77
<groupId>io.javaoperatorsdk</groupId>
8-
<version>4.5.1-SNAPSHOT</version>
8+
<version>4.6.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

Diff for: micrometer-support/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>java-operator-sdk</artifactId>
77
<groupId>io.javaoperatorsdk</groupId>
8-
<version>4.5.1-SNAPSHOT</version>
8+
<version>4.6.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

Diff for: operator-framework-bom/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>io.javaoperatorsdk</groupId>
77
<artifactId>operator-framework-bom</artifactId>
8-
<version>4.5.1-SNAPSHOT</version>
8+
<version>4.6.0-SNAPSHOT</version>
99
<name>Operator SDK - Bill of Materials</name>
1010
<packaging>pom</packaging>
1111
<description>Java SDK for implementing Kubernetes operators</description>

Diff for: operator-framework-core/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<parent>
77
<groupId>io.javaoperatorsdk</groupId>
88
<artifactId>java-operator-sdk</artifactId>
9-
<version>4.5.1-SNAPSHOT</version>
9+
<version>4.6.0-SNAPSHOT</version>
1010
<relativePath>../pom.xml</relativePath>
1111
</parent>
1212

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/event/rate/RateLimited.java

+2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package io.javaoperatorsdk.operator.processing.event.rate;
22

33
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Inherited;
45
import java.lang.annotation.Retention;
56
import java.lang.annotation.RetentionPolicy;
67
import java.lang.annotation.Target;
78
import java.util.concurrent.TimeUnit;
89

10+
@Inherited
911
@Retention(RetentionPolicy.RUNTIME)
1012
@Target({ElementType.TYPE})
1113
public @interface RateLimited {

Diff for: operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/retry/GradualRetry.java

+2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package io.javaoperatorsdk.operator.processing.retry;
22

33
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Inherited;
45
import java.lang.annotation.Retention;
56
import java.lang.annotation.RetentionPolicy;
67
import java.lang.annotation.Target;
78

9+
@Inherited
810
@Retention(RetentionPolicy.RUNTIME)
911
@Target(ElementType.TYPE)
1012
public @interface GradualRetry {

Diff for: operator-framework-junit5/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>java-operator-sdk</artifactId>
77
<groupId>io.javaoperatorsdk</groupId>
8-
<version>4.5.1-SNAPSHOT</version>
8+
<version>4.6.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

Diff for: operator-framework/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<parent>
66
<artifactId>java-operator-sdk</artifactId>
77
<groupId>io.javaoperatorsdk</groupId>
8-
<version>4.5.1-SNAPSHOT</version>
8+
<version>4.6.0-SNAPSHOT</version>
99
</parent>
1010
<modelVersion>4.0.0</modelVersion>
1111

Diff for: operator-framework/src/test/java/io/javaoperatorsdk/operator/config/BaseConfigurationServiceTest.java

+47
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,24 @@ void configuringRateAndRetryViaAnnotationsShouldWork() {
190190
assertEquals(Duration.ofSeconds(3), rateLimiter.getRefreshPeriod());
191191
}
192192

193+
@Test
194+
void configuringRateLimitAndGradualRetryViaSuperClassShouldWork() {
195+
var config = configFor(new GradualRetryAndRateLimitedOnSuperClass());
196+
final var retry = config.getRetry();
197+
final var testRetry = assertInstanceOf(GenericRetry.class, retry);
198+
assertEquals(
199+
BaseClassWithGradualRetryAndRateLimited.RETRY_MAX_ATTEMPTS,
200+
testRetry.getMaxAttempts());
201+
202+
final var rateLimiter = assertInstanceOf(LinearRateLimiter.class, config.getRateLimiter());
203+
assertEquals(
204+
BaseClassWithGradualRetryAndRateLimited.RATE_LIMITED_MAX_RECONCILIATIONS,
205+
rateLimiter.getLimitForPeriod());
206+
assertEquals(
207+
Duration.ofSeconds(BaseClassWithGradualRetryAndRateLimited.RATE_LIMITED_WITHIN_SECONDS),
208+
rateLimiter.getRefreshPeriod());
209+
}
210+
193211
@Test
194212
void checkingRetryingGraduallyWorks() {
195213
var config = configFor(new CheckRetryingGraduallyConfiguration());
@@ -250,6 +268,7 @@ public UpdateControl<ConfigMap> reconcile(ConfigMap resource, Context<ConfigMap>
250268
@ControllerConfiguration(
251269
dependents = @Dependent(type = ReadOnlyDependent.class, name = NamedDepReconciler.NAME))
252270
private static class NamedDepReconciler implements Reconciler<ConfigMap> {
271+
253272
private static final String NAME = "foo";
254273

255274
@Override
@@ -325,6 +344,7 @@ public UpdateControl<ConfigMap> reconcile(ConfigMap resource, Context<ConfigMap>
325344
}
326345

327346
public static class TestRetry implements Retry, AnnotationConfigurable<TestRetryConfiguration> {
347+
328348
private int value;
329349

330350
public TestRetry() {}
@@ -347,6 +367,7 @@ public void initFrom(TestRetryConfiguration configuration) {
347367
@Target(ElementType.TYPE)
348368
@Retention(RetentionPolicy.RUNTIME)
349369
private @interface TestRetryConfiguration {
370+
350371
int value() default 42;
351372
}
352373

@@ -382,7 +403,30 @@ public UpdateControl<ConfigMap> reconcile(ConfigMap resource, Context<ConfigMap>
382403
}
383404
}
384405

406+
@ControllerConfiguration
407+
private static class GradualRetryAndRateLimitedOnSuperClass
408+
extends BaseClassWithGradualRetryAndRateLimited
409+
implements Reconciler<ConfigMap> {
410+
411+
@Override
412+
public UpdateControl<ConfigMap> reconcile(ConfigMap resource, Context<ConfigMap> context) {
413+
return null;
414+
}
415+
}
416+
417+
@RateLimited(
418+
maxReconciliations = BaseClassWithGradualRetryAndRateLimited.RATE_LIMITED_MAX_RECONCILIATIONS,
419+
within = BaseClassWithGradualRetryAndRateLimited.RATE_LIMITED_WITHIN_SECONDS)
420+
@GradualRetry(maxAttempts = BaseClassWithGradualRetryAndRateLimited.RETRY_MAX_ATTEMPTS)
421+
private static class BaseClassWithGradualRetryAndRateLimited {
422+
423+
public static final int RATE_LIMITED_MAX_RECONCILIATIONS = 7;
424+
public static final int RATE_LIMITED_WITHIN_SECONDS = 3;
425+
public static final int RETRY_MAX_ATTEMPTS = 3;
426+
}
427+
385428
private static class ControllerConfigurationOnSuperClass extends BaseClass {
429+
386430
}
387431

388432
@ControllerConfiguration
@@ -443,10 +487,12 @@ private static class ChildCustomAnnotatedDep extends CustomAnnotatedDep {
443487

444488
@Retention(RetentionPolicy.RUNTIME)
445489
private @interface CustomAnnotation {
490+
446491
int value();
447492
}
448493

449494
private static class CustomConfig {
495+
450496
private final int value;
451497

452498
private CustomConfig(int value) {
@@ -460,6 +506,7 @@ public int getValue() {
460506

461507
private static class CustomConfigConverter
462508
implements ConfigurationConverter<CustomAnnotation, CustomConfig, CustomAnnotatedDep> {
509+
463510
static final int CONVERTER_PROVIDED_DEFAULT = 7;
464511

465512
@Override

Diff for: pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
<groupId>io.javaoperatorsdk</groupId>
77
<artifactId>java-operator-sdk</artifactId>
8-
<version>4.5.1-SNAPSHOT</version>
8+
<version>4.6.0-SNAPSHOT</version>
99
<name>Operator SDK for Java</name>
1010
<description>Java SDK for implementing Kubernetes operators</description>
1111
<packaging>pom</packaging>

Diff for: sample-operators/leader-election/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>io.javaoperatorsdk</groupId>
99
<artifactId>sample-operators</artifactId>
10-
<version>4.5.1-SNAPSHOT</version>
10+
<version>4.6.0-SNAPSHOT</version>
1111
</parent>
1212

1313
<artifactId>sample-leader-election</artifactId>

Diff for: sample-operators/mysql-schema/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>io.javaoperatorsdk</groupId>
99
<artifactId>sample-operators</artifactId>
10-
<version>4.5.1-SNAPSHOT</version>
10+
<version>4.6.0-SNAPSHOT</version>
1111
</parent>
1212

1313
<artifactId>sample-mysql-schema-operator</artifactId>

Diff for: sample-operators/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>io.javaoperatorsdk</groupId>
99
<artifactId>java-operator-sdk</artifactId>
10-
<version>4.5.1-SNAPSHOT</version>
10+
<version>4.6.0-SNAPSHOT</version>
1111
</parent>
1212

1313
<artifactId>sample-operators</artifactId>

Diff for: sample-operators/tomcat-operator/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>io.javaoperatorsdk</groupId>
99
<artifactId>sample-operators</artifactId>
10-
<version>4.5.1-SNAPSHOT</version>
10+
<version>4.6.0-SNAPSHOT</version>
1111
</parent>
1212

1313
<artifactId>sample-tomcat-operator</artifactId>

Diff for: sample-operators/webpage/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>io.javaoperatorsdk</groupId>
99
<artifactId>sample-operators</artifactId>
10-
<version>4.5.1-SNAPSHOT</version>
10+
<version>4.6.0-SNAPSHOT</version>
1111
</parent>
1212

1313
<artifactId>sample-webpage-operator</artifactId>

0 commit comments

Comments
 (0)