Skip to content

Commit dca0e84

Browse files
committed
fix for operator-framework#409 adjusting logging around kubernetes exceptions
1 parent 0843339 commit dca0e84

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ private void handleRetryOnException(ExecutionScope executionScope) {
162162
}
163163
Optional<Long> nextDelay = execution.nextDelay();
164164

165-
nextDelay.ifPresent(
165+
nextDelay.ifPresentOrElse(
166166
delay -> {
167167
log.debug(
168168
"Scheduling timer event for retry with delay:{} for resource: {}",
@@ -171,6 +171,10 @@ private void handleRetryOnException(ExecutionScope executionScope) {
171171
eventSourceManager
172172
.getRetryTimerEventSource()
173173
.scheduleOnce(executionScope.getCustomResource(), delay);
174+
},
175+
() -> {
176+
log.error(
177+
"Exhausted retries for {}", executionScope);
174178
});
175179
}
176180

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/EventDispatcher.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import io.fabric8.kubernetes.api.model.KubernetesResourceList;
88
import io.fabric8.kubernetes.client.CustomResource;
9+
import io.fabric8.kubernetes.client.KubernetesClientException;
910
import io.fabric8.kubernetes.client.dsl.MixedOperation;
1011
import io.fabric8.kubernetes.client.dsl.Resource;
1112
import io.javaoperatorsdk.operator.api.Context;
@@ -53,6 +54,9 @@ public void setEventSourceManager(EventSourceManager eventSourceManager) {
5354
public PostExecutionControl handleExecution(ExecutionScope<R> executionScope) {
5455
try {
5556
return handleDispatch(executionScope);
57+
} catch (KubernetesClientException e) {
58+
log.info("Kubernetes exception {} {} during event processing, {} failed", e.getCode(), e.getMessage(), executionScope);
59+
return PostExecutionControl.exceptionDuringExecution(e);
5660
} catch (RuntimeException e) {
5761
log.error("Error during event processing {} failed.", executionScope, e);
5862
return PostExecutionControl.exceptionDuringExecution(e);

0 commit comments

Comments
 (0)