-
Notifications
You must be signed in to change notification settings - Fork 371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FLINK-34655] Copy IOMetricsInfo to flink-autoscaler-standalone module #797
Conversation
5bf81d0
to
b7ab6a1
Compare
Instead of a new rest client you could also do what is done in the Kubernetes-operator module, see: By shadowing the class under the same package this will hide the incompatible implementation coming from flink |
But still it will not make it work fully for 1.15 as the aggregated metrics need to be back ported on the Flink side (similar to other features required for the autoscaler) |
b7ab6a1
to
eb38f15
Compare
Thanks @gyfora for the valuable feedback!
If so, autoscaler works with 1.15 when users uses the I'm using the autoscaler Standalone, and I found 1.15 job doesn't work. In the short term, could I move the In the long term, should we maintain the Looking forward to your opinion, and I'm happy to fix them.
Thanks for the reminder, we have a lot of jobs run with 1.15 version, so we are backing port them. Of course, we (our internal platform) only analyse them and don't scale them when the version before 1.18. |
Not sure if we need to have the IOMetricsInfo override in both packages to be safe actually. I think it has to be copied. I can personally confirm that given the aggregated metrics back ported to 1.15 (easy to do) + the IOMetricsInfo, the autoscaler works with 1.15 |
3e06a99
to
dc64eee
Compare
dc64eee
to
21c707d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good, if you tested it and works 🚢
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
flink-ubernetes-operator is committed to supporting the latest 4 flink minor versions, and autoscaler is a part of flink-ubernetes-operator. Currently, the latest 4 flink minor versions are 1.15, 1.16, 1.17 and 1.18.
But autoscaler doesn't work for flink 1.15.
Root cause:
That means that the RestClient after 1.15 cannot fetch JobDetailsInfo for 1.15 jobs.
How to fix it properly?
[1]
flink-kubernetes-operator/flink-autoscaler/src/main/java/org/apache/flink/autoscaler/ScalingMetricCollector.java
Line 109 in ede1a61
[2] https://cwiki.apache.org/confluence/display/FLINK/FLIP-401%3A+REST+API+JSON+response+deserialization+unknown+field+tolerance