commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Joerg Schaible (JIRA)" <>
Subject [jira] Commented: (LANG-459) Issue in HashCodeBuilder which only shows up under high load multi-threaded usage.
Date Tue, 16 Sep 2008 06:45:45 GMT


Joerg Schaible commented on LANG-459:

Hi Andrew, it is a lot easier for us to look over a patch, if you use a diff as attachment.
Especially if development continues, nobody knows in the end, what you really changed when
your version of the code was current.
-- Jörg

> Issue in HashCodeBuilder which only shows up under high load multi-threaded usage.
> ----------------------------------------------------------------------------------
>                 Key: LANG-459
>                 URL:
>             Project: Commons Lang
>          Issue Type: Bug
>    Affects Versions: 2.4
>         Environment: All
>            Reporter: Andrew Wilson
>             Fix For: 3.0, Nightly Builds
>         Attachments:,
>   Original Estimate: 0.08h
>  Remaining Estimate: 0.08h
> We found we were having problems with HashCodeBuilder under multi-threaded high load.
> I narrowed this down to the following attached test case.
> When I dug into the code, I found the problem was solved by commenting out the isRegistered
method (though this would break the infinite loop problem).
> ( I did a lot of other digging that I wont bore you with).
> So instead I replaced the HashSet with an ArrayList and just added the object, rather
than the toIdentityHashCodeInteger(object)
> This results in about 5 lines of change.  
> My suspicion is that System.identityHashCode does not return unique values (it is after
all a hashcode method).  The code assumes it will return a unique value and this causes the
problem at high loads.
> The downside is a List vs. a Set, but I believe this is necessary.
> I'd like to submit this fix and have it verified (and perhaps improved).  I am convinced
it is a necessary fix which we have seen show up under high loads.
> Kindest regards, 
> Andrew.

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message