[
https://issues.apache.org/jira/browse/LANG-1230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15315919#comment-15315919
]
Pascal Schumacher commented on LANG-1230:
-----------------------------------------
[~garydgregory] It would be nice if you could take a look at the pull request.
I do not feel confident enough in this area to judge whether to merge it or
not. Thanks!
> Remove unnecessary synchronization from registry lookup
> -------------------------------------------------------
>
> Key: LANG-1230
> URL: https://issues.apache.org/jira/browse/LANG-1230
> Project: Commons Lang
> Issue Type: Bug
> Components: lang.builder.*
> Affects Versions: 2.6
> Reporter: Philippe Marschall
>
> We're running into contention issues in registry lookup in EqualsBuilder and
> HashCodeBuilder. We believe the synchronization for the registry lookup is
> unnecessary. ThreadLocals are thread safe, each thread gets own value.
> Therefore no other thread can read or change the value of the current thread.
> As a consequence access to ThreadLocals does not need to be synchronized.
> Since IDKey uses object identity and the identity hashCode it does use
> neither EqualsBuilder nor HashCodeBuilder. This means that recursive calls to
> register and unregister are not possible even if the registered objects use
> EqualsBuilder or HashCodeBuilder. This also makes re-reading redundant.
> The issue was likely introduced in 2.5 by LANG-586 but 2.6 is the oldest
> version we can select.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)