Skip to content

Commit bf0ff25

Browse files
committed
wip
Signed-off-by: Attila Mészáros <[email protected]>
1 parent bd329e7 commit bf0ff25

File tree

2 files changed

+19
-8
lines changed

2 files changed

+19
-8
lines changed

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

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ public synchronized void handleEvent(Event event) {
123123
}
124124

125125
private void handleMarkedEventForResource(ResourceState state) {
126-
if (state.deleteEventPresent() && !controllerConfiguration.isAllEventReconcileMode()) {
126+
if (state.deleteEventPresent() && !isAllEventMode()) {
127127
cleanupForDeletedEvent(state.getId());
128128
} else if (!state.processedMarkForDeletionPresent()) {
129129
submitReconciliationExecution(state);
@@ -150,7 +150,7 @@ private void submitReconciliationExecution(ResourceState state) {
150150
state.setUnderProcessing(true);
151151
final var latest = maybeLatest.get();
152152
ExecutionScope<P> executionScope = new ExecutionScope<>(state.getRetry());
153-
state.unMarkEventReceived(controllerConfiguration.isAllEventReconcileMode());
153+
state.unMarkEventReceived(isAllEventMode());
154154
metrics.reconcileCustomResource(latest, state.getRetry(), metricsMetadata);
155155
log.debug("Executing events for custom resource. Scope: {}", executionScope);
156156
executor.execute(new ReconcilerExecutor(resourceID, executionScope));
@@ -201,7 +201,7 @@ private void handleEventMarking(Event event, ResourceState state) {
201201
}
202202
} else if (!state.deleteEventPresent() && !state.processedMarkForDeletionPresent()) {
203203
state.markEventReceived();
204-
} else if (controllerConfiguration.isAllEventReconcileMode() && state.deleteEventPresent()) {
204+
} else if (isAllEventMode() && state.deleteEventPresent()) {
205205
state.markAdditionalEventAfterDeleteEvent();
206206
} else if (log.isDebugEnabled()) {
207207
log.debug(
@@ -244,15 +244,15 @@ synchronized void eventProcessingFinished(
244244
// Either way we don't want to retry.
245245
if (isRetryConfigured()
246246
&& postExecutionControl.exceptionDuringExecution()
247-
&& (!state.deleteEventPresent() || controllerConfiguration.isAllEventReconcileMode())) {
247+
&& (!state.deleteEventPresent() || isAllEventMode())) {
248248
handleRetryOnException(
249249
executionScope, postExecutionControl.getRuntimeException().orElseThrow());
250250
return;
251251
}
252252
cleanupOnSuccessfulExecution(executionScope);
253253
metrics.finishedReconciliation(executionScope.getResource(), metricsMetadata);
254-
if ((controllerConfiguration.isAllEventReconcileMode() && executionScope.isDeleteEvent())
255-
|| (!controllerConfiguration.isAllEventReconcileMode() && state.deleteEventPresent())) {
254+
if ((isAllEventMode() && executionScope.isDeleteEvent())
255+
|| (!isAllEventMode() && state.deleteEventPresent())) {
256256
cleanupForDeletedEvent(executionScope.getResourceID());
257257
} else if (postExecutionControl.isFinalizerRemoved()) {
258258
state.markProcessedMarkForDeletion();
@@ -321,7 +321,9 @@ TimerEventSource<P> retryEventSource() {
321321
private void handleRetryOnException(ExecutionScope<P> executionScope, Exception exception) {
322322
final var state = getOrInitRetryExecution(executionScope);
323323
var resourceID = state.getId();
324-
boolean eventPresent = state.eventPresent();
324+
boolean eventPresent =
325+
state.eventPresent()
326+
|| (isAllEventMode() && state.isAdditionalEventPresentAfterDeleteEvent());
325327
state.markEventReceived();
326328

327329
retryAwareErrorLogging(state.getRetry(), eventPresent, exception, executionScope);
@@ -466,7 +468,7 @@ public void run() {
466468
try {
467469
var actualResource = cache.get(resourceID);
468470
if (actualResource.isEmpty()) {
469-
if (controllerConfiguration.isAllEventReconcileMode()) {
471+
if (isAllEventMode()) {
470472
log.debug(
471473
"Resource not found in the cache, checking for delete event resource: {}",
472474
resourceID);
@@ -521,4 +523,9 @@ public synchronized boolean isUnderProcessing(ResourceID resourceID) {
521523
public synchronized boolean isRunning() {
522524
return running;
523525
}
526+
527+
// shortening
528+
private boolean isAllEventMode() {
529+
return controllerConfiguration.isAllEventReconcileMode();
530+
}
524531
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,10 @@ public boolean deleteEventPresent() {
8585
|| eventing == EventingState.ADDITIONAL_EVENT_PRESENT_AFTER_DELETE_EVENT;
8686
}
8787

88+
public boolean isAdditionalEventPresentAfterDeleteEvent() {
89+
return eventing == EventingState.ADDITIONAL_EVENT_PRESENT_AFTER_DELETE_EVENT;
90+
}
91+
8892
public boolean processedMarkForDeletionPresent() {
8993
return eventing == EventingState.PROCESSED_MARK_FOR_DELETION;
9094
}

0 commit comments

Comments
 (0)