[JENKINS-68417] Use Supplier
overloads to avoid leaks from LogRecord.parameters
#557
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.
Seems the tricks explored in jenkinsci/jenkins#6643 & jenkinsci/support-core-plugin#376 are not necessary if code logging at fine levels takes care to use
Supplier
-based overloads (or otherwise convert record parameters toString
, as in #41) where the parameters might refer to expensive object trees.Sketch of iterative testing
mvnd -Pquick-build -f jenkins -pl core clean install mvnd -Pquick-build -f support-core-plugin install mvnd -Pquick-build -f workflow-cps-plugin install JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 mvn -f pipeline-groovy-lib-plugin test -Dtest=LibraryMemoryTest
given