[
https://issues.apache.org/jira/browse/TAPESTRY-2530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12619244#action_12619244 ]
Marcus Schulte commented on TAPESTRY-2530:
------------------------------------------
From looking at dump_415.zip, one can see that thread "http-11080-Processor198" holds a lock on object <0x7bf1ecb0> (the page-pool) while constructing a new instance of that page.
A whole lot of threads can be seen waiting for that exact lock. The reason for this is that all the relevant code in GenericKeyedObjectPool.borrowObject() as well as in GKOP.returnObject() is synchronized on the pool itself.
Thus, the construction of a new page currently blocks any other thread from borrowing *any other* page, existant or not, from the pool. This is obviously unnecessary and I'd expect it to be fatal under very high load.
Stefan, I could provide you with a quick patch without any warranty to try out. Are you interested?
> Possible performance bottleneck in PageSource.makeObject()
> ----------------------------------------------------------
>
> Key: TAPESTRY-2530
> URL:
https://issues.apache.org/jira/browse/TAPESTRY-2530> Project: Tapestry
> Issue Type: Bug
> Affects Versions: 4.1.2, 4.1.5
> Environment: JDK 1.5.0_14 64 bit, Tomcat 5.5.26
> Reporter: Stefan Koelmann
> Priority: Critical
> Attachments: dump_415.zip, threaddump.zip
>
>
> We recently migrated from Tapestry 3 to Tapestry 4.1.2 and are experiencing severe performance problems with mediocre load.
> At some point our servers start creating new threads until the Tomcat reaches the maximum of 500 live threads. When examining the thread dump, we find one thread holding a lock at the GenericKeyedObjectPool, while hundreds of other threads are waiting to aquire just this lock.
> It seems the locking thread is constructig a page from a synchronized context and needs some time to do so, and this leads to the complete application locking up in no time. See the threaddump attached.
> We already tried an upgrade to commons-pool 1.4 with no real effect.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail:
dev-unsubscribe@...
For additional commands, e-mail:
dev-help@...