Class SessionJobReconciler
- java.lang.Object
-
- org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler<CR,SPEC,STATUS>
-
- org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractJobReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>
-
- org.apache.flink.kubernetes.operator.reconciler.sessionjob.SessionJobReconciler
-
- All Implemented Interfaces:
Reconciler<FlinkSessionJob>
public class SessionJobReconciler extends AbstractJobReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>
The reconciler for theFlinkSessionJob.
-
-
Field Summary
-
Fields inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler
configManager, eventRecorder, flinkService, kubernetesClient, MSG_ROLLBACK, MSG_SPEC_CHANGED, MSG_SUBMIT, MSG_SUSPENDED, statusRecorder
-
-
Constructor Summary
Constructors Constructor Description SessionJobReconciler(io.fabric8.kubernetes.client.KubernetesClient kubernetesClient, FlinkService flinkService, FlinkConfigManager configManager, EventRecorder eventRecorder, StatusRecorder<FlinkSessionJobStatus> statusRecorder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcancelJob(FlinkSessionJob resource, UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration observeConfig)Cancel the job for the given resource using the specified upgrade mode.io.javaoperatorsdk.operator.api.reconciler.DeleteControlcleanupInternal(FlinkSessionJob sessionJob, io.javaoperatorsdk.operator.api.reconciler.Context context)Shut down and clean up all Flink job/cluster resources.protected voiddeploy(FlinkSessionJob cr, FlinkSessionJobSpec sessionJobSpec, FlinkSessionJobStatus status, org.apache.flink.configuration.Configuration deployConfig, java.util.Optional<java.lang.String> savepoint, boolean requireHaMetadata)Deploys the target resource spec to Kubernetes.protected org.apache.flink.configuration.ConfigurationgetDeployConfig(io.fabric8.kubernetes.api.model.ObjectMeta deployMeta, FlinkSessionJobSpec currentDeploySpec, io.javaoperatorsdk.operator.api.reconciler.Context context)Get Flink configuration object for deploying the given spec usingAbstractFlinkResourceReconciler.deploy(CR, SPEC, STATUS, org.apache.flink.configuration.Configuration, java.util.Optional<java.lang.String>, boolean).protected org.apache.flink.configuration.ConfigurationgetObserveConfig(FlinkSessionJob sessionJob, io.javaoperatorsdk.operator.api.reconciler.Context context)Get Flink configuration for client interactions with the running Flink deployment/session job.booleanreadyToReconcile(FlinkSessionJob flinkSessionJob, io.javaoperatorsdk.operator.api.reconciler.Context context, org.apache.flink.configuration.Configuration deployConfig)Check whether the given Flink resource is ready to be reconciled or we are still waiting for any pending operation or condition first.static booleansessionClusterReady(java.util.Optional<FlinkDeployment> flinkDeploymentOpt)-
Methods inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractJobReconciler
getAvailableUpgradeMode, reconcileOtherChanges, reconcileSpecChange, restoreJob, rollback
-
Methods inherited from class org.apache.flink.kubernetes.operator.reconciler.deployment.AbstractFlinkResourceReconciler
cleanup, flinkVersionChanged, reconcile, shouldRecoverDeployment
-
-
-
-
Constructor Detail
-
SessionJobReconciler
public SessionJobReconciler(io.fabric8.kubernetes.client.KubernetesClient kubernetesClient, FlinkService flinkService, FlinkConfigManager configManager, EventRecorder eventRecorder, StatusRecorder<FlinkSessionJobStatus> statusRecorder)
-
-
Method Detail
-
getObserveConfig
protected org.apache.flink.configuration.Configuration getObserveConfig(FlinkSessionJob sessionJob, io.javaoperatorsdk.operator.api.reconciler.Context context)
Description copied from class:AbstractFlinkResourceReconcilerGet Flink configuration for client interactions with the running Flink deployment/session job.- Specified by:
getObserveConfigin classAbstractFlinkResourceReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>- Parameters:
sessionJob- Related Flink resource.context- Reconciliation context.- Returns:
- Observe configuration.
-
getDeployConfig
protected org.apache.flink.configuration.Configuration getDeployConfig(io.fabric8.kubernetes.api.model.ObjectMeta deployMeta, FlinkSessionJobSpec currentDeploySpec, io.javaoperatorsdk.operator.api.reconciler.Context context)Description copied from class:AbstractFlinkResourceReconcilerGet Flink configuration object for deploying the given spec usingAbstractFlinkResourceReconciler.deploy(CR, SPEC, STATUS, org.apache.flink.configuration.Configuration, java.util.Optional<java.lang.String>, boolean).- Specified by:
getDeployConfigin classAbstractFlinkResourceReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>- Parameters:
deployMeta- ObjectMeta of the related resource.currentDeploySpec- Spec for which the config should be created.context- Reconciliation context.- Returns:
- Deployment configuration.
-
readyToReconcile
public boolean readyToReconcile(FlinkSessionJob flinkSessionJob, io.javaoperatorsdk.operator.api.reconciler.Context context, org.apache.flink.configuration.Configuration deployConfig)
Description copied from class:AbstractFlinkResourceReconcilerCheck whether the given Flink resource is ready to be reconciled or we are still waiting for any pending operation or condition first.- Overrides:
readyToReconcilein classAbstractJobReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>- Parameters:
flinkSessionJob- Related Flink resource.context- Reconciliation context.deployConfig- Deployment configuration.- Returns:
- True if the resource is ready to be reconciled.
-
deploy
protected void deploy(FlinkSessionJob cr, FlinkSessionJobSpec sessionJobSpec, FlinkSessionJobStatus status, org.apache.flink.configuration.Configuration deployConfig, java.util.Optional<java.lang.String> savepoint, boolean requireHaMetadata) throws java.lang.Exception
Description copied from class:AbstractFlinkResourceReconcilerDeploys the target resource spec to Kubernetes.- Specified by:
deployin classAbstractFlinkResourceReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>- Parameters:
cr- Related resource.sessionJobSpec- Spec that should be deployed to Kubernetes.status- Status object of the resourcedeployConfig- 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(FlinkSessionJob resource, UpgradeMode upgradeMode, org.apache.flink.configuration.Configuration observeConfig) throws java.lang.Exception
Description copied from class:AbstractJobReconcilerCancel the job for the given resource using the specified upgrade mode.- Specified by:
cancelJobin classAbstractJobReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>- Parameters:
resource- Related Flink resource.upgradeMode- Upgrade mode used during cancel.observeConfig- Observe configuration.- Throws:
java.lang.Exception- Error during cancellation.
-
cleanupInternal
public io.javaoperatorsdk.operator.api.reconciler.DeleteControl cleanupInternal(FlinkSessionJob sessionJob, io.javaoperatorsdk.operator.api.reconciler.Context context)
Description copied from class:AbstractFlinkResourceReconcilerShut down and clean up all Flink job/cluster resources.- Specified by:
cleanupInternalin classAbstractFlinkResourceReconciler<FlinkSessionJob,FlinkSessionJobSpec,FlinkSessionJobStatus>- Parameters:
sessionJob- Resource being reconciled.context- Current context.- Returns:
- DeleteControl object.
-
sessionClusterReady
public static boolean sessionClusterReady(java.util.Optional<FlinkDeployment> flinkDeploymentOpt)
-
-