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
Show replies by date