Backport PR #12763 to 7.12: Build: avoid leaking memory from generate_plugins_version #12773
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.
Backport PR #12763 to 7.12 branch. Original message:
What does this PR do?
This PR handles memory leaks that exhibit when running the rake/gradle task.
NOTE: this is mostly a partial understanding what's going on by simply following the "huge" objects from memory dumps.
There might be better ways to handle the issue - without the patches (e.g. rewrite plugin generation to put each
bundleresolution into a disposable runtime or run as a process).Details on why each patch is relevant are to be found in code comments.
Why is it important/What is the impact to the user?
To be able to generate plugin docs we need to check available plugin versions.
How to test this PR locally
./gradlew generatePluginsVersion -Dorg.gradle.jvmargs="-XX:+HeapDumpOnOutOfMemoryError -Xmx2g"should no longer end up with an out of memory error
Tested with Bundler 2.2.14 as well as latest 2.2.15
Related issues
resolves #12758
related: #10942