Skip to content

Commit c9461b7

Browse files
committed
fix: cleanup of resources with activation condition
Signed-off-by: Attila Mészáros <[email protected]>
1 parent 7d17e4c commit c9461b7

File tree

3 files changed

+20
-18
lines changed

3 files changed

+20
-18
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/AbstractWorkflowExecutor.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,23 @@ protected <R> void submit(DependentResourceNode<R, P> dependentResourceNode,
128128
logger().debug("Submitted to {}: {} primaryID: {}", operation, dependentResourceNode,
129129
primaryID);
130130
}
131+
132+
protected <R> void registerOrDeregisterEventSourceBasedOnActivation(
133+
boolean activationConditionMet,
134+
DependentResourceNode<R, P> dependentResourceNode) {
135+
if (dependentResourceNode.getActivationCondition().isPresent()) {
136+
if (activationConditionMet) {
137+
var eventSource =
138+
dependentResourceNode.getDependentResource().eventSource(context.eventSourceRetriever()
139+
.eventSourceContextForDynamicRegistration());
140+
var es = eventSource.orElseThrow();
141+
context.eventSourceRetriever()
142+
.dynamicallyRegisterEventSource(dependentResourceNode.getName(), es);
143+
144+
} else {
145+
context.eventSourceRetriever()
146+
.dynamicallyDeRegisterEventSource(dependentResourceNode.getName());
147+
}
148+
}
149+
}
131150
}

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowCleanupExecutor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ protected void doRun(DependentResourceNode<R, P> dependentResourceNode,
7070

7171
var active =
7272
isConditionMet(dependentResourceNode.getActivationCondition(), dependentResource);
73+
registerOrDeregisterEventSourceBasedOnActivation(active, dependentResourceNode);
7374

7475
if (dependentResource.isDeletable() && active) {
7576
((Deleter<P>) dependentResource).delete(primary, context);

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/dependent/workflow/WorkflowReconcileExecutor.java

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -78,24 +78,6 @@ private synchronized <R> void handleReconcile(DependentResourceNode<R, P> depend
7878
}
7979
}
8080

81-
private <R> void registerOrDeregisterEventSourceBasedOnActivation(boolean activationConditionMet,
82-
DependentResourceNode<R, P> dependentResourceNode) {
83-
if (dependentResourceNode.getActivationCondition().isPresent()) {
84-
if (activationConditionMet) {
85-
var eventSource =
86-
dependentResourceNode.getDependentResource().eventSource(context.eventSourceRetriever()
87-
.eventSourceContextForDynamicRegistration());
88-
var es = eventSource.orElseThrow();
89-
context.eventSourceRetriever()
90-
.dynamicallyRegisterEventSource(dependentResourceNode.getName(), es);
91-
92-
} else {
93-
context.eventSourceRetriever()
94-
.dynamicallyDeRegisterEventSource(dependentResourceNode.getName());
95-
}
96-
}
97-
}
98-
9981
private synchronized void handleDelete(DependentResourceNode dependentResourceNode) {
10082
log.debug("Submitting for delete: {}", dependentResourceNode);
10183

0 commit comments

Comments
 (0)