[jboss-jira] [JBoss JIRA] Updated: (JBMESSAGING-1812) Thread.sleep() is called with lock held in class ServerManagement
Wendy Feng (JIRA)
jira-events at lists.jboss.org
Wed Jun 30 01:57:46 EDT 2010
[ https://jira.jboss.org/browse/JBMESSAGING-1812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Wendy Feng updated JBMESSAGING-1812:
------------------------------------
Original Estimate: 1 hour
Remaining Estimate: 1 hour
> Thread.sleep() is called with lock held in class ServerManagement
> -----------------------------------------------------------------
>
> Key: JBMESSAGING-1812
> URL: https://jira.jboss.org/browse/JBMESSAGING-1812
> Project: JBoss Messaging
> Issue Type: Bug
> Components: Tests and Performance
> Affects Versions: 2.0.0.beta4
> Reporter: Wendy Feng
> Original Estimate: 1 hour
> Remaining Estimate: 1 hour
>
> ServerManagement has unefficient code as follow:
> public static synchronized void kill(int i) throws Exception
> {
> ...
> try
> {
> while (true)
> {
> server.ping();
> log.debug("server " + i + " still alive ...");
> Thread.sleep(100);
> }
> }
> catch (Throwable e)
> {
> //Ok
> }
> Thread.sleep(300);
> log.info("server " + i + " killed and dead");
> }
> }
> Since the kill() method has been synchronized, calling Thread.sleep() can not realease the resource to other waiting threads. It may cause poor performance or even deadlock.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list