[jboss-cvs] JBossCache/src/org/jboss/cache ...
Manik Surtani
msurtani at jboss.com
Fri Nov 24 09:19:30 EST 2006
User: msurtani
Date: 06/11/24 09:19:30
Modified: src/org/jboss/cache Tag: Branch_JBossCache_1_3_0
TreeCache.java
Log:
Fixes to JBCACHE-875
Revision Changes Path
No revision
No revision
1.142.2.3 +40 -3 JBossCache/src/org/jboss/cache/TreeCache.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TreeCache.java
===================================================================
RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/TreeCache.java,v
retrieving revision 1.142.2.2
retrieving revision 1.142.2.3
diff -u -b -r1.142.2.2 -r1.142.2.3
--- TreeCache.java 23 Nov 2006 18:49:38 -0000 1.142.2.2
+++ TreeCache.java 24 Nov 2006 14:19:30 -0000 1.142.2.3
@@ -7,6 +7,7 @@
package org.jboss.cache;
import EDU.oswego.cs.dl.util.concurrent.CopyOnWriteArraySet;
+import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jboss.cache.config.CacheLoaderConfig;
@@ -60,7 +61,7 @@
* @author <a href="mailto:manik at jboss.org">Manik Surtani (manik at jboss.org)</a>
* @author Brian Stansberry
* @author Daniel Huang (dhuang at jboss.org)
- * @version $Id: TreeCache.java,v 1.142.2.2 2006/11/23 18:49:38 msurtani Exp $
+ * @version $Id: TreeCache.java,v 1.142.2.3 2006/11/24 14:19:30 msurtani Exp $
* <p/>
*/
public class TreeCache extends ServiceMBeanSupport implements TreeCacheMBean, Cloneable, MembershipListener
@@ -300,6 +301,8 @@
*/
protected final Set activationChangeNodes = new HashSet();
+ private Map removedNodes = new ConcurrentHashMap();
+
static
{
try
@@ -1132,6 +1135,11 @@
return this;
}
+ public Map getRemovedNodesMap()
+ {
+ return removedNodes;
+ }
+
/**
* Fetch the group state from the current coordinator. If successful, this will trigger setState().
*/
@@ -3061,7 +3069,13 @@
//added so I can get nodes internally without triggering stuff
public DataNode peek(Fqn fqn)
{
- return findInternal(fqn);
+ DataNode n = findInternal(fqn);
+ if (n == null)
+ {
+ // check the deleted nodes map
+ n = (DataNode) removedNodes.get(fqn);
+ }
+ return n;
}
/**
@@ -3551,6 +3565,17 @@
Map children;
children = root.getChildren();
+
+ sb.append("Root lock: ");
+
+ if(root.isLocked()) {
+ sb.append("\t(");
+ root.getLock().toString(sb);
+ sb.append(")");
+ }
+
+ sb.append("\n");
+
if (children != null && children.size() > 0)
{
Collection nodes = children.values();
@@ -3561,6 +3586,18 @@
}
} else
sb.append(SEPARATOR);
+ if (!removedNodes.isEmpty())
+ {
+ sb.append("\n\nPlus the following locks on removed nodes:\n");
+ for (Iterator it = removedNodes.keySet().iterator(); it.hasNext();)
+ {
+ Fqn f = (Fqn) it.next();
+ DataNode dn = (DataNode) removedNodes.get(f);
+ sb.append(" ");
+ sb.append(f);
+ dn.printLockInfo(sb, indent);
+ }
+ }
return sb.toString();
}
@@ -3569,7 +3606,7 @@
*/
public int getNumberOfLocksHeld()
{
- return numLocks(root);
+ return numLocks(root) + removedNodes.size();
}
More information about the jboss-cvs-commits
mailing list