[
https://issues.apache.org/jira/browse/LANG-1230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15284929#comment-15284929
]
Philippe Marschall commented on LANG-1230:
------------------------------------------
Sure https://github.com/apache/commons-lang/pull/143
> 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)