commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (LANG-1230) Remove unnecessary synchronization from registry lookup in EqualsBuilder and HashCodeBuilder
Date Sun, 21 Aug 2016 17:19:20 GMT

    [ https://issues.apache.org/jira/browse/LANG-1230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15429810#comment-15429810
] 

ASF GitHub Bot commented on LANG-1230:
--------------------------------------

Github user PascalSchumacher commented on the issue:

    https://github.com/apache/commons-lang/pull/143
  
    Thanks!


> Remove unnecessary synchronization from registry lookup in EqualsBuilder and HashCodeBuilder
> --------------------------------------------------------------------------------------------
>
>                 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
>            Assignee: Pascal Schumacher
>             Fix For: 3.5
>
>
> 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)

Mime
View raw message