diff --git a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowReconcileExecutor.java b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowReconcileExecutor.java index 567f999ba9..cf209c3cea 100644 --- a/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowReconcileExecutor.java +++ b/operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowReconcileExecutor.java @@ -35,7 +35,8 @@ public class WorkflowReconcileExecutor
{
new ConcurrentHashMap<>();
private final Set ) dependentResourceNode.getDependentResource()).delete(primary, context);
}
- alreadyVisited.add(dependentResourceNode);
boolean deletePostConditionMet =
deletePostCondition.map(c -> c.isMet(primary,
dependentResourceNode.getDependentResource().getSecondaryResource(primary)
.orElse(null),
context)).orElse(true);
if (deletePostConditionMet) {
+ alreadyVisited.add(dependentResourceNode);
handleDependentDeleted(dependentResourceNode);
} else {
- deleteConditionNotMet.add(dependentResourceNode);
+ deletePostConditionNotMet.add(dependentResourceNode);
+ alreadyVisited.add(dependentResourceNode);
}
} catch (RuntimeException e) {
handleExceptionInExecutor(dependentResourceNode, e);