-
Sub-task
-
Resolution: Done
-
Major
-
EAP_EWP 5.1.0
-
None
-
Release Notes
-
-
Documented as Resolved Issue
After an instance is shunned from the cluster, the cache starts throwing the following exception:
java.util.concurrent.RejectedExecutionException
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:1768)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:767)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:658)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:92)
at org.jboss.cache.marshall.CommandAwareRpcDispatcher.invokeRemoteCommands(CommandAwareRpcDispatcher.java:210)
...
at org.jboss.cache.invocation.CacheInvocationDelegate.put(CacheInvocationDelegate.java:560)
This is caused by CommandAwareRpcDispatcher shutting down the "replicationProcessor" thread pool in its stop() method.
Its parent class (org.jgroups.blocks.RpcDispatcher) calls stop() when the node is shunned, and start() when it rejoins.
CommandAwareRpcDispatcher creates replicationProcessor in its constructor, so once it's terminated in stop() it never works again.