@@ -131,7 +131,7 @@ public synchronized void handleEvent(Event event) {
131131 }
132132
133133 private void handleMarkedEventForResource (ResourceState state ) {
134- if (state .deleteEventPresent () && !propagateAllEvent ()) {
134+ if (state .deleteEventPresent () && !triggerOnAllEvent ()) {
135135 cleanupForDeletedEvent (state .getId ());
136136 } else if (!state .processedMarkForDeletionPresent ()) {
137137 submitReconciliationExecution (state );
@@ -145,7 +145,7 @@ private void submitReconciliationExecution(ResourceState state) {
145145 Optional <P > maybeLatest = cache .get (resourceID );
146146 maybeLatest .ifPresent (MDCUtils ::addResourceInfo );
147147 if (!controllerUnderExecution
148- && (maybeLatest .isPresent () || (propagateAllEvent () && state .deleteEventPresent ()))) {
148+ && (maybeLatest .isPresent () || (triggerOnAllEvent () && state .deleteEventPresent ()))) {
149149 var rateLimit = state .getRateLimit ();
150150 if (rateLimit == null ) {
151151 rateLimit = rateLimiter .initState ();
@@ -158,8 +158,10 @@ private void submitReconciliationExecution(ResourceState state) {
158158 }
159159 state .setUnderProcessing (true );
160160 final var latest = maybeLatest .orElseGet (() -> getResourceFromState (state ));
161- ExecutionScope <P > executionScope = new ExecutionScope <>(state .getRetry ());
162- state .unMarkEventReceived (propagateAllEvent ());
161+ ExecutionScope <P > executionScope =
162+ new ExecutionScope <>(
163+ state .getRetry (), state .deleteEventPresent (), state .isDeleteFinalStateUnknown ());
164+ state .unMarkEventReceived (triggerOnAllEvent ());
163165 metrics .reconcileCustomResource (latest , state .getRetry (), metricsMetadata );
164166 log .debug ("Executing events for custom resource. Scope: {}" , executionScope );
165167 executor .execute (new ReconcilerExecutor (resourceID , executionScope ));
@@ -186,7 +188,7 @@ private void submitReconciliationExecution(ResourceState state) {
186188
187189 @ SuppressWarnings ("unchecked" )
188190 private P getResourceFromState (ResourceState state ) {
189- if (propagateAllEvent ()) {
191+ if (triggerOnAllEvent ()) {
190192 log .debug ("Getting resource from state for {}" , state .getId ());
191193 return (P ) state .getLastKnownResource ();
192194 } else {
@@ -217,11 +219,11 @@ private void handleEventMarking(Event event, ResourceState state) {
217219 // removed, but also the informers websocket is disconnected and later reconnected. So
218220 // meanwhile the resource could be deleted and recreated. In this case we just mark a new
219221 // event as below.
220- state .markEventReceived (propagateAllEvent ());
222+ state .markEventReceived (triggerOnAllEvent ());
221223 }
222224 } else if (!state .deleteEventPresent () && !state .processedMarkForDeletionPresent ()) {
223- state .markEventReceived (propagateAllEvent ());
224- } else if (propagateAllEvent () && state .deleteEventPresent ()) {
225+ state .markEventReceived (triggerOnAllEvent ());
226+ } else if (triggerOnAllEvent () && state .deleteEventPresent ()) {
225227 state .markAdditionalEventAfterDeleteEvent ();
226228 } else if (log .isDebugEnabled ()) {
227229 log .debug (
@@ -264,21 +266,21 @@ synchronized void eventProcessingFinished(
264266 // Either way we don't want to retry.
265267 if (isRetryConfigured ()
266268 && postExecutionControl .exceptionDuringExecution ()
267- && (!state .deleteEventPresent () || propagateAllEvent ())) {
269+ && (!state .deleteEventPresent () || triggerOnAllEvent ())) {
268270 handleRetryOnException (
269271 executionScope , postExecutionControl .getRuntimeException ().orElseThrow ());
270272 return ;
271273 }
272274 cleanupOnSuccessfulExecution (executionScope );
273275 metrics .finishedReconciliation (executionScope .getResource (), metricsMetadata );
274- if ((propagateAllEvent () && executionScope .isDeleteEvent ())
275- || (!propagateAllEvent () && state .deleteEventPresent ())) {
276+ if ((triggerOnAllEvent () && executionScope .isDeleteEvent ())
277+ || (!triggerOnAllEvent () && state .deleteEventPresent ())) {
276278 cleanupForDeletedEvent (executionScope .getResourceID ());
277279 } else if (postExecutionControl .isFinalizerRemoved ()) {
278280 state .markProcessedMarkForDeletion ();
279281 metrics .cleanupDoneFor (resourceID , metricsMetadata );
280282 } else {
281- if (state .eventPresent () || (propagateAllEvent () && state .deleteEventPresent ())) {
283+ if (state .eventPresent () || (triggerOnAllEvent () && state .deleteEventPresent ())) {
282284 submitReconciliationExecution (state );
283285 } else {
284286 reScheduleExecutionIfInstructed (postExecutionControl , executionScope .getResource ());
@@ -343,8 +345,8 @@ private void handleRetryOnException(ExecutionScope<P> executionScope, Exception
343345 var resourceID = state .getId ();
344346 boolean eventPresent =
345347 state .eventPresent ()
346- || (propagateAllEvent () && state .isAdditionalEventPresentAfterDeleteEvent ());
347- state .markEventReceived (propagateAllEvent ());
348+ || (triggerOnAllEvent () && state .isAdditionalEventPresentAfterDeleteEvent ());
349+ state .markEventReceived (triggerOnAllEvent ());
348350
349351 retryAwareErrorLogging (state .getRetry (), eventPresent , exception , executionScope );
350352 if (eventPresent ) {
@@ -488,7 +490,7 @@ public void run() {
488490 try {
489491 var actualResource = cache .get (resourceID );
490492 if (actualResource .isEmpty ()) {
491- if (propagateAllEvent ()) {
493+ if (triggerOnAllEvent () && executionScope . isDeleteEvent ()) {
492494 log .debug (
493495 "Resource not found in the cache, checking for delete event resource: {}" ,
494496 resourceID );
@@ -503,9 +505,6 @@ public void run() {
503505 "Skipping execution; delete event resource not found in state: {}" , resourceID );
504506 return ;
505507 }
506- executionScope .setDeleteEvent (true );
507- executionScope .setDeleteFinalStateUnknown (
508- state .orElseThrow ().isDeleteFinalStateUnknown ());
509508 } else {
510509 log .debug ("Skipping execution; primary resource missing from cache: {}" , resourceID );
511510 return ;
@@ -547,7 +546,7 @@ public synchronized boolean isRunning() {
547546 }
548547
549548 // shortening
550- private boolean propagateAllEvent () {
549+ private boolean triggerOnAllEvent () {
551550 return controllerConfiguration .triggerReconcilerOnAllEvent ();
552551 }
553552}
0 commit comments