You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@flink.apache.org by Maxim Senin via user <us...@flink.apache.org> on 2024/05/08 20:35:57 UTC

Operator/Autoscaler/Autotuner tuning behavior question

Hello.

I have some questions about memory autotuning in the Operator.

1. Does the autotuner try to upgrade the job with more memory allocated if it intercepts OutOfMemoryError? Say I initially provided too little memory for TM `resource` - will the job fail and stop on initializing or will the operator try to increase memory after it catches OutOfMemoryError?
2. When autoscaler scales a TM from, say, from 1 to 2 instances with higher parallelism, does it also double memory and CPU requested in each iteration of upscaling, or it would have already measured RAM requirements when it was collecting stats and request just what it thinks is needed? I see there’s a config option where it increases memory when scaling down so that the job doesn’t fail because fewer TMs are doing the job of what more TMs used to be doing, so I was wondering if the opposite is true when scaling up.
3. Will autotuner ever increase requested memory beyond what was initially requested in TM’s `resource` block in the Deployment CRD? Same for CPU?..
4. Does the operator care about available resources in k8s, or it just makes an “optimistic” request and hopes it will be granted? What happens if it requests more than available? Keep retrying? Stay in pending state waiting for resources? Time out? Exit? Is there a rollback and retry with smaller amount of resources requested if a request with larger demands fails? I see there’s an option that, when enabled, can refresh information about available resources periodically, which should prevent or reduce inadvertent greedy requests. But what’s the strategy used by the operator if the request is already too large to handle?

Thanks a lot!
/Maxim

________________________________

COGILITY SOFTWARE CORPORATION LEGAL DISCLAIMER: The information in this email is confidential and is intended solely for the addressee. Access to this email by anyone else is unauthorized. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful.