[jbosscache-commits] JBoss Cache SVN: r8025 - in core/trunk/src: test/java/org/jboss/cache/buddyreplication and 1 other directory.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Thu Apr 30 06:33:33 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-04-30 06:33:33 -0400 (Thu, 30 Apr 2009)
New Revision: 8025
Modified:
core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java
core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyFqnTransformerTest.java
Log:
[JBCACHE-1507] (IllegalArgumentException during BuddyManager handling of removed node) Fixed BuddyFqnTransformer + added unit test
Modified: core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java 2009-04-29 22:08:39 UTC (rev 8024)
+++ core/trunk/src/main/java/org/jboss/cache/buddyreplication/BuddyFqnTransformer.java 2009-04-30 10:33:33 UTC (rev 8025)
@@ -102,7 +102,10 @@
if (!isBackupFqn(fqn)) return fqn;
if (fqn.equals(BUDDY_BACKUP_SUBTREE_FQN)) return Fqn.ROOT;
// remove the first 2 (or 3 in the case of a dead backup region) elements
- return fqn.getSubFqn(isDeadBackupFqn(fqn) ? 3 : 2, fqn.size());
+ boolean isDead = isDeadBackupFqn(fqn);
+ int fqnSz = fqn.size();
+ if (isDead && fqnSz == 2) return Fqn.ROOT;
+ return fqn.getSubFqn(isDead ? 3 : 2, fqnSz);
}
/**
Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyFqnTransformerTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyFqnTransformerTest.java 2009-04-29 22:08:39 UTC (rev 8024)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyFqnTransformerTest.java 2009-04-30 10:33:33 UTC (rev 8025)
@@ -39,4 +39,18 @@
{
assert Fqn.ROOT == buddyFqnTransformer.getBackupRootFromFqn(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN);
}
+
+ public void testGetActualFqnOnDeadBackup()
+ {
+ Fqn deadBackup = Fqn.fromString("/_BUDDY_BACKUP_/1.2.3.4_5678:DEAD/5/a/b/c/d");
+ Fqn actualFqn = Fqn.fromString("/a/b/c/d");
+ assert actualFqn.equals(buddyFqnTransformer.getActualFqn(deadBackup));
+ }
+
+ public void testGetActualFqnOnIncompleteDeadBackup()
+ {
+ Fqn deadBackup = Fqn.fromString("/_BUDDY_BACKUP_/1.2.3.4_5678:DEAD");
+ Fqn actualFqn = Fqn.ROOT;
+ assert actualFqn.equals(buddyFqnTransformer.getActualFqn(deadBackup));
+ }
}
More information about the jbosscache-commits
mailing list