This is an automated email from the ASF dual-hosted git repository. gyfora pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/flink-kubernetes-operator.git
from 305498a9 [FLINK-33187] Don't record duplicate event if no change new 5c76d01c [FLINK-33097][autoscaler] Initialize the generic autoscaler module and interfaces new b4e958c4 [FLINK-33098][autoscaler] Move non-kubernetes related autoscaler classes to flink-autoscaler module new 0877ac28 [FLINK-33098][autoscaler] Support kubernetes autoscaler using generic interface new b1c40e35 [FLINK-33098][autoscaler] Removing the operator prefix for all autoscaler options The 4 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: Dockerfile | 6 +- docker-entrypoint.sh | 2 +- docs/content/docs/custom-resource/autoscaler.md | 28 +- docs/content/docs/operations/configuration.md | 2 + .../generated/auto_scaler_configuration.html | 48 +-- e2e-tests/data/autoscaler.yaml | 8 +- examples/autoscaling/autoscaling-dynamic.yaml | 10 +- examples/autoscaling/autoscaling.yaml | 8 +- .../pom.xml | 64 ++-- .../org/apache/flink/autoscaler/JobAutoScaler.java | 19 +- .../flink/autoscaler/JobAutoScalerContext.java | 62 ++++ .../apache/flink/autoscaler/JobAutoScalerImpl.java | 210 +++++++++++++ .../apache/flink}/autoscaler/JobVertexScaler.java | 85 +++--- .../apache/flink/autoscaler/NoopJobAutoscaler.java | 17 +- .../flink}/autoscaler/RestApiMetricsCollector.java | 32 +- .../apache/flink}/autoscaler/ScalingExecutor.java | 130 ++++---- .../flink}/autoscaler/ScalingMetricCollector.java | 140 ++++----- .../flink}/autoscaler/ScalingMetricEvaluator.java | 53 ++-- .../apache/flink}/autoscaler/ScalingSummary.java | 6 +- .../autoscaler/config/AutoScalerOptions.java | 48 ++- .../autoscaler/event/AutoScalerEventHandler.java | 43 ++- .../metrics}/AutoscalerFlinkMetrics.java | 58 +++- .../autoscaler/metrics/CollectedMetricHistory.java | 4 +- .../autoscaler/metrics/CollectedMetrics.java | 2 +- .../org/apache/flink}/autoscaler/metrics/Edge.java | 2 +- .../autoscaler/metrics/EvaluatedScalingMetric.java | 2 +- .../flink}/autoscaler/metrics/FlinkMetric.java | 2 +- .../autoscaler/metrics/MetricAggregator.java | 2 +- .../autoscaler/metrics/ScalingHistoryUtils.java | 115 +++++++ .../flink}/autoscaler/metrics/ScalingMetric.java | 2 +- .../flink}/autoscaler/metrics/ScalingMetrics.java | 8 +- .../flink/autoscaler/realizer/ScalingRealizer.java | 17 +- .../autoscaler/state/AutoScalerStateStore.java | 74 +++++ .../state/InMemoryAutoScalerStateStore.java | 114 +++++++ .../flink}/autoscaler/topology/JobTopology.java | 2 +- .../flink}/autoscaler/topology/VertexInfo.java | 2 +- .../autoscaler/utils/AutoScalerSerDeModule.java | 4 +- .../flink}/autoscaler/utils/AutoScalerUtils.java | 17 +- .../autoscaler/AutoScalerFlinkMetricsTest.java | 120 ++++---- .../flink}/autoscaler/BacklogBasedScalingTest.java | 206 ++++++------- .../flink/autoscaler/JobAutoScalerImplTest.java | 263 ++++++++++++++++ .../flink}/autoscaler/JobVertexScalerTest.java | 224 +++++--------- .../MetricsCollectionAndEvaluationTest.java | 144 ++++----- .../autoscaler/RecommendedParallelismTest.java | 176 +++++------ .../autoscaler/RestApiMetricsCollectorTest.java | 113 +++++++ .../flink}/autoscaler/ScalingExecutorTest.java | 160 +++++----- .../autoscaler/ScalingMetricCollectorTest.java | 56 ++-- .../autoscaler/ScalingMetricEvaluatorTest.java | 44 +-- .../flink/autoscaler/TestingAutoscalerUtils.java | 82 +++++ .../flink}/autoscaler/TestingMetricsCollector.java | 21 +- .../autoscaler/event/TestingEventCollector.java | 110 +++++++ .../autoscaler/metrics/ScalingMetricsTest.java | 8 +- .../realizer/TestingScalingRealizer.java | 56 ++++ .../state/TestingAutoscalerStateStore.java | 23 +- .../autoscaler/topology}/JobTopologyTest.java | 3 +- .../autoscaler/utils/AutoScalerUtilsTest.java | 4 +- .../src/test/resources/log4j2-test.properties | 0 flink-kubernetes-docs/pom.xml | 3 +- .../configuration/ConfigOptionsDocGenerator.java | 4 +- .../operator/autoscaler/AutoScalerInfo.java | 286 ------------------ .../operator/autoscaler/AutoscalerInfoManager.java | 135 --------- .../operator/autoscaler/JobAutoScalerImpl.java | 248 --------------- .../operator/autoscaler/AutoScalerInfoTest.java | 242 --------------- .../autoscaler/AutoscalerInfoManagerTest.java | 132 -------- .../operator/autoscaler/AutoscalerTestUtils.java | 33 -- .../operator/autoscaler/JobAutoScalerImplTest.java | 301 ------------------- .../autoscaler/RestApiMetricsCollectorTest.java | 77 ----- flink-kubernetes-operator/pom.xml | 6 + .../flink/kubernetes/operator/FlinkOperator.java | 7 +- .../operator/autoscaler/AutoscalerFactory.java | 49 +++ .../operator/autoscaler/ConfigMapStore.java | 174 +++++++++++ .../KubernetesAutoScalerEventHandler.java | 68 +++++ .../autoscaler/KubernetesAutoScalerStateStore.java | 270 +++++++++++++++++ .../autoscaler/KubernetesJobAutoScalerContext.java | 67 +++++ .../autoscaler/KubernetesScalingRealizer.java | 34 ++- .../operator/controller/FlinkResourceContext.java | 50 ++++ .../AbstractFlinkResourceReconciler.java | 34 ++- .../deployment/AbstractJobReconciler.java | 7 +- .../deployment/ApplicationReconciler.java | 7 +- .../reconciler/deployment/JobAutoScaler.java | 30 -- .../deployment/NoopJobAutoscalerFactory.java | 36 --- .../reconciler/deployment/ReconcilerFactory.java | 12 +- .../reconciler/deployment/SessionReconciler.java | 3 +- .../sessionjob/SessionJobReconciler.java | 4 +- .../operator/utils/AutoscalerLoader.java | 57 ---- .../kubernetes/operator/utils/EventRecorder.java | 4 +- .../operator/autoscaler/AutoscalerFactoryTest.java | 44 +++ .../operator/autoscaler/ConfigMapStoreTest.java | 123 ++++++++ .../KubernetesAutoScalerStateStoreTest.java | 333 +++++++++++++++++++++ .../autoscaler/TestingAutoscalerFactory.java | 23 -- .../TestingKubernetesAutoscalerUtils.java | 48 +++ .../TestingFlinkDeploymentController.java | 5 +- .../deployment/ApplicationReconcilerTest.java | 25 +- .../ApplicationReconcilerUpgradeModeTest.java | 3 +- .../operator/utils/AutoscalerLoaderTest.java | 61 ---- pom.xml | 4 +- 96 files changed, 3514 insertions(+), 2796 deletions(-) rename {flink-kubernetes-operator-autoscaler => flink-autoscaler}/pom.xml (61%) rename flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/JobAutoScalerFactory.java => flink-autoscaler/src/main/java/org/apache/flink/autoscaler/JobAutoScaler.java (66%) create mode 100644 flink-autoscaler/src/main/java/org/apache/flink/autoscaler/JobAutoScalerContext.java create mode 100644 flink-autoscaler/src/main/java/org/apache/flink/autoscaler/JobAutoScalerImpl.java rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/JobVertexScaler.java (78%) copy flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/health/InformerIdentifier.java => flink-autoscaler/src/main/java/org/apache/flink/autoscaler/NoopJobAutoscaler.java (69%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/RestApiMetricsCollector.java (74%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/ScalingExecutor.java (68%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/ScalingMetricCollector.java (80%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/ScalingMetricEvaluator.java (82%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/ScalingSummary.java (89%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/config/AutoScalerOptions.java (76%) copy flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/spec/UpgradeMode.java => flink-autoscaler/src/main/java/org/apache/flink/autoscaler/event/AutoScalerEventHandler.java (51%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator/autoscaler => flink-autoscaler/src/main/java/org/apache/flink/autoscaler/metrics}/AutoscalerFlinkMetrics.java (76%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/CollectedMetricHistory.java (88%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/CollectedMetrics.java (94%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/Edge.java (94%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/EvaluatedScalingMetric.java (95%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/FlinkMetric.java (97%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/MetricAggregator.java (95%) create mode 100644 flink-autoscaler/src/main/java/org/apache/flink/autoscaler/metrics/ScalingHistoryUtils.java rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/ScalingMetric.java (97%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/metrics/ScalingMetrics.java (97%) copy flink-kubernetes-operator-api/src/main/java/org/apache/flink/kubernetes/operator/api/FlinkSessionJobList.java => flink-autoscaler/src/main/java/org/apache/flink/autoscaler/realizer/ScalingRealizer.java (63%) create mode 100644 flink-autoscaler/src/main/java/org/apache/flink/autoscaler/state/AutoScalerStateStore.java create mode 100644 flink-autoscaler/src/main/java/org/apache/flink/autoscaler/state/InMemoryAutoScalerStateStore.java rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/topology/JobTopology.java (99%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/topology/VertexInfo.java (95%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/utils/AutoScalerSerDeModule.java (95%) rename {flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/main/java/org/apache/flink}/autoscaler/utils/AutoScalerUtils.java (84%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/AutoScalerFlinkMetricsTest.java (56%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/BacklogBasedScalingTest.java (72%) create mode 100644 flink-autoscaler/src/test/java/org/apache/flink/autoscaler/JobAutoScalerImplTest.java rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/JobVertexScalerTest.java (63%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/MetricsCollectionAndEvaluationTest.java (82%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/RecommendedParallelismTest.java (60%) create mode 100644 flink-autoscaler/src/test/java/org/apache/flink/autoscaler/RestApiMetricsCollectorTest.java rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/ScalingExecutorTest.java (62%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/ScalingMetricCollectorTest.java (83%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/ScalingMetricEvaluatorTest.java (86%) create mode 100644 flink-autoscaler/src/test/java/org/apache/flink/autoscaler/TestingAutoscalerUtils.java rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/TestingMetricsCollector.java (78%) create mode 100644 flink-autoscaler/src/test/java/org/apache/flink/autoscaler/event/TestingEventCollector.java rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/metrics/ScalingMetricsTest.java (98%) create mode 100644 flink-autoscaler/src/test/java/org/apache/flink/autoscaler/realizer/TestingScalingRealizer.java copy flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/exception/ReconciliationException.java => flink-autoscaler/src/test/java/org/apache/flink/autoscaler/state/TestingAutoscalerStateStore.java (61%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator/autoscaler => flink-autoscaler/src/test/java/org/apache/flink/autoscaler/topology}/JobTopologyTest.java (96%) rename {flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator => flink-autoscaler/src/test/java/org/apache/flink}/autoscaler/utils/AutoScalerUtilsTest.java (94%) rename {flink-kubernetes-operator-autoscaler => flink-autoscaler}/src/test/resources/log4j2-test.properties (100%) delete mode 100644 flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/AutoScalerInfo.java delete mode 100644 flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/AutoscalerInfoManager.java delete mode 100644 flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/JobAutoScalerImpl.java delete mode 100644 flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/AutoScalerInfoTest.java delete mode 100644 flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/AutoscalerInfoManagerTest.java delete mode 100644 flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/AutoscalerTestUtils.java delete mode 100644 flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/JobAutoScalerImplTest.java delete mode 100644 flink-kubernetes-operator-autoscaler/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/RestApiMetricsCollectorTest.java create mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/AutoscalerFactory.java create mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/ConfigMapStore.java create mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/KubernetesAutoScalerEventHandler.java create mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/KubernetesAutoScalerStateStore.java create mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/KubernetesJobAutoScalerContext.java rename flink-kubernetes-operator-autoscaler/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/JobAutoscalerFactoryImpl.java => flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/autoscaler/KubernetesScalingRealizer.java (50%) delete mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/JobAutoScaler.java delete mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/reconciler/deployment/NoopJobAutoscalerFactory.java delete mode 100644 flink-kubernetes-operator/src/main/java/org/apache/flink/kubernetes/operator/utils/AutoscalerLoader.java create mode 100644 flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/AutoscalerFactoryTest.java create mode 100644 flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/ConfigMapStoreTest.java create mode 100644 flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/KubernetesAutoScalerStateStoreTest.java delete mode 100644 flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/TestingAutoscalerFactory.java create mode 100644 flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/autoscaler/TestingKubernetesAutoscalerUtils.java delete mode 100644 flink-kubernetes-operator/src/test/java/org/apache/flink/kubernetes/operator/utils/AutoscalerLoaderTest.java