[
https://jira.jboss.org/browse/JBMESSAGING-1812?page=com.atlassian.jira.pl...
]
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