Class AbstractFlinkDeploymentObserver
- java.lang.Object
-
- org.apache.flink.kubernetes.operator.observer.AbstractFlinkResourceObserver<FlinkDeployment,FlinkDeploymentObserverContext>
-
- org.apache.flink.kubernetes.operator.observer.deployment.AbstractFlinkDeploymentObserver
-
- All Implemented Interfaces:
Observer<FlinkDeployment>
- Direct Known Subclasses:
ApplicationObserver
,SessionObserver
public abstract class AbstractFlinkDeploymentObserver extends AbstractFlinkResourceObserver<FlinkDeployment,FlinkDeploymentObserverContext>
Base observer for session and application clusters.
-
-
Field Summary
Fields Modifier and Type Field Description protected FlinkService
flinkService
protected org.slf4j.Logger
logger
-
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 void
clearErrorsIfDeploymentIsHealthy(FlinkDeployment dep)
protected FlinkDeploymentObserverContext
getObserverContext(FlinkDeployment resource, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Get the observer context for the current resource.protected boolean
isJmDeploymentReady(FlinkDeployment dep)
protected boolean
isSuspendedJob(FlinkDeployment deployment)
protected abstract void
observeFlinkCluster(FlinkDeployment flinkApp, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)
Observe the flinkApp status when the cluster is ready.void
observeInternal(FlinkDeployment flinkDep, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)
Internal observer logic specific to each resource type.protected void
observeJmDeployment(FlinkDeployment flinkApp, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, org.apache.flink.configuration.Configuration effectiveConfig)
protected void
updateStatusToDeployedIfAlreadyUpgraded(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(FlinkDeployment resource, io.javaoperatorsdk.operator.api.reconciler.Context<?> context)
Description copied from class:AbstractFlinkResourceObserver
Get the observer context for the current resource.- Specified by:
getObserverContext
in classAbstractFlinkResourceObserver<FlinkDeployment,FlinkDeploymentObserverContext>
- Parameters:
resource
- Resource being observedcontext
- Resource context- Returns:
- Observer context
-
observeInternal
public void observeInternal(FlinkDeployment flinkDep, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)
Description copied from class:AbstractFlinkResourceObserver
Internal observer logic specific to each resource type.- Specified by:
observeInternal
in classAbstractFlinkResourceObserver<FlinkDeployment,FlinkDeploymentObserverContext>
- Parameters:
flinkDep
- Resource to be observedcontext
- Resource contextobserverContext
- Observer context
-
observeJmDeployment
protected void observeJmDeployment(FlinkDeployment flinkApp, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, org.apache.flink.configuration.Configuration effectiveConfig)
-
isJmDeploymentReady
protected boolean isJmDeploymentReady(FlinkDeployment dep)
-
clearErrorsIfDeploymentIsHealthy
protected void clearErrorsIfDeploymentIsHealthy(FlinkDeployment dep)
-
isSuspendedJob
protected boolean isSuspendedJob(FlinkDeployment deployment)
-
updateStatusToDeployedIfAlreadyUpgraded
protected void updateStatusToDeployedIfAlreadyUpgraded(FlinkDeployment flinkDep, io.javaoperatorsdk.operator.api.reconciler.Context<?> context, FlinkDeploymentObserverContext observerContext)
Description copied from class:AbstractFlinkResourceObserver
Checks 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:
updateStatusToDeployedIfAlreadyUpgraded
in classAbstractFlinkResourceObserver<FlinkDeployment,FlinkDeploymentObserverContext>
- Parameters:
flinkDep
- Flink resource.context
- Context for resource.observerContext
- Context for observer.
-
observeFlinkCluster
protected abstract void observeFlinkCluster(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
-
-