Class KubernetesAutoScalerStateStore
- java.lang.Object
-
- org.apache.flink.kubernetes.operator.autoscaler.state.KubernetesAutoScalerStateStore
-
- All Implemented Interfaces:
org.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
public class KubernetesAutoScalerStateStore extends java.lang.Object implements org.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
An AutoscalerStateStore which persists its state in Kubernetes ConfigMaps.
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringCOLLECTED_METRICS_KEYprotected static intMAX_CM_BYTESprotected static java.lang.StringPARALLELISM_OVERRIDES_KEYprotected static java.lang.StringSCALING_HISTORY_KEYprotected static com.fasterxml.jackson.databind.ObjectMapperYAML_MAPPER
-
Constructor Summary
Constructors Constructor Description KubernetesAutoScalerStateStore(ConfigMapStore configMapStore)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearAll(KubernetesJobAutoScalerContext jobContext)voidflush(KubernetesJobAutoScalerContext jobContext)java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.metrics.CollectedMetrics>getCollectedMetrics(KubernetesJobAutoScalerContext jobContext)java.util.Map<java.lang.String,java.lang.String>getParallelismOverrides(KubernetesJobAutoScalerContext jobContext)java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.ScalingSummary>>getScalingHistory(KubernetesJobAutoScalerContext jobContext)voidremoveCollectedMetrics(KubernetesJobAutoScalerContext jobContext)voidremoveInfoFromCache(io.javaoperatorsdk.operator.processing.event.ResourceID resourceID)voidremoveParallelismOverrides(KubernetesJobAutoScalerContext jobContext)voidremoveScalingHistory(KubernetesJobAutoScalerContext jobContext)protected static java.lang.StringserializeEvaluatedMetrics(java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.metrics.CollectedMetrics> evaluatedMetrics)protected static java.lang.StringserializeScalingHistory(java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.ScalingSummary>> scalingHistory)voidstoreCollectedMetrics(KubernetesJobAutoScalerContext jobContext, java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.metrics.CollectedMetrics> metrics)voidstoreParallelismOverrides(KubernetesJobAutoScalerContext jobContext, java.util.Map<java.lang.String,java.lang.String> parallelismOverrides)voidstoreScalingHistory(KubernetesJobAutoScalerContext jobContext, java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.ScalingSummary>> scalingHistory)protected voidtrimHistoryToMaxCmSize(KubernetesJobAutoScalerContext context)
-
-
-
Field Detail
-
SCALING_HISTORY_KEY
@VisibleForTesting protected static final java.lang.String SCALING_HISTORY_KEY
- See Also:
- Constant Field Values
-
COLLECTED_METRICS_KEY
@VisibleForTesting protected static final java.lang.String COLLECTED_METRICS_KEY
- See Also:
- Constant Field Values
-
PARALLELISM_OVERRIDES_KEY
@VisibleForTesting protected static final java.lang.String PARALLELISM_OVERRIDES_KEY
- See Also:
- Constant Field Values
-
MAX_CM_BYTES
@VisibleForTesting protected static final int MAX_CM_BYTES
- See Also:
- Constant Field Values
-
YAML_MAPPER
protected static final com.fasterxml.jackson.databind.ObjectMapper YAML_MAPPER
-
-
Constructor Detail
-
KubernetesAutoScalerStateStore
public KubernetesAutoScalerStateStore(ConfigMapStore configMapStore)
-
-
Method Detail
-
storeScalingHistory
public void storeScalingHistory(KubernetesJobAutoScalerContext jobContext, java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.ScalingSummary>> scalingHistory)
- Specified by:
storeScalingHistoryin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
getScalingHistory
public java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.ScalingSummary>> getScalingHistory(KubernetesJobAutoScalerContext jobContext)
- Specified by:
getScalingHistoryin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
removeScalingHistory
public void removeScalingHistory(KubernetesJobAutoScalerContext jobContext)
- Specified by:
removeScalingHistoryin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
storeCollectedMetrics
public void storeCollectedMetrics(KubernetesJobAutoScalerContext jobContext, java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.metrics.CollectedMetrics> metrics)
- Specified by:
storeCollectedMetricsin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
getCollectedMetrics
public java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.metrics.CollectedMetrics> getCollectedMetrics(KubernetesJobAutoScalerContext jobContext)
- Specified by:
getCollectedMetricsin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
removeCollectedMetrics
public void removeCollectedMetrics(KubernetesJobAutoScalerContext jobContext)
- Specified by:
removeCollectedMetricsin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
storeParallelismOverrides
public void storeParallelismOverrides(KubernetesJobAutoScalerContext jobContext, java.util.Map<java.lang.String,java.lang.String> parallelismOverrides)
- Specified by:
storeParallelismOverridesin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
getParallelismOverrides
public java.util.Map<java.lang.String,java.lang.String> getParallelismOverrides(KubernetesJobAutoScalerContext jobContext)
- Specified by:
getParallelismOverridesin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
removeParallelismOverrides
public void removeParallelismOverrides(KubernetesJobAutoScalerContext jobContext)
- Specified by:
removeParallelismOverridesin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
clearAll
public void clearAll(KubernetesJobAutoScalerContext jobContext)
- Specified by:
clearAllin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
flush
public void flush(KubernetesJobAutoScalerContext jobContext)
- Specified by:
flushin interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
removeInfoFromCache
public void removeInfoFromCache(io.javaoperatorsdk.operator.processing.event.ResourceID resourceID)
- Specified by:
removeInfoFromCachein interfaceorg.apache.flink.autoscaler.state.AutoScalerStateStore<io.javaoperatorsdk.operator.processing.event.ResourceID,KubernetesJobAutoScalerContext>
-
serializeScalingHistory
protected static java.lang.String serializeScalingHistory(java.util.Map<org.apache.flink.runtime.jobgraph.JobVertexID,java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.ScalingSummary>> scalingHistory)
-
serializeEvaluatedMetrics
@VisibleForTesting protected static java.lang.String serializeEvaluatedMetrics(java.util.SortedMap<java.time.Instant,org.apache.flink.autoscaler.metrics.CollectedMetrics> evaluatedMetrics)
-
trimHistoryToMaxCmSize
@VisibleForTesting protected void trimHistoryToMaxCmSize(KubernetesJobAutoScalerContext context)
-
-