Skip to content

Commit 2d50c96

Browse files
metacosmcsviri
authored andcommitted
feat: add causes when skipping reconcile
Signed-off-by: Chris Laprun <claprun@redhat.com>
1 parent 6f7af0d commit 2d50c96

File tree

1 file changed

+50
-12
lines changed

1 file changed

+50
-12
lines changed

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

Lines changed: 50 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,33 @@ protected Logger logger() {
4343
private synchronized <R> void handleReconcile(DependentResourceNode<R, P> dependentResourceNode) {
4444
log.debug("Submitting for reconcile: {} primaryID: {}", dependentResourceNode, primaryID);
4545

46-
if (alreadyVisited(dependentResourceNode)
47-
|| isExecutingNow(dependentResourceNode)
48-
|| !allParentsReconciledAndReady(dependentResourceNode)
49-
|| markedForDelete.contains(dependentResourceNode)
50-
|| hasErroredParent(dependentResourceNode)) {
51-
log.debug("Skipping submit of: {}, primaryID: {}", dependentResourceNode, primaryID);
46+
final var alreadyVisited = alreadyVisited(dependentResourceNode);
47+
final var executingNow = isExecutingNow(dependentResourceNode);
48+
final var isWaitingOnParents = !allParentsReconciledAndReady(dependentResourceNode);
49+
final var isMarkedForDelete = markedForDelete.contains(dependentResourceNode);
50+
final var hasErroredParent = hasErroredParent(dependentResourceNode);
51+
if (alreadyVisited || executingNow || isMarkedForDelete || isWaitingOnParents
52+
|| hasErroredParent) {
53+
if (log.isDebugEnabled()) {
54+
final var causes = new ArrayList<String>();
55+
if (alreadyVisited) {
56+
causes.add("already visited");
57+
}
58+
if (executingNow) {
59+
causes.add("executing now");
60+
}
61+
if (isMarkedForDelete) {
62+
causes.add("marked for delete");
63+
}
64+
if (isWaitingOnParents) {
65+
causes.add("waiting on parents");
66+
}
67+
if (hasErroredParent) {
68+
causes.add("errored parent");
69+
}
70+
log.debug("Skipping submit of: {} primaryID: {} causes: {}", dependentResourceNode,
71+
primaryID, String.join(", ", causes));
72+
}
5273
return;
5374
}
5475

@@ -71,12 +92,29 @@ private synchronized <R> void handleReconcile(DependentResourceNode<R, P> depend
7192
private synchronized void handleDelete(DependentResourceNode dependentResourceNode) {
7293
log.debug("Submitting for delete: {}", dependentResourceNode);
7394

74-
if (alreadyVisited(dependentResourceNode)
75-
|| isExecutingNow(dependentResourceNode)
76-
|| !markedForDelete.contains(dependentResourceNode)
77-
|| !allDependentsDeletedAlready(dependentResourceNode)) {
78-
log.debug("Skipping submit for delete of: {} primaryID: {} ", dependentResourceNode,
79-
primaryID);
95+
final var alreadyVisited = alreadyVisited(dependentResourceNode);
96+
final var executingNow = isExecutingNow(dependentResourceNode);
97+
final var isNotMarkedForDelete = !markedForDelete.contains(dependentResourceNode);
98+
final var isWaitingOnDependents = !allDependentsDeletedAlready(dependentResourceNode);
99+
if (alreadyVisited || executingNow || isNotMarkedForDelete || isWaitingOnDependents) {
100+
if (log.isDebugEnabled()) {
101+
final var causes = new ArrayList<String>();
102+
if (alreadyVisited) {
103+
causes.add("already visited");
104+
}
105+
if (executingNow) {
106+
causes.add("executing now");
107+
}
108+
if (isNotMarkedForDelete) {
109+
causes.add("not marked for delete");
110+
}
111+
if (isWaitingOnDependents) {
112+
causes.add("waiting on dependents");
113+
}
114+
log.debug("Skipping submit for delete of: {} primaryID: {} causes: {}",
115+
dependentResourceNode,
116+
primaryID, String.join(", ", causes));
117+
}
80118
return;
81119
}
82120

0 commit comments

Comments
 (0)