Class AbstractFlinkDeploymentObserver
- java.lang.Object
-
- org.apache.flink.kubernetes.operator.observer.AbstractFlinkResourceObserver<org.apache.flink.kubernetes.operator.api.FlinkDeployment,FlinkDeploymentObserverContext>
-
- org.apache.flink.kubernetes.operator.observer.deployment.AbstractFlinkDeploymentObserver
-
- All Implemented Interfaces:
Observer<org.apache.flink.kubernetes.operator.api.FlinkDeployment>
- Direct Known Subclasses:
ApplicationObserver,SessionObserver
public abstract class AbstractFlinkDeploymentObserver extends AbstractFlinkResourceObserver<org.apache.flink.kubernetes.operator.api.FlinkDeployment,FlinkDeploymentObserverContext>
Base observer for session and application clusters.
-
-
Field Summary
Fields Modifier and Type Field Description protected FlinkServiceflinkServiceprotected org.slf4j.Loggerlogger-
Fields inherited from class org.apache.flink.kubernetes.operator.observer.AbstractFlinkResourceObserver
configManager, eventRecorder
-
-
Constructor Summary
Constructors Constructor Description AbstractFlinkDeploymentObserver(FlinkService flinkService, FlinkConfigManager configManager, EventRecorder eventRecorder)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected voidclearErrorsIfDeploymentIsHealthy(org.apache.flink.kubernetes.operator.api.FlinkDeployment dep)protected FlinkDeploymentObserverContextgetObserverContext(org.apache.flink.kubernetes.operator.api.FlinkDeployment resource, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)Get the observer context for the current resource.protected booleanisJmDeploymentReady(org.apache.flink.kubernetes.operator.api.FlinkDeployment dep)protected booleanisSuspendedJob(org.apache.flink.kubernetes.operator.api.FlinkDeployment deployment)protected abstract voidobserveFlinkCluster(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkApp, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)Observe the flinkApp status when the cluster is ready.voidobserveInternal(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkDep, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)Internal observer logic specific to each resource type.protected voidobserveJmDeployment(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkApp, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, org.apache.flink.configuration.Configuration effectiveConfig)protected voidupdateStatusToDeployedIfAlreadyUpgraded(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkDep, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)Checks a resource that is currently in the UPGRADING state whether it was already deployed but we simply miss the status information.-
Methods inherited from class org.apache.flink.kubernetes.operator.observer.AbstractFlinkResourceObserver
isResourceReadyToBeObserved, observe
-
-
-
-
Field Detail
-
logger
protected final org.slf4j.Logger logger
-
flinkService
protected final FlinkService flinkService
-
-
Constructor Detail
-
AbstractFlinkDeploymentObserver
public AbstractFlinkDeploymentObserver(FlinkService flinkService, FlinkConfigManager configManager, EventRecorder eventRecorder)
-
-
Method Detail
-
getObserverContext
protected FlinkDeploymentObserverContext getObserverContext(org.apache.flink.kubernetes.operator.api.FlinkDeployment resource, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Description copied from class:AbstractFlinkResourceObserverGet the observer context for the current resource.- Specified by:
getObserverContextin classAbstractFlinkResourceObserver<org.apache.flink.kubernetes.operator.api.FlinkDeployment,FlinkDeploymentObserverContext>- Parameters:
resource- Resource being observedcontext- Resource context- Returns:
- Observer context
-
observeInternal
public void observeInternal(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkDep, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)Description copied from class:AbstractFlinkResourceObserverInternal observer logic specific to each resource type.- Specified by:
observeInternalin classAbstractFlinkResourceObserver<org.apache.flink.kubernetes.operator.api.FlinkDeployment,FlinkDeploymentObserverContext>- Parameters:
flinkDep- Resource to be observedcontext- Resource contextobserverContext- Observer context
-
observeJmDeployment
protected void observeJmDeployment(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkApp, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, org.apache.flink.configuration.Configuration effectiveConfig)
-
isJmDeploymentReady
protected boolean isJmDeploymentReady(org.apache.flink.kubernetes.operator.api.FlinkDeployment dep)
-
clearErrorsIfDeploymentIsHealthy
protected void clearErrorsIfDeploymentIsHealthy(org.apache.flink.kubernetes.operator.api.FlinkDeployment dep)
-
isSuspendedJob
protected boolean isSuspendedJob(org.apache.flink.kubernetes.operator.api.FlinkDeployment deployment)
-
updateStatusToDeployedIfAlreadyUpgraded
protected void updateStatusToDeployedIfAlreadyUpgraded(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkDep, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)Description copied from class:AbstractFlinkResourceObserverChecks a resource that is currently in the UPGRADING state whether it was already deployed but we simply miss the status information. After comparing the target resource generation with the one from the possible deployment if they match we update the status to the already DEPLOYED state.- Specified by:
updateStatusToDeployedIfAlreadyUpgradedin classAbstractFlinkResourceObserver<org.apache.flink.kubernetes.operator.api.FlinkDeployment,FlinkDeploymentObserverContext>- Parameters:
flinkDep- Flink resource.context- Context for resource.observerContext- Context for observer.
-
observeFlinkCluster
protected abstract void observeFlinkCluster(org.apache.flink.kubernetes.operator.api.FlinkDeployment flinkApp, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)Observe the flinkApp status when the cluster is ready. It will be implemented by child class to reflect the changed status on the flinkApp resource.- Parameters:
flinkApp- the target flinkDeployment resourcecontext- the context with which the operation is executedobserverContext- Observer context
-
-