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.
Reverts commit a9fc20d. I discovered this unmitigated complexity while reading this code recently. I do not know if it was ever used, but it is completely unused today: I checked both Jenkins and CloudBees sources and nothing came up. I cannot imagine any good reason to use this "feature." Better to rip it out now while we still can before someone decides to start using it in the future and then we are obligated to support this unusual use case. The code comment mentions something about database plugins, but I checked them and none of them are using this feature, nor is anything else in the Jenkins ecosystem using it today.
As a bonus, ripping out this feature allows us to simplify the implementation of
MaskingClassLoader
to use immutable data structures, making it easier to reason about the concurrency implications of that class.If accepted, I will also file subsequent PRs to purge any references to this "feature" from the HPI plugin and documentation.
Testing done
Started up Jenkins with
java -jar jenkins.war
with thejakarta-mail-api
plugin installed, which exercises the (non-global)Mask-Classes
code path and therefore the changed constructor. No errors.Proposed changelog entries
N/A
Proposed upgrade guidelines
N/A
Submitter checklist
Desired reviewers
@mention
Before the changes are marked as
ready-for-merge
:Maintainer checklist