[FLINK-30464] Exclude metrics during stabilization and ensure a full metric window (#493)

So far, the code collects metrics as soon as the job goes into RUNNING mode,
regardless of whether we are still in the stabilization period. This means the
first metric collection window after rescaling will include metrics from the
stabilization period. This is not desirable. The stabilization period is
supposed to allow the job to stabilize. Metrics during stabilization shouldn't
be used to make new scaling decisions.

Further, the collected metrics for the scaling decider initially do not span a full 
metric window. Only after the first metric window is complete, we are guaranteed
to have a full windows available. This leads to short-sighted scaling decisions
which is fixed in this change.
7 files changed
tree: 15920b40c221775442881bb84132efb1c5399b48
  1. .github/
  2. docs/
  3. e2e-tests/
  4. examples/
  5. flink-kubernetes-docs/
  6. flink-kubernetes-operator/
  7. flink-kubernetes-operator-api/
  8. flink-kubernetes-standalone/
  9. flink-kubernetes-webhook/
  10. helm/
  11. licenses/
  12. tools/
  13. .asf.yaml
  14. .dockerignore
  15. .gitignore
  16. .gitmodules
  17. docker-entrypoint.sh
  18. Dockerfile
  19. LICENSE
  20. NOTICE
  21. pom.xml
  22. README.md
README.md

Apache Flink Kubernetes Operator

A Kubernetes operator for Apache Flink, implemented in Java. It allows users to manage Flink applications and their lifecycle through native k8s tooling like kubectl.

Documentation & Getting Started

Please check out the full documentation, hosted by the ASF, for detailed information and user guides.

Check our quick-start guide for simple setup instructions to get you started with the operator.

Features at a glance

  • Deploy and monitor Flink Application, Session and Job deployments
  • Upgrade, suspend and delete deployments
  • Full logging and metrics integration
  • Flexible deployments and native integration with Kubernetes tooling

For the complete feature-set please refer to our documentation.

Project Status

Project status: Production Ready

Current API version: v1beta1

To download the latest stable version please visit the Flink Downloads Page. The official operator images are also available on Dockerhub.

Please check out our docs to read about the upgrade process and our backward compatibility guarantees.

Support

Don’t hesitate to ask!

Contact the developers and community on the mailing lists if you need any help.

Open an issue if you found a bug in Flink.

Contributing

You can learn more about how to contribute in the Apache Flink website. For code contributions, please read carefully the Contributing Code section for an overview of ongoing community work.

License

The code in this repository is licensed under the Apache Software License 2.