public DeleteControl cleanup()

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();
  }