[jbosscache-commits] JBoss Cache SVN: r4988 - core/trunk/src/test/java/org/jboss/cache/buddyreplication.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Fri Jan 4 12:32:54 EST 2008


Author: manik.surtani at jboss.com
Date: 2008-01-04 12:32:54 -0500 (Fri, 04 Jan 2008)
New Revision: 4988

Added:
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java
Log:
Added test to ensure proper cleanup after gravitation

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java	2008-01-04 17:32:54 UTC (rev 4988)
@@ -0,0 +1,55 @@
+package org.jboss.cache.buddyreplication;
+
+import org.jboss.cache.CacheSPI;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.util.CachePrinter;
+import org.testng.annotations.Test;
+
+/**
+ * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
+ * @since 2.1.0
+ */
+ at Test(groups = "functional")
+public class GravitationCleanupTest extends BuddyReplicationTestsBase
+{
+   Fqn fqn = Fqn.fromString("/a/b/c");
+   Object key = "key", value = "value";
+
+   public void testStaleRegionOnDataOwner() throws Exception
+   {
+      caches = createCaches(1, 2, false, true, false);
+
+      // add some stuff on the primary
+      CacheSPI dataOwner = caches.get(0);
+      CacheSPI buddy = caches.get(1);
+
+      dataOwner.put(fqn, key, value);
+
+      System.out.println("dataOwner: " + CachePrinter.printCacheLockingInfo(dataOwner));
+      System.out.println("buddy: " + CachePrinter.printCacheLockingInfo(buddy));
+
+      assert dataOwner.peek(fqn, false) != null : "Should have data";
+      assert dataOwner.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(buddy.getLocalAddress())), false) != null : "Should have backup node for buddy";
+      assert dataOwner.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(dataOwner.getLocalAddress())), false) == null : "Should NOT have backup node for self!";
+
+      assert buddy.peek(fqn, false) == null : "Should not have data";
+      assert buddy.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(buddy.getLocalAddress())), false) == null : "Should NOT have backup node for self!";
+      assert buddy.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(dataOwner.getLocalAddress())), false) != null : "Should have backup node for buddy";
+      assert buddy.peek(BuddyManager.getBackupFqn(dataOwner.getLocalAddress(), fqn), false) != null : "Should have backup data";
+
+      // now do a gravitate call.
+      assert buddy.get(fqn, key).equals(value) : "Data should have gravitated!";
+
+      System.out.println("dataOwner: " + CachePrinter.printCacheLockingInfo(dataOwner));
+      System.out.println("buddy: " + CachePrinter.printCacheLockingInfo(buddy));
+
+      assert buddy.peek(fqn, false) != null : "Should have data";
+      assert buddy.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(dataOwner.getLocalAddress())), false) != null : "Should have backup node for buddy";
+      assert buddy.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(buddy.getLocalAddress())), false) == null : "Should NOT have backup node for self!";
+
+      assert dataOwner.peek(fqn, false) == null : "Should not have data";
+      assert dataOwner.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(dataOwner.getLocalAddress())), false) == null : "Should NOT have backup node for self!";
+      assert dataOwner.peek(new Fqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, BuddyManager.getGroupNameFromAddress(buddy.getLocalAddress())), false) != null : "Should have backup node for buddy";
+      assert dataOwner.peek(BuddyManager.getBackupFqn(buddy.getLocalAddress(), fqn), false) != null : "Should have backup data";
+   }
+}




More information about the jbosscache-commits mailing list