Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

EOL Global-Mask-Classes #8785

Merged
merged 1 commit into from
Dec 16, 2023
Merged

Conversation

basil
Copy link
Member

@basil basil commented Dec 14, 2023

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 the jakarta-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

@basil basil added the removed This PR removes a feature or a public API label Dec 14, 2023
@NotMyFault NotMyFault requested a review from a team December 15, 2023 11:50
Copy link
Member

@timja timja left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/label ready-for-merge


This PR is now ready for merge, after ~24 hours, we will merge it if there's no negative feedback.

Thanks!

@comment-ops-bot comment-ops-bot bot added the ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback label Dec 15, 2023
@NotMyFault NotMyFault merged commit 3f18801 into jenkinsci:master Dec 16, 2023
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-merge The PR is ready to go, and it will be merged soon if there is no negative feedback removed This PR removes a feature or a public API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants