[jbosscache-commits] JBoss Cache SVN: r8232 - in core/trunk/src/main/java/org/jboss/cache: remoting/jgroups and 1 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Thu Sep 17 09:50:31 EDT 2009


Author: mircea.markus
Date: 2009-09-17 09:50:31 -0400 (Thu, 17 Sep 2009)
New Revision: 8232

Modified:
   core/trunk/src/main/java/org/jboss/cache/RPCManagerImpl.java
   core/trunk/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java
   core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferGenerator.java
   core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferManager.java
Log:
[JBCACHE-1538] - fixed concurrent startup failure. Issue was caused by state transfer request might happen before the component registry is fully started.

Modified: core/trunk/src/main/java/org/jboss/cache/RPCManagerImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RPCManagerImpl.java	2009-09-16 07:27:47 UTC (rev 8231)
+++ core/trunk/src/main/java/org/jboss/cache/RPCManagerImpl.java	2009-09-17 13:50:31 UTC (rev 8232)
@@ -382,7 +382,7 @@
                   channel.connect(configuration.getClusterName(), null, null, configuration.getStateRetrievalTimeout());
                   if (log.isInfoEnabled()) log.info("Cache local address is " + getLocalAddress());
 
-                  if (getMembers().size() > 1) messageListener.waitForState();
+                  if (getMembers().size() > 1 && !isCoordinator()) messageListener.waitForState();
                }
                catch (ChannelException e)
                {
@@ -637,6 +637,13 @@
             throw new CacheException("Failed to create multiplexed channel using stack " + stackName, e);
          }
       }
+      if (trace) {
+         if (muxchannel == null) {
+            log.trace("Null mux channel!");
+         } else {
+            log.trace("Using multiplex channel: " + muxchannel.printProtocolSpec(true));
+         }
+      }
 
       return muxchannel;
    }

Modified: core/trunk/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java	2009-09-16 07:27:47 UTC (rev 8231)
+++ core/trunk/src/main/java/org/jboss/cache/remoting/jgroups/ChannelMessageListener.java	2009-09-17 13:50:31 UTC (rev 8232)
@@ -153,6 +153,7 @@
 
    public byte[] getState()
    {
+      if (log.isTraceEnabled()) log.trace("State retrieval request received");
       MarshalledValueOutputStream out = null;
       byte[] result;
       ExposedByteArrayOutputStream baos = new ExposedByteArrayOutputStream(16 * 1024);

Modified: core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferGenerator.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferGenerator.java	2009-09-16 07:27:47 UTC (rev 8231)
+++ core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferGenerator.java	2009-09-17 13:50:31 UTC (rev 8232)
@@ -59,10 +59,11 @@
       this.cache = cache;
    }
 
-   @Start(priority = 18)
+   @Start(priority = 14)
    void start()
    {
       this.internalFqns = cache.getInternalFqns();
+      log.trace("LegacyStateTransferGenerator.start: internalFqn is " +  internalFqns);
    }
 
    public void generateState(ObjectOutputStream out, Object rootNode, boolean generateTransient,
@@ -172,6 +173,10 @@
 
    protected void generateNodeDataList(NodeSPI<?, ?> node, List<NodeData> list) throws Exception
    {
+      if (log.isTraceEnabled()) {
+         log.trace("generateNodeDataList: internalFqns are:" + internalFqns + ", node is: " + node);
+      }
+
       if (internalFqns.contains(node.getFqn()))
       {
          return;

Modified: core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferManager.java	2009-09-16 07:27:47 UTC (rev 8231)
+++ core/trunk/src/main/java/org/jboss/cache/statetransfer/LegacyStateTransferManager.java	2009-09-17 13:50:31 UTC (rev 8232)
@@ -21,17 +21,19 @@
  */
 package org.jboss.cache.statetransfer;
 
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.jboss.cache.CacheException;
 import org.jboss.cache.Fqn;
 import org.jboss.cache.NodeSPI;
 import org.jboss.cache.RegionEmptyException;
-import org.jboss.cache.util.CachePrinter;
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.lock.LockManager;
 import static org.jboss.cache.lock.LockType.READ;
 import org.jboss.cache.lock.TimeoutException;
 import org.jboss.cache.marshall.InactiveRegionException;
+import org.jboss.cache.util.CachePrinter;
 
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
@@ -45,6 +47,8 @@
 @Deprecated
 public class LegacyStateTransferManager extends DefaultStateTransferManager
 {
+   private static Log log = LogFactory.getLog(LegacyStateTransferManager.class);
+
    protected LockManager lockManager;
    private boolean usePut;  // for JBCACHE-131
 



More information about the jbosscache-commits mailing list