Robert Andersson created ISPN-4271:
--------------------------------------
Summary: ExecutorService may deadlock in
RpcManagerImpl.invokeRemotelyInFuture
Key: ISPN-4271
URL:
https://issues.jboss.org/browse/ISPN-4271
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 6.0.2.Final
Environment: Ubuntu 14.04
Reporter: Robert Andersson
Assignee: Dan Berindei
Priority: Minor
If the number of tasks active gets bigger than the size of the asyncExecutor workQueue,
then invokeRemotelyInFuture will deadlock.
The deadlock is caused by DefaultExecutorFactory using
ThreadPoolExecutor.CallerRunsPolicy(), so when the workQueue overflows,
invokeRemotelyInFuture ends up blocking in futureSet.await() because it never gets to
futureSet.countDown(). The logic basically assumes CallerRunsPolicy will never trigger.
--
This message was sent by Atlassian JIRA
(v6.2.3#6260)