You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by BugRat Mail System <to...@cortexity.com> on 2000/10/23 17:50:53 UTC

BugRat Report #110 - entire org.apache.tomcat.util package locks up under load

----- Sender's Comment -----
Here is an odd one....
----- End Of Sender's Comment ---------------------------
Report URL: <http://znutar.cortexity.com:8888/BugRatViewer/ShowReport/110>

Report #110 Details

Project: Tomcat
Category: Feature Requests
SubCategory: Enhancement
Class: swbug
State: linked
Priority: high
Severity: serious
Confidence: public
Environment: 
   Release: 3.1
   JVM Release: SE linux1.3.0b7
   Operating System: linux
   OS Release: 2.2
   Platform: i686

Synopsis: 
entire org.apache.tomcat.util package locks up under load

Description:
The use of the StringManager.getManager() that is everywhere in that package makes every thread compete for the lock of that class. The only reason I can see why that method is synchronized in the first place is to prevent duplicate loads of the same ResourceBundle (which would later be garbagecollected anyway...). Therefore either

a) remove the synchronization of StringManager.getManager()
b) pass the manager around within the package

Please note that this method is called MANY times by each thread when writing the reponse.