Details

    • Sub-task
    • Resolution: Done
    • Major
    • EAP_EWP 5.1.1
    • EAP_EWP 5.1.0
    • Clustering
    • None
    • Release Notes
    • Hide
      When a JBoss Cache instance configured for asynchronous serialization was shunned from the cluster, all future
      replications would fail until the cache was restarted. The cause was a naming conflict between a method and its parent class. This has been fixed by renaming method <methodname>CommandAwareRpcDispatcher.stop()</methodname> to <methodname>stopDispatcher()</methodname>.
      Show
      When a JBoss Cache instance configured for asynchronous serialization was shunned from the cluster, all future replications would fail until the cache was restarted. The cause was a naming conflict between a method and its parent class. This has been fixed by renaming method <methodname>CommandAwareRpcDispatcher.stop()</methodname> to <methodname>stopDispatcher()</methodname>.
    • Documented as Resolved Issue

    Description

      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.

      Attachments

        Activity

          People

            ozizka_jira Ondrej Zizka (Inactive)
            rhn-support-dereed Dennis Reed
            Misty Stanley-Jones Misty Stanley-Jones (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: