[SPARK-52725][CORE] Delay resource profile manager initialization until plugin is loaded #51424
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
Follow #45052
When we modify the memory configuration in the plugin, the new configuration cannot be updated to the defaultResourceProfile because it is initialized before the plugin is loaded.
For example, the initial spark.executor.memory is set to 8g, but after our plugin processes it, the value is adjusted to 2g. However, the executor's JVM launch parameter (-Xmx) still defaults to 8g according resource profile, which could lead to OOM kills due to onheap memory RSS usage exceeds expectations.
So, the ResourceProfileManager should be initilized after plugin loaded.
Why are the changes needed?
Make memory configuration changes in plugins take effect at the resource profile.
Does this PR introduce any user-facing change?
No
How was this patch tested?
ut
Was this patch authored or co-authored using generative AI tooling?
No