We have (quite) random hangs in TreeCache.

TreeCache.getGlobalTransactionFromThread calls thread2GtxMap_.get(..)
which never returns. Using JDB and reading java.util.HashMap sources
it seems that we have a never ending loop of entries in the maps
index table. The only reason I could figure out is that HashMap, being
unsynchronized, is skrewed by multiple simultaneous puts by
getGlobalTransactionFromThread.

Is there any reason why unsynchronized Map is used for thread2GtxMap_
and is there some other kind of synchronization protection that
is not apparent from TreeCache.java itself?

And finally, if there are any other unsynchronized HashMaps in use
they might cause different kinds of hard to find bugs.

-- 
Tuomas Kantonen


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to