Race condition & memory leak in TypedFilter
#9925
Merged
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.
After starting a controller I got an “angry Jenkins” and in the log I saw
coming from the line for
staplerCache.get(clazz)
. This is not all that surprising, since it was a (non-Concurrent
)HashMap
, and I suppose this cache could be used from multiple page loading threads, so it would be expected to happen occasionally.Also
HashMap
rather thanWeakHashMap
meant that the keys were held strongly. Probably not an issue for Jenkins, assuming this refers only to plugin classes, since plugins cannot be unloaded, but still a bad practice.CacheValue
handles both issues and is simpler to boot.Testing done
Existing test passes.
Proposed changelog entries
Proposed upgrade guidelines
N/A
Submitter checklist
Desired reviewers
Before the changes are marked as
ready-for-merge
:Maintainer checklist