[ https://issues.apache.org/jira/browse/TAP5-1650?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105783#comment-13105783 ]
Hudson commented on TAP5-1650: ------------------------------ Integrated in tapestry-trunk-freestyle #523 (See [https://builds.apache.org/job/tapestry-trunk-freestyle/523/]) Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool" This reverts commit 3bc03edef7c8c4839ef833b45de24251b3ad52ac. Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool" This reverts commit c0589deb1530f51567c19dfa5ebe59fcf465bb28. Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool" This reverts commit 4511f0aac12ec1b9b3f2b876c6e6adb60a581e9f. Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool" This reverts commit b33e13ed6ff474143676ccbbcdd6775019f6babb. Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool" This reverts commit cec8f4ae4ddd776729f5a3a684b53b4fbb4dee15. Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool" This reverts commit 0480cd8a31f0a7b0d752615fa7c999a4db4ec0a3. Revert "Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool"" This reverts commit 5054d9ac218cdf695ca5ea90adaece5ac9bef58d. Revert "TAP5-1650: On a cold start with a large number of incoming requests, Tapestry can deadlock inside PlasticClassLoader/PlasticClassPool" This reverts commit 0480cd8a31f0a7b0d752615fa7c999a4db4ec0a3. hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171325 Files : * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171324 Files : * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171323 Files : * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171322 Files : * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassLoader.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassPool.java * /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticManager.java * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/RegistryBuilder.java * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/PlasticProxyFactoryImpl.java * /tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/PlasticProxyFactory.java * /tapestry/tapestry5/trunk/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImplTest.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171321 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171320 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171319 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java hlship : http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1171318 Files : * /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentInstantiatorSourceImpl.java > On a cold start with a large number of incoming requests, Tapestry can > deadlock inside PlasticClassLoader/PlasticClassPool > -------------------------------------------------------------------------------------------------------------------------- > > Key: TAP5-1650 > URL: https://issues.apache.org/jira/browse/TAP5-1650 > Project: Tapestry 5 > Issue Type: Bug > Components: plastic > Affects Versions: 5.3 > Reporter: Howard M. Lewis Ship > Assignee: Howard M. Lewis Ship > Priority: Critical > Labels: deadlock, performance > > Discovered during load testing; the scenario is a cold start for the > application then hitting it with large numbers of concurrent requests with no > ramp up. The deadlocks involve two methods: > PlasticClassLoader.loadClass() > PlasticClassPool.getClassInstantiator() > A proper solution would to make these methods share a single explicit Lock, > rather than be synchronized. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira