Bugs item #856983, was opened at 2003-12-09 11:54 Message generated for change (Comment added) made by patriot1burke You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=856983&group_id=22866
Category: JBossCMP Group: v3.2 Status: Open >Resolution: Fixed Priority: 5 Submitted By: Jacy Grannis (jacyg) Assigned to: Nobody/Anonymous (nobody) Summary: Threading issue with ALL finders in JBoss 3.2.1 Initial Comment: The problem is this, when running the finder, if it uses the ReadAheadCache, it uses addFinderResults(). That method is synchronized, and, the way the system is coded, there is only one ReadAheadCache instance per CMP bean-type. So...there's this significant bottleneck when running multiple threads against the same bean.... This *clearly* can not be good. Now, I wasn't entirely sure on why there is only a single ReadAheadCache per bean-type. The read-ahead data itself is stored in the entity transaction cache. However, the paging data is stored in a single cache across all transactions. It is the management of this paging data that led to marking the method(s) synchronized on ReadAheadCache. Now, maybe there is a good reason for only having one paging cache for the whole system, I'm not sure. However, it MUST not be synchronized. It really causes problems if you have finders that return lots of results.... So...in order to remedy this, I modified JDBCStoreManager so that the getReadAheadCache() method returns different ReadAheadCache instances per transaction. I don't know if this will cause some subtler issue that I can't see, but...it certainly removes an INCREDIBLY significant bottleneck from the system. Maybe one of JBoss's developers would be able to come up with a better fix? (I'm simply not ready to assert that there wasn't a reason for sharing portions of the cache) but this does seem to remedy the problem for now. ---------------------------------------------------------------------- >Comment By: Bill Burke (patriot1burke) Date: 2003-12-09 15:46 Message: Logged In: YES user_id=176497 already fixed within 3.2.2. Synchronization has probably been removed. Get back to me if it hasn't, although I thought I removed it. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=856983&group_id=22866 ------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id=1278&alloc_id=3371&op=click _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development
