Mantis - Resin
|
|||||
Viewing Issue Advanced Details | |||||
|
|||||
ID: | Category: | Severity: | Reproducibility: | Date Submitted: | Last Update: |
1428 | major | always | 10-30-06 06:49 | 11-01-06 11:14 | |
|
|||||
Reporter: | mabbott | Platform: | |||
Assigned To: | ferg | OS: | |||
Priority: | normal | OS Version: | |||
Status: | closed | Product Version: | 3.0.19 | ||
Product Build: | Resolution: | fixed | |||
Projection: | none | ||||
ETA: | none | Fixed in Version: | 3.1.0 | ||
|
|||||
Summary: | 0001428: Locking in Jar.create() method blocks application performance | ||||
Description: |
Our application makes heavy use of JavaMail and most requests must at some point get a JavaMail Session instance. We have found very heavy lock contention (2/3 of all threads) caused by the Resin class loader resource fetch locking in the Jar.create method. A stack dump is below. This is the limiting factor in the application performance. "resin-tcp-connection-*:80-3939" daemon prio=10 tid=0x00bd3fb8 nid=0x24f13 waiting for monitor entry [0xc60fe000..0xc60ffc70] at com.caucho.vfs.Jar.create(Jar.java:124) - waiting to lock <0xd78e6ca8> (a com.caucho.util.LruCache) at com.caucho.vfs.JarPath.getJar(JarPath.java:196) at com.caucho.vfs.JarPath.canRead(JarPath.java:157) at com.caucho.loader.TreeLoader.getPath(TreeLoader.java:312) at com.caucho.loader.Loader.getResourceAsStream(Loader.java:164) at com.caucho.loader.DynamicClassLoader.getResourceAsStream(DynamicClassLoader.java:1397) at com.caucho.loader.DynamicClassLoader.getParentResourceAsStream(DynamicClassLoader.java:1419) at com.caucho.loader.DynamicClassLoader.getResourceAsStream(DynamicClassLoader.java:1386) at com.caucho.loader.DynamicClassLoader.getParentResourceAsStream(DynamicClassLoader.java:1419) at com.caucho.loader.DynamicClassLoader.getResourceAsStream(DynamicClassLoader.java:1386) at java.lang.Class.getResourceAsStream(Class.java:1998) at javax.mail.SecuritySupport12$2.run(SecuritySupport12.java:41) at java.security.AccessController.doPrivileged(Native Method) at javax.mail.SecuritySupport12.getResourceAsStream(SecuritySupport12.java:39) at javax.mail.Session.loadResource(Session.java:1033) at javax.mail.Session.loadProviders(Session.java:871) at javax.mail.Session.<init>(Session.java:191) at javax.mail.Session.getInstance(Session.java:230) |
||||
Steps To Reproduce: | |||||
Additional Information: | |||||
Relationships | |||||
Attached Files: |
Notes | |||||
|
|||||
|
|