@@ -42,14 +42,14 @@ protected Logger logger() {
42
42
}
43
43
44
44
private synchronized <R > void handleReconcile (DependentResourceNode <R , P > dependentResourceNode ) {
45
- log .debug ("Submitting for reconcile: {} primaryID: {}" , dependentResourceNode , primaryID );
45
+ log .debug ("Considering for reconcile: {} primaryID: {}" , dependentResourceNode , primaryID );
46
46
47
47
final var alreadyVisited = alreadyVisited (dependentResourceNode );
48
48
final var executingNow = isExecutingNow (dependentResourceNode );
49
49
final var isWaitingOnParents = !allParentsReconciledAndReady (dependentResourceNode );
50
50
final var isMarkedForDelete = markedForDelete .contains (dependentResourceNode );
51
51
final var hasErroredParent = hasErroredParent (dependentResourceNode );
52
- if (alreadyVisited || executingNow || isMarkedForDelete || isWaitingOnParents
52
+ if (isWaitingOnParents || alreadyVisited || executingNow || isMarkedForDelete
53
53
|| hasErroredParent ) {
54
54
if (log .isDebugEnabled ()) {
55
55
final var causes = new ArrayList <String >();
@@ -68,7 +68,7 @@ private synchronized <R> void handleReconcile(DependentResourceNode<R, P> depend
68
68
if (hasErroredParent ) {
69
69
causes .add ("errored parent" );
70
70
}
71
- log .debug ("Skipping submit of : {} primaryID: {} causes: {}" , dependentResourceNode ,
71
+ log .debug ("Skipping: {} primaryID: {} causes: {}" , dependentResourceNode ,
72
72
primaryID , String .join (", " , causes ));
73
73
}
74
74
return ;
@@ -97,7 +97,7 @@ private synchronized void handleDelete(DependentResourceNode dependentResourceNo
97
97
final var executingNow = isExecutingNow (dependentResourceNode );
98
98
final var isNotMarkedForDelete = !markedForDelete .contains (dependentResourceNode );
99
99
final var isWaitingOnDependents = !allDependentsDeletedAlready (dependentResourceNode );
100
- if (alreadyVisited || executingNow || isNotMarkedForDelete || isWaitingOnDependents ) {
100
+ if (isNotMarkedForDelete || alreadyVisited || executingNow || isWaitingOnDependents ) {
101
101
if (log .isDebugEnabled ()) {
102
102
final var causes = new ArrayList <String >();
103
103
if (alreadyVisited ) {
@@ -142,12 +142,11 @@ protected void doRun(DependentResourceNode<R, P> dependentResourceNode) {
142
142
"Reconciling for primary: {} node: {} " , primaryID , dependentResourceNode );
143
143
ReconcileResult reconcileResult = dependentResource .reconcile (primary , context );
144
144
final var detailBuilder = createOrGetResultFor (dependentResourceNode );
145
- detailBuilder .withReconcileResult (reconcileResult );
145
+ detailBuilder .withReconcileResult (reconcileResult ). markAsVisited () ;
146
146
147
147
if (isConditionMet (dependentResourceNode .getReadyPostcondition (), dependentResourceNode )) {
148
148
log .debug ("Setting already reconciled for: {} primaryID: {}" ,
149
149
dependentResourceNode , primaryID );
150
- detailBuilder .markAsVisited ();
151
150
handleDependentsReconcile (dependentResourceNode );
152
151
} else {
153
152
log .debug ("Setting already reconciled but not ready for: {}" , dependentResourceNode );
@@ -164,21 +163,21 @@ private NodeDeleteExecutor(DependentResourceNode<R, P> dependentResourceNode) {
164
163
@ Override
165
164
@ SuppressWarnings ("unchecked" )
166
165
protected void doRun (DependentResourceNode <R , P > dependentResourceNode ) {
167
- final var dependentResource = dependentResourceNode .getDependentResource ();
168
166
boolean deletePostConditionMet = true ;
169
167
if (isConditionMet (dependentResourceNode .getActivationCondition (), dependentResourceNode )) {
170
168
// GarbageCollected status is irrelevant here, as this method is only called when a
171
169
// precondition does not hold,
172
170
// a deleter should be deleted even if it is otherwise garbage collected
171
+ final var dependentResource = dependentResourceNode .getDependentResource ();
173
172
if (dependentResource instanceof Deleter ) {
174
173
((Deleter <P >) dependentResource ).delete (primary , context );
175
174
}
176
175
deletePostConditionMet =
177
176
isConditionMet (dependentResourceNode .getDeletePostcondition (), dependentResourceNode );
178
177
}
179
178
179
+ createOrGetResultFor (dependentResourceNode ).markAsVisited ();
180
180
if (deletePostConditionMet ) {
181
- createOrGetResultFor (dependentResourceNode ).markAsVisited ();
182
181
handleDependentDeleted (dependentResourceNode );
183
182
}
184
183
}
0 commit comments