From bd06d9f113563debfe59b3f72c466971d04a2b53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Attila=20M=C3=A9sz=C3=A1ros?= Date: Tue, 19 Dec 2023 09:30:49 +0100 Subject: [PATCH] fix: misleading warning message on workflow execution MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Attila Mészáros --- .../dependent/workflow/AbstractWorkflowExecutor.java | 11 +++++++---- .../operator/DependentOperationEventFilterIT.java | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutor.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutor.java index 6aab0f1f39..c546570e34 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutor.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutor.java @@ -44,17 +44,20 @@ public AbstractWorkflowExecutor(Workflow

workflow, P primary, Context

cont protected abstract Logger logger(); protected synchronized void waitForScheduledExecutionsToRun() { + // in case when workflow just contains non-activated dependents, + // it needs to be checked first if there are already no executions + // scheduled at the beginning. + if (noMoreExecutionsScheduled()) { + return; + } while (true) { try { - // in case when workflow just contains non-activated dependents, - // it needs to be checked first if there are already no executions - // scheduled at the beginning. + this.wait(); if (noMoreExecutionsScheduled()) { break; } else { logger().warn("Notified but still resources under execution. This should not happen."); } - this.wait(); } catch (InterruptedException e) { if (noMoreExecutionsScheduled()) { logger().debug("interrupted, no more executions for: {}", primaryID); diff --git a/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentOperationEventFilterIT.java b/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentOperationEventFilterIT.java index 1d0c091e16..eb354bf96d 100644 --- a/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentOperationEventFilterIT.java +++ b/operator-framework/src/test/java/io/javaoperatorsdk/operator/DependentOperationEventFilterIT.java @@ -25,6 +25,7 @@ class DependentOperationEventFilterIT { @RegisterExtension LocallyRunOperatorExtension operator = LocallyRunOperatorExtension.builder() + .withNamespaceDeleteTimeout(2) .withReconciler(new DependentOperationEventFilterCustomResourceTestReconciler()) .build();