|
15 | 15 | import io.javaoperatorsdk.operator.OperatorException; |
16 | 16 | import io.javaoperatorsdk.operator.api.config.ConfigurationService; |
17 | 17 | import io.javaoperatorsdk.operator.api.config.ControllerConfiguration; |
| 18 | +import io.javaoperatorsdk.operator.api.config.ControllerMode; |
18 | 19 | import io.javaoperatorsdk.operator.api.monitoring.Metrics; |
19 | 20 | import io.javaoperatorsdk.operator.api.reconciler.Constants; |
20 | 21 | import io.javaoperatorsdk.operator.processing.LifecycleAware; |
@@ -122,7 +123,7 @@ public synchronized void handleEvent(Event event) { |
122 | 123 | } |
123 | 124 |
|
124 | 125 | private void handleMarkedEventForResource(ResourceState state) { |
125 | | - if (state.deleteEventPresent()) { |
| 126 | + if (state.deleteEventPresent() && !isAllEventMode()) { |
126 | 127 | cleanupForDeletedEvent(state.getId()); |
127 | 128 | } else if (!state.processedMarkForDeletionPresent()) { |
128 | 129 | submitReconciliationExecution(state); |
@@ -179,7 +180,7 @@ private void handleEventMarking(Event event, ResourceState state) { |
179 | 180 | if (event instanceof ResourceEvent resourceEvent) { |
180 | 181 | if (resourceEvent.getAction() == ResourceAction.DELETED) { |
181 | 182 | log.debug("Marking delete event received for: {}", relatedCustomResourceID); |
182 | | - state.markDeleteEventReceived(); |
| 183 | + state.markDeleteEventReceived(resourceEvent.getResource().orElseThrow()); |
183 | 184 | } else { |
184 | 185 | if (state.processedMarkForDeletionPresent() && isResourceMarkedForDeletion(resourceEvent)) { |
185 | 186 | log.debug( |
@@ -501,4 +502,8 @@ public synchronized boolean isUnderProcessing(ResourceID resourceID) { |
501 | 502 | public synchronized boolean isRunning() { |
502 | 503 | return running; |
503 | 504 | } |
| 505 | + |
| 506 | + private boolean isAllEventMode() { |
| 507 | + return controllerConfiguration.getMode() == ControllerMode.ALL_EVENT_MODE; |
| 508 | + } |
504 | 509 | } |
0 commit comments