[
http://jira.jboss.com/jira/browse/JBREM-658?page=comments#action_12353297 ]
Ron Sigal commented on JBREM-658:
---------------------------------
According to
http://altair.cs.oswego.edu/pipermail/concurrency-interest/2004-September...,
"in certain circumstances the combination of PooledExecutor with BoundedLinkedQueue
with a waitWhenBlocked policy can lead to deadlock"
Therefore, changed BasicThreadPool blocking policy to RUN in org.jboss.remoting.Client and
org.jboss.remoting.ServerInvoker. This means that if the threads and queue in the thread
pool are exhausted, the request will be executed on the calling thread.
In the course of testing the changes, a race condition in Client.getOnewayThreadpool() and
ServerInvoker.getOnewayThreadpool() was discovered that can lead to the creation of
multiple thread pools. The body of those methods has been placed in a synchronized
block.
Unit tests: org.jboss.test.remoting.oneway.OnewayThreadPoolTestCase.
bug in oneway thread pool under heavy load
------------------------------------------
Key: JBREM-658
URL:
http://jira.jboss.com/jira/browse/JBREM-658
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: transport
Affects Versions: 1.4.5.GA, 2.2.0.Alpha4
Reporter: Tom Elrod
Assigned To: Ron Sigal
Fix For: 2.2.0.Beta1 (Bluto)
Per forum thread, there looks to be a bug in concurrent lib (deadlock in
BlockedLinkedQueue). Will either need to look for a newer version with fix or a
replacement for the default thread pool being used for oneway invocations.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira