Class ApplicationReconciler

  • All Implemented Interfaces:
    Reconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment>

    public class ApplicationReconciler
    extends AbstractJobReconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus>
    Reconciler Flink Application deployments.
    • Constructor Detail

      • ApplicationReconciler

        public ApplicationReconciler​(EventRecorder eventRecorder,
                                     StatusRecorder<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus> statusRecorder,
                                     org.apache.flink.autoscaler.JobAutoScaler<io.javaoperatorsdk.operator.processing.event.ResourceID,​KubernetesJobAutoScalerContext> autoscaler)
    • Method Detail

      • getAvailableUpgradeMode

        protected AbstractJobReconciler.AvailableUpgradeMode getAvailableUpgradeMode​(FlinkResourceContext<org.apache.flink.kubernetes.operator.api.FlinkDeployment> ctx,
                                                                                     org.apache.flink.configuration.Configuration deployConfig)
                                                                              throws java.lang.Exception
        Overrides:
        getAvailableUpgradeMode in class AbstractJobReconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus>
        Throws:
        java.lang.Exception
      • deploy

        public void deploy​(FlinkResourceContext<org.apache.flink.kubernetes.operator.api.FlinkDeployment> ctx,
                           org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec spec,
                           org.apache.flink.configuration.Configuration deployConfig,
                           java.util.Optional<java.lang.String> savepoint,
                           boolean requireHaMetadata)
                    throws java.lang.Exception
        Description copied from class: AbstractFlinkResourceReconciler
        Deploys the target resource spec to Kubernetes.
        Specified by:
        deploy in class AbstractFlinkResourceReconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus>
        Parameters:
        ctx - Reconciliation context.
        spec - Spec that should be deployed to Kubernetes.
        deployConfig - Flink conf for the deployment.
        savepoint - Optional savepoint path for applications and session jobs.
        requireHaMetadata - Flag used by application deployments to validate HA metadata
        Throws:
        java.lang.Exception - Error during deployment.
      • cancelJob

        protected void cancelJob​(FlinkResourceContext<org.apache.flink.kubernetes.operator.api.FlinkDeployment> ctx,
                                 org.apache.flink.kubernetes.operator.api.spec.UpgradeMode upgradeMode)
                          throws java.lang.Exception
        Description copied from class: AbstractJobReconciler
        Cancel the job for the given resource using the specified upgrade mode.
        Specified by:
        cancelJob in class AbstractJobReconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus>
        Parameters:
        ctx - Reconciler context.
        upgradeMode - Upgrade mode used during cancel.
        Throws:
        java.lang.Exception - Error during cancellation.
      • cleanupAfterFailedJob

        protected void cleanupAfterFailedJob​(FlinkResourceContext<org.apache.flink.kubernetes.operator.api.FlinkDeployment> ctx)
        Description copied from class: AbstractJobReconciler
        Removes a failed job.
        Specified by:
        cleanupAfterFailedJob in class AbstractJobReconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus>
        Parameters:
        ctx - Reconciler context.
      • reconcileOtherChanges

        public boolean reconcileOtherChanges​(FlinkResourceContext<org.apache.flink.kubernetes.operator.api.FlinkDeployment> ctx)
                                      throws java.lang.Exception
        Description copied from class: AbstractFlinkResourceReconciler
        Reconcile any other changes required for this resource that are specific to the reconciler implementation.
        Overrides:
        reconcileOtherChanges in class AbstractJobReconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus>
        Parameters:
        ctx - Reconciliation context.
        Returns:
        True if any further reconciliation action was taken.
        Throws:
        java.lang.Exception - Error during reconciliation.
      • cleanupInternal

        protected io.javaoperatorsdk.operator.api.reconciler.DeleteControl cleanupInternal​(FlinkResourceContext<org.apache.flink.kubernetes.operator.api.FlinkDeployment> ctx)
        Description copied from class: AbstractFlinkResourceReconciler
        Shut down and clean up all Flink job/cluster resources.
        Specified by:
        cleanupInternal in class AbstractFlinkResourceReconciler<org.apache.flink.kubernetes.operator.api.FlinkDeployment,​org.apache.flink.kubernetes.operator.api.spec.FlinkDeploymentSpec,​org.apache.flink.kubernetes.operator.api.status.FlinkDeploymentStatus>
        Parameters:
        ctx - Current context.
        Returns:
        DeleteControl object.