in spark-operator/src/main/java/org/apache/spark/k8s/operator/reconciler/SparkClusterReconciler.java [155:180]
public DeleteControl cleanup(SparkCluster sparkCluster, Context<SparkCluster> context) {
LoggingUtils.TrackedMDC trackedMDC = new LoggingUtils.TrackedMDC();
try {
log.info("Cleaning up resources for SparkCluster.");
SparkClusterContext ctx = new SparkClusterContext(sparkCluster, context, submissionWorker);
List<ClusterReconcileStep> cleanupSteps = new ArrayList<>();
cleanupSteps.add(new ClusterValidateStep());
cleanupSteps.add(new ClusterTerminatedStep());
for (ClusterReconcileStep step : cleanupSteps) {
ReconcileProgress progress = step.reconcile(ctx, sparkClusterStatusRecorder);
if (progress.isCompleted()) {
if (progress.isRequeue()) {
return DeleteControl.noFinalizerRemoval()
.rescheduleAfter(progress.getRequeueAfterDuration());
} else {
break;
}
}
}
} finally {
log.info("Cleanup completed");
trackedMDC.reset();
}
sparkClusterStatusRecorder.removeCachedStatus(sparkCluster);
return DeleteControl.defaultDelete();
}