[jbosscache-commits] JBoss Cache SVN: r6153 - in core/trunk/src: main/java/org/jboss/cache/buddyreplication and 6 other directories.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Wed Jul 2 09:39:16 EDT 2008
Author: manik.surtani at jboss.com
Date: 2008-07-02 09:39:16 -0400 (Wed, 02 Jul 2008)
New Revision: 6153
Modified:
core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java
core/trunk/src/main/java/org/jboss/cache/NodeSPI.java
core/trunk/src/main/java/org/jboss/cache/RegionManager.java
core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java
core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java
core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java
core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java
core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java
core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java
core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java
core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java
Log:
Created a new getParentDirect() SPI call
Modified: core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -374,7 +374,8 @@
// mark the node to be removed (and all children) as invalid so anyone holding a direct reference to it will
// be aware that it is no longer valid.
n.setValid(false, true);
- return n.getParent().removeChildDirect(n.getFqn().getLastElement());
+ NodeSPI parent = peek(f.getParent(), true);
+ return parent.removeChildDirect(n.getFqn().getLastElement());
}
}
else
@@ -415,7 +416,7 @@
{
NodeSPI targetNode = peek(fqn, false, true);
if (targetNode == null) return;
- NodeSPI parentNode = targetNode.getParent();
+ NodeSPI parentNode = targetNode.getParentDirect();
targetNode.setValid(false, false);
if (parentNode != null)
{
Modified: core/trunk/src/main/java/org/jboss/cache/NodeSPI.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/NodeSPI.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/NodeSPI.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -456,7 +456,7 @@
* @return parent node
* @see Node#getParent()
*/
- NodeSPI<K, V> getParent();
+ NodeSPI<K, V> getParentDirect();
/**
* @return true if the node has one or more child nodes; false otherwise.
Modified: core/trunk/src/main/java/org/jboss/cache/RegionManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionManager.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/RegionManager.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -609,7 +609,7 @@
// Remove the subtree from the main cache and any buddy backup trees
for (Fqn subtree : list)
{
- subtreeRoot = cache.peek(subtree, false, false);
+ subtreeRoot = cache.peek(subtree, false);
if (subtreeRoot != null)
{
// Acquire locks
@@ -618,7 +618,7 @@
subtreeLocked = lockManager.lockAll(subtreeRoot, WRITE, owner, stateFetchTimeout);
// Lock the parent, as we're about to write to it
- parent = subtreeRoot.getParent();
+ parent = subtreeRoot.getParentDirect();
if (parent != null) parentLocked = lockManager.lock(parent.getFqn(), WRITE, owner, stateFetchTimeout);
// Remove the subtree
Modified: core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -514,7 +514,7 @@
else
{
NodeSPI child = getChildDirect(f);
- return child != null && child.getParent().removeChildDirect(f.getLastElement());
+ return child != null && child.getParentDirect().removeChildDirect(f.getLastElement());
}
}
Modified: core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyManager.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -13,6 +13,7 @@
import org.jboss.cache.DataContainer;
import org.jboss.cache.Fqn;
import org.jboss.cache.Node;
+import org.jboss.cache.NodeSPI;
import org.jboss.cache.RPCManager;
import org.jboss.cache.Region;
import org.jboss.cache.RegionEmptyException;
@@ -48,7 +49,18 @@
import org.jgroups.util.Util;
import java.io.ByteArrayInputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
+import java.util.Vector;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
@@ -1020,7 +1032,7 @@
}
- private void migrateDefunctData(Node backupRoot, Address dataOwner)
+ private void migrateDefunctData(NodeSPI backupRoot, Address dataOwner)
{
Fqn defunctBackupRootFqn = getDefunctBackupRootFqn(dataOwner);
@@ -1035,7 +1047,7 @@
}
cache.getInvocationContext().getOptionOverrides().setCacheModeLocal(true);
- backupRoot.getParent().removeChild(backupRoot.getFqn().getLastElement());
+ backupRoot.getParentDirect().removeChild(backupRoot.getFqn().getLastElement());
}
private Fqn getDefunctBackupRootFqn(Address dataOwner)
@@ -1169,7 +1181,7 @@
{
BuddyGroup bg = buddyGroupsIParticipateIn.remove(a);
Fqn backupRootFqn = buddyFqnTransformer.getBackupRoot(bg.getDataOwner());
- Node backupRoot = cache.getNode(backupRootFqn);
+ NodeSPI backupRoot = cache.getNode(backupRootFqn);
if (backupRoot != null)
{
// could be a race condition where the backup region has been removed because we have been removed
Modified: core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/commands/pessimistic/write/PessRemoveNodeCommand.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -38,7 +38,7 @@
// now record rollback info.
if (globalTransaction != null && found)
{
- NodeSPI parentNode = targetNode.getParent();
+ NodeSPI parentNode = targetNode.getParentDirect();
prepareForRollback(parentNode);
}
return found;
Modified: core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/commands/write/MoveCommand.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -102,7 +102,7 @@
if (trace) log.trace("Moving " + fqn + " to sit under " + to);
- NodeSPI oldParent = node.getParent();
+ NodeSPI oldParent = (NodeSPI) node.getParent();
Object nodeName = toMoveFqn.getLastElement();
// now that we have the parent and target nodes:
Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/OptimisticValidatorInterceptor.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -169,7 +169,7 @@
if (!useTombstones)
{
// don't retain the tombstone
- NodeSPI parent = underlyingNode.getParent();
+ NodeSPI parent = underlyingNode.getParentDirect();
if (parent == null)
{
throw new CacheException("Underlying node " + underlyingNode + " has no parent");
@@ -267,7 +267,7 @@
private void validateNodeAndParents(NodeSPI node)
{
node.setValid(true, false);
- if (!node.getFqn().isRoot()) validateNodeAndParents(node.getParent());
+ if (!node.getFqn().isRoot()) validateNodeAndParents(node.getParentDirect());
}
private void performVersionUpdate(NodeSPI underlyingNode, WorkspaceNode workspaceNode)
Modified: core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/main/java/org/jboss/cache/invocation/NodeInvocationDelegate.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -237,6 +237,11 @@
return spi.getNode(f.getParent());
}
+ public NodeSPI<K, V> getParentDirect()
+ {
+ return node.getParent();
+ }
+
public Set<Node<K, V>> getChildren()
{
assertValid();
Modified: core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/test/java/org/jboss/cache/lock/PessimisticLockTest.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -7,8 +7,8 @@
import org.jboss.cache.NodeSPI;
import static org.jboss.cache.lock.LockType.READ;
import static org.jboss.cache.lock.LockType.WRITE;
+import org.jboss.cache.transaction.DummyTransactionManagerLookup;
import org.jboss.cache.util.TestingUtil;
-import org.jboss.cache.transaction.DummyTransactionManagerLookup;
import static org.testng.AssertJUnit.assertFalse;
import static org.testng.AssertJUnit.assertTrue;
import org.testng.annotations.AfterMethod;
@@ -65,10 +65,10 @@
assertFalse(lockManager.isLocked(n, READ));
assertTrue(lockManager.isLocked(n, WRITE));
- assertTrue(lockManager.isLocked(n.getParent(), READ));
- assertFalse(lockManager.isLocked(n.getParent(), WRITE));
- assertTrue(lockManager.isLocked(n.getParent().getParent(), READ));
- assertFalse(lockManager.isLocked(n.getParent().getParent(), WRITE));
+ assertTrue(lockManager.isLocked(n.getParentDirect(), READ));
+ assertFalse(lockManager.isLocked(n.getParentDirect(), WRITE));
+ assertTrue(lockManager.isLocked(n.getParentDirect().getParentDirect(), READ));
+ assertFalse(lockManager.isLocked(n.getParentDirect().getParentDirect(), WRITE));
tm.commit();
@@ -87,10 +87,10 @@
assertTrue(lockManager.isLocked(n, READ));
assertFalse(lockManager.isLocked(n, WRITE));
- assertTrue(lockManager.isLocked(n.getParent(), READ));
- assertFalse(lockManager.isLocked(n.getParent(), WRITE));
- assertTrue(lockManager.isLocked(n.getParent().getParent(), READ));
- assertFalse(lockManager.isLocked(n.getParent().getParent(), WRITE));
+ assertTrue(lockManager.isLocked(n.getParentDirect(), READ));
+ assertFalse(lockManager.isLocked(n.getParentDirect(), WRITE));
+ assertTrue(lockManager.isLocked(n.getParentDirect().getParentDirect(), READ));
+ assertFalse(lockManager.isLocked(n.getParentDirect().getParentDirect(), WRITE));
tm.commit();
@@ -109,10 +109,10 @@
assertFalse(lockManager.isLocked(n, READ));
assertTrue(lockManager.isLocked(n, WRITE));
- assertTrue(lockManager.isLocked(n.getParent(), READ));
- assertFalse(lockManager.isLocked(n.getParent(), WRITE));
- assertTrue(lockManager.isLocked(n.getParent().getParent(), READ));
- assertFalse(lockManager.isLocked(n.getParent().getParent(), WRITE));
+ assertTrue(lockManager.isLocked(n.getParentDirect(), READ));
+ assertFalse(lockManager.isLocked(n.getParentDirect(), WRITE));
+ assertTrue(lockManager.isLocked(n.getParentDirect().getParentDirect(), READ));
+ assertFalse(lockManager.isLocked(n.getParentDirect().getParentDirect(), WRITE));
tm.commit();
Modified: core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java 2008-07-02 12:01:41 UTC (rev 6152)
+++ core/trunk/src/test/java/org/jboss/cache/mock/NodeSpiMock.java 2008-07-02 13:39:16 UTC (rev 6153)
@@ -254,11 +254,16 @@
throw new UnsupportedOperationException();
}
- public NodeSPI getParent()
+ public NodeSPI getParentDirect()
{
return parent;
}
+ public Node getParent()
+ {
+ return parent;
+ }
+
public boolean hasChildrenDirect()
{
return !children.isEmpty();
More information about the jbosscache-commits
mailing list