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

Reply via email to