[JENKINS-69543] Fix thread safety in websockets handling. - #7076
Conversation
Session-holding maps are accessed by multiple threads. Even though some concurrent access version of this would perform better it should be safe to access sessions in a synchronized way. org.springframework.util.ConcurrentReferenceHashMap could be an alternative if synchronized access is too slow.
|
Should I backport this ASAP for the LTS 2.361.1 release? |
Generally no it needs real world testing via the weekly line. Unless others have evidence that this is a critical issue for the release and needs to go in ASAP |
|
Is this intended to be a TODO for today's LTS release @Vlatombe? The release took already place, and backporting outside from weekly's aren't eligible. |
basil
left a comment
There was a problem hiding this comment.
Very nice! Too bad this did not make it into 2.361.1 LTS, as there is no workaround on the client side. I suppose the best we can do is get this into 2.361.2 LTS. Thanks for the PR!
|
This PR is now ready for merge. We will merge it after approximately 24 hours if there is no negative feedback. Please see the merge process documentation for more information about the merge process. Thanks! |
(cherry picked from commit b7b5bc6)
Follow-up of #6780, #6801
Session-holding maps are accessed by multiple threads.
Even though some concurrent access version of this would perform better it should be safe to access sessions in a synchronized way.
org.springframework.util.ConcurrentReferenceHashMapcould be an alternative if synchronized access is too slow.See JENKINS-69543.
Proposed changelog entries
Proposed upgrade guidelines
N/A
Submitter checklist
Proposed changelog entriessection only if there are breaking changes or other changes which may require extra steps from users during the upgrade@Restrictedor have@since TODOJavadoc, as appropriate.@Deprecated(since = "TODO")or@Deprecated(forRemoval = true, since = "TODO")if applicable.evalto ease future introduction of Content-Security-Policy directives (see documentation on jenkins.io).Desired reviewers
@mention
Maintainer checklist
Before the changes are marked as
ready-for-merge:Proposed changelog entriesare accurate, human-readable, and in the imperative moodupgrade-guide-neededlabel is set and there is aProposed upgrade guidelinessection in the PR title. (example)lts-candidateto be considered (see query).