From: Scott M S. <st...@us...> - 2004-12-30 17:12:01
|
User: starksm Date: 04/12/30 09:11:53 Modified: src/main/org/jboss/test/cache/test/eviction Tag: Branch_3_2 ConcurrentEvictAndRemoveTestCase.java DummyEvictionPolicy.java LRUAlgorithmUnitTestCase.java LRUPolicyUnitTestCase.java RegionManagerUnitTestCase.java RegionUnitTestCase.java ReplicatedLRUPolicyUnitTestCase.java Log: Merge the 1.2 jboss cache changes from the 4.0 branch with the remoting dependency removed. Revision Changes Path No revision No revision 1.1.2.3 +22 -15 jbosstest/src/main/org/jboss/test/cache/test/eviction/ConcurrentEvictAndRemoveTestCase.java Index: ConcurrentEvictAndRemoveTestCase.java =================================================================== RCS file: /cvsroot/jboss/jbosstest/src/main/org/jboss/test/cache/test/eviction/ConcurrentEvictAndRemoveTestCase.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- ConcurrentEvictAndRemoveTestCase.java 16 Oct 2004 20:00:23 -0000 1.1.2.2 +++ ConcurrentEvictAndRemoveTestCase.java 30 Dec 2004 17:11:51 -0000 1.1.2.3 @@ -19,12 +19,10 @@ import org.jboss.cache.PropertyConfigurator; import org.jboss.cache.TreeCache; import org.jboss.cache.eviction.RegionManager; -import org.jboss.util.NestedRuntimeException; - /** * Local mode test for concurrent EvictionTimerTask evicting nodes and Client removing nodes from TreeCache. * - * @version $Revision: 1.1.2.2 $ + * @version $Revision: 1.1.2.3 $ * @author <a href="mailto:uwe...@gm...">Uwe Lamprecht</a> July 29 2004 */ public final class ConcurrentEvictAndRemoveTestCase extends TestCase @@ -32,6 +30,17 @@ private static final Logger logger = Logger.getLogger(ConcurrentEvictAndRemoveTestCase.class.getName()); private TreeCache cache; + + static void log(String msg) { + System.out.println(msg); + logger.info(msg); + } + + void err(String msg) { + System.err.println(msg); + logger.error(msg); + } + public ConcurrentEvictAndRemoveTestCase(String name) { super(name); @@ -56,8 +65,7 @@ final long MAX_LOOP_TIME = 4000; // value to experiment;) int numberOfInitialCreatedNodes = 0; - System.out.println("*** Start Test: ConcurrentEvictAndRemoveTest ***"); - logger.info("*** Start Test: ConcurrentEvictAndRemoveTest ***"); + log("*** Start Test: ConcurrentEvictAndRemoveTest ***"); // creation of nodes { @@ -72,7 +80,7 @@ } } numberOfInitialCreatedNodes = i; - logger.info( + log( "nodes created: " + numberOfInitialCreatedNodes + " time: " @@ -101,7 +109,7 @@ break; } } - logger.info( + log( "nodes removed: " + numberCacheHitSuccess + ", total cache hits: " @@ -114,7 +122,7 @@ // create/remove nodes (-->queue overflow and blocking) { - logger.info("create put/remove events"); + log("create put/remove events"); final int SEQUENCE_SIZE = 10000; // number of nodes processed by a single thread final long TIMEOUT_DEFAULT = 100000; final int MAX_TIMEOUT_FACTOR = 10; @@ -136,19 +144,18 @@ thread.join(timeout); if (thread.isAlive()) { // Timeout occurred; thread has not finished - logger.error("Timeout of " + timeout + " ms exceeded for sequence of put/remove operations."); + err("Timeout of " + timeout + " ms exceeded for sequence of put/remove operations."); fail("Timeout of " + timeout + " ms exceeded for sequence of put/remove operations."); } else { // Finished } } catch(InterruptedException ignore) { - logger.error("Thread join interrupted."); + err("Thread join interrupted."); } } } - System.out.println("*** Successfully finished! ***"); - logger.info("*** Successfully finished! ***"); + log("*** Successfully finished! ***"); } public static Test suite() throws Exception { @@ -187,7 +194,7 @@ } public void run() { StopWatch stopWatch = new StopWatch(); - logger.info( + log( "process node range: " + this.start + "/" @@ -205,11 +212,11 @@ if ( e instanceof RuntimeException) { throw (RuntimeException)e; } else { - throw new NestedRuntimeException(e); + throw new RuntimeException(e.getMessage()); } } previousExceutionTime = stopWatch.getTime(); - logger.info( + log( "time: " + previousExceutionTime + " ms" 1.1.2.2 +16 -16 jbosstest/src/main/org/jboss/test/cache/test/eviction/DummyEvictionPolicy.java Index: DummyEvictionPolicy.java =================================================================== RCS file: /cvsroot/jboss/jbosstest/src/main/org/jboss/test/cache/test/eviction/DummyEvictionPolicy.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- DummyEvictionPolicy.java 12 Mar 2004 04:08:31 -0000 1.1.2.1 +++ DummyEvictionPolicy.java 30 Dec 2004 17:11:52 -0000 1.1.2.2 @@ -1,16 +1,16 @@ -package org.jboss.test.cache.test.eviction; - -import org.jboss.cache.eviction.BaseEvictionPolicy; -import org.jboss.cache.Fqn; - -/** - * @author Ben Feb 13, 2004 - */ -public class DummyEvictionPolicy extends BaseEvictionPolicy -{ - public void evict(Fqn fqn) throws Exception - { - // no-op -// throw new RuntimeException("Testing only"); - } -} +package org.jboss.test.cache.test.eviction; + +import org.jboss.cache.eviction.BaseEvictionPolicy; +import org.jboss.cache.Fqn; + +/** + * @author Ben Feb 13, 2004 + */ +public class DummyEvictionPolicy extends BaseEvictionPolicy +{ + public void evict(Fqn fqn) throws Exception + { + // no-op +// throw new RuntimeException("Testing only"); + } +} 1.1.2.3 +5 -5 jbosstest/src/main/org/jboss/test/cache/test/eviction/LRUAlgorithmUnitTestCase.java Index: LRUAlgorithmUnitTestCase.java =================================================================== RCS file: /cvsroot/jboss/jbosstest/src/main/org/jboss/test/cache/test/eviction/LRUAlgorithmUnitTestCase.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -u -r1.1.2.2 -r1.1.2.3 --- LRUAlgorithmUnitTestCase.java 14 Sep 2004 05:53:43 -0000 1.1.2.2 +++ LRUAlgorithmUnitTestCase.java 30 Dec 2004 17:11:52 -0000 1.1.2.3 @@ -141,7 +141,7 @@ Fqn fqn3 = Fqn.fromString("/a/b/e"); Region region = regionManager_.getRegion("/a/b"); region.setMaxNodes(0); - region.setTimeToIdleSeconds(0); + region.setTimeToLiveSeconds(0); region.setAddedNode(fqn1); region.setAddedNode(fqn2); _sleep(2000); @@ -164,7 +164,7 @@ Fqn fqn3 = Fqn.fromString("/a/b/e"); Region region = regionManager_.getRegion("/a/b"); region.setMaxNodes(0); - region.setTimeToIdleSeconds(1); + region.setTimeToLiveSeconds(1); region.setAddedNode(fqn1); region.setAddedNode(fqn2); region.setAddedNode(fqn3); @@ -194,7 +194,7 @@ Fqn fqn3 = Fqn.fromString("/a/b/e"); Region region = regionManager_.getRegion("/a/b"); region.setMaxNodes(0); - region.setTimeToIdleSeconds(1); + region.setTimeToLiveSeconds(1); region.setAddedNode(fqn1); region.setAddedNode(fqn2); region.setAddedNode(fqn3); @@ -226,7 +226,7 @@ Fqn fqn3 = Fqn.fromString("/a/b/e"); Region region = regionManager_.getRegion("/a/b"); region.setMaxNodes(2); - region.setTimeToIdleSeconds(1); + region.setTimeToLiveSeconds(1); region.setAddedNode(fqn1); region.setAddedNode(fqn2); try { @@ -256,7 +256,7 @@ Fqn fqn3 = Fqn.fromString("/a/b/e"); Region region = regionManager_.getRegion("/a/b"); region.setMaxNodes(2); - region.setTimeToIdleSeconds(1); + region.setTimeToLiveSeconds(1); region.setAddedNode(fqn1); region.setAddedNode(fqn2); region.setRemovedNode(fqn2); 1.6.2.3 +2 -0 jbosstest/src/main/org/jboss/test/cache/test/eviction/LRUPolicyUnitTestCase.java Index: LRUPolicyUnitTestCase.java =================================================================== RCS file: /cvsroot/jboss/jbosstest/src/main/org/jboss/test/cache/test/eviction/LRUPolicyUnitTestCase.java,v retrieving revision 1.6.2.2 retrieving revision 1.6.2.3 diff -u -r1.6.2.2 -r1.6.2.3 --- LRUPolicyUnitTestCase.java 14 Sep 2004 05:53:43 -0000 1.6.2.2 +++ LRUPolicyUnitTestCase.java 30 Dec 2004 17:11:52 -0000 1.6.2.3 @@ -152,6 +152,7 @@ } } + /* public void testConcurrentPutAndEvict() throws Exception { cache_.put(ROOT_STR+ "/test1", "value", new Integer(1)); @@ -191,6 +192,7 @@ } } } + */ void _sleep(long msecs) { 1.1.2.2 +149 -89 jbosstest/src/main/org/jboss/test/cache/test/eviction/RegionManagerUnitTestCase.java Index: RegionManagerUnitTestCase.java =================================================================== RCS file: /cvsroot/jboss/jbosstest/src/main/org/jboss/test/cache/test/eviction/RegionManagerUnitTestCase.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -r1.1.2.1 -r1.1.2.2 --- RegionManagerUnitTestCase.java 12 Mar 2004 04:08:31 -0000 1.1.2.1 +++ RegionManagerUnitTestCase.java 30 Dec 2004 17:11:52 -0000 1.1.2.2 @@ -1,89 +1,149 @@ -package org.jboss.test.cache.test.eviction; - -import junit.framework.TestCase; -import junit.framework.Test; -import junit.framework.TestSuite; -import org.jboss.cache.Fqn; -import org.jboss.cache.eviction.RegionManager; -import org.jboss.cache.eviction.RegionNameConflictException; -import org.jboss.cache.eviction.Region; - -import java.util.HashMap; - -/** - * @author Ben Wang, Feb 11, 2004 - */ -public class RegionManagerUnitTestCase extends TestCase -{ - private final String DEFAULT_REGION = "/_default_"; - - public RegionManagerUnitTestCase(String s) - { - super(s); - } - - public void setUp() throws Exception - { - super.setUp(); - } - - public void tearDown() throws Exception - { - super.tearDown(); - } - - public void testCreateRegion() { - String fqn1 = "/a/b/c"; - String fqn2 = "/a/b"; - String fqn3 = "/aop"; - - RegionManager regionManager = new RegionManager(null); - try { - regionManager.createRegion(DEFAULT_REGION, null); - regionManager.createRegion(fqn1, null); - regionManager.createRegion(fqn2, null); - regionManager.createRegion(fqn3, null); - } catch (RegionNameConflictException e) { - fail("Failed to create region"); - e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. - } - - Region[] regions = regionManager.getRegions(); - assertEquals("Region size ", 4, regions.length); - } - - public void testRegionConflict() { - String fqn1 = "/a/b"; - String fqn2 = "/a/b/c"; - String fqn3 = "/aop"; - - RegionManager regionManager = new RegionManager(null); - try { - regionManager.createRegion(DEFAULT_REGION, null); - regionManager.createRegion(fqn1, null); - regionManager.createRegion(fqn2, null); - regionManager.createRegion(fqn3, null); - } catch (RegionNameConflictException e) { - Region[] regions = regionManager.getRegions(); - assertEquals("Region size ", 2, regions.length); - return; - } - fail("testRegionConflict failed"); - } - - void log(String msg) - { - System.out.println("-- " + msg); - } - - public static Test suite() - { - return new TestSuite(RegionManagerUnitTestCase.class); - } - - public static void main(String[] args) - { - junit.textui.TestRunner.run(suite()); - } - -} +package org.jboss.test.cache.test.eviction; + +import junit.framework.TestCase; +import junit.framework.Test; +import junit.framework.TestSuite; +import org.jboss.cache.Fqn; +import org.jboss.cache.eviction.RegionManager; +import org.jboss.cache.eviction.RegionNameConflictException; +import org.jboss.cache.eviction.Region; + +import java.util.HashMap; + +/** + * @author Ben Wang, Feb 11, 2004 + */ +public class RegionManagerUnitTestCase extends TestCase +{ + private final String DEFAULT_REGION = "/_default_/"; + + public RegionManagerUnitTestCase(String s) + { + super(s); + } + + public void setUp() throws Exception + { + super.setUp(); + } + + public void tearDown() throws Exception + { + super.tearDown(); + } + + public void testCreateRegion() { + String fqn1 = "/a/b/c"; + String fqn2 = "/a/b"; + String fqn3 = "/aop"; + + RegionManager regionManager = new RegionManager(null); + try { + regionManager.createRegion(DEFAULT_REGION, null); + regionManager.createRegion(fqn1, null); + regionManager.createRegion(fqn2, null); + regionManager.createRegion(fqn3, null); + } catch (RegionNameConflictException e) { + fail("Failed to create region"); + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + + Region[] regions = regionManager.getRegions(); + assertEquals("Region size ", 4, regions.length); + } + + public void testCreateRegion2() { + String fqn1 = "/a/b/c"; + String fqn2 = "/a/b/"; + + RegionManager regionManager = new RegionManager(null); + try { + regionManager.createRegion(fqn1, null); + regionManager.createRegion(fqn2, null); + } catch (RegionNameConflictException e) { + fail("Failed to create region"); + e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates. + } + + Region[] regions = regionManager.getRegions(); + assertEquals("Region size ", 2, regions.length); + assertEquals("Region 0 ", "/a/b/", regions[0].getFqn()); + assertEquals("Region 1 ", "/a/b/c/", regions[1].getFqn()); + Region region = regionManager.getRegion("/a/b/c/d"); + assertNotNull("Region ", region); + assertEquals("Region ", "/a/b/c/", region.getFqn()); + region = regionManager.getRegion("/a/b"); + assertNotNull("Region ", region); + assertEquals("Region ", "/a/b/", region.getFqn()); + region = regionManager.getRegion("/a"); + assertNull("Region ", region); + } + + public void testRegionConflict() { + String fqn1 = "/a/b"; + String fqn2 = "/a/b/c"; + String fqn3 = "/aop"; + + RegionManager regionManager = new RegionManager(null); + try { + regionManager.createRegion(DEFAULT_REGION, null); + regionManager.createRegion(fqn1, null); + regionManager.createRegion(fqn2, null); + regionManager.createRegion(fqn3, null); + } catch (RegionNameConflictException e) { + Region[] regions = regionManager.getRegions(); + assertEquals("Region size ", 2, regions.length); + return; + } + fail("testRegionConflict failed"); + } + + public void testRegionConflict2() { + String fqn1 = "/a/b/"; + String fqn2 = "/a/b/c/"; + String fqn3 = "/a/bc"; + + RegionManager regionManager = new RegionManager(null); + try { + regionManager.createRegion(fqn1, null); + regionManager.createRegion(fqn2, null); + regionManager.createRegion(fqn3, null); + } catch (RegionNameConflictException e) { + Region[] regions = regionManager.getRegions(); + assertEquals("Region size ", 1, regions.length); + return; + } + fail("testRegionConflict failed"); + } + + public void testGetRegion() { + String fqn1 = "/a/bc"; + String fqn2 = "/a/b"; + + RegionManager regionManager = new RegionManager(null); + try { + regionManager.createRegion(fqn1, null); + } catch (RegionNameConflictException e) { + fail("testRegionConflict3 failed " +e); + } + + Region region = regionManager.getRegion(fqn2); + assertNull("Region " , region); + } + + void log(String msg) + { + System.out.println("-- " + msg); + } + + public static Test suite() + { + return new TestSuite(RegionManagerUnitTestCase.class); + } + + public static void main(String[] args) + { + junit.textui.TestRunner.run(suite()); + } + +} 1.2.2.3 +91 -91 jbosstest/src/main/org/jboss/test/cache/test/eviction/RegionUnitTestCase.java Index: RegionUnitTestCase.java =================================================================== RCS file: /cvsroot/jboss/jbosstest/src/main/org/jboss/test/cache/test/eviction/RegionUnitTestCase.java,v retrieving revision 1.2.2.2 retrieving revision 1.2.2.3 diff -u -r1.2.2.2 -r1.2.2.3 --- RegionUnitTestCase.java 14 Sep 2004 05:53:43 -0000 1.2.2.2 +++ RegionUnitTestCase.java 30 Dec 2004 17:11:52 -0000 1.2.2.3 @@ -1,91 +1,91 @@ -package org.jboss.test.cache.test.eviction; - -import junit.framework.TestCase; -import junit.framework.Test; -import junit.framework.TestSuite; -import org.jboss.cache.Fqn; -import org.jboss.cache.eviction.Region; -import org.jboss.cache.eviction.RegionManager; -import org.jboss.cache.eviction.EvictedEventNode; - -import java.util.HashMap; - -/** - * @author Ben Wang, Feb 11, 2004 - */ -public class RegionUnitTestCase extends TestCase -{ - RegionManager regionManager_; - public RegionUnitTestCase(String s) - { - super(s); - } - - public void setUp() throws Exception - { - super.setUp(); - regionManager_ = new RegionManager(null); - regionManager_.createRegion("/a/b", null); - } - - public void tearDown() throws Exception - { - super.tearDown(); - } - - public void testAddedQueue() { - Fqn fqn1 = Fqn.fromString("/a/b/c"); - Fqn fqn2 = Fqn.fromString("/a/b/d"); - Fqn fqn3 = Fqn.fromString("/a/b/e"); - - Region region = regionManager_.getRegion("/a/b"); - region.setAddedNode(fqn1); - region.setAddedNode(fqn2); - region.setAddedNode(fqn3); - - assertEquals("AddedNode queue size ", 3, region.nodeEventQueueSize()); - EvictedEventNode node = (EvictedEventNode)region.takeLastEventNode(); - Fqn fqn = node.getFqn(); - assertEquals("Node retrieved should be FILO ", fqn, fqn1); - assertEquals("AddedNode queue size ", 2, region.nodeEventQueueSize()); - fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); - fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); - node = ((EvictedEventNode)region.takeLastEventNode()); - assertNull("Node should be null", node); - } - - public void testEventQueue() { - Fqn fqn1 = Fqn.fromString("/a/b/c"); - Fqn fqn2 = Fqn.fromString("/a/b/d"); - Fqn fqn3 = Fqn.fromString("/a/b/e"); - - Region region = regionManager_.getRegion("/a/b"); - region.setRemovedNode(fqn1); - region.setAddedNode(fqn2); - region.setVisitedNode(fqn3); - - assertEquals("RemovedNode queue size ", 3, region.nodeEventQueueSize()); - Integer event = ((EvictedEventNode)region.takeLastEventNode()).getEvent(); - assertEquals("Node retrieved should be: ", EvictedEventNode.REMOVE_EVENT, event); - Fqn fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); - fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); - EvictedEventNode node = ((EvictedEventNode)region.takeLastEventNode()); - assertNull("Node should be null", node); - } - - void log(String msg) - { - System.out.println("-- " + msg); - } - - public static Test suite() - { - return new TestSuite(RegionUnitTestCase.class); - } - - public static void main(String[] args) - { - junit.textui.TestRunner.run(suite()); - } - -} +package org.jboss.test.cache.test.eviction; + +import junit.framework.TestCase; +import junit.framework.Test; +import junit.framework.TestSuite; +import org.jboss.cache.Fqn; +import org.jboss.cache.eviction.Region; +import org.jboss.cache.eviction.RegionManager; +import org.jboss.cache.eviction.EvictedEventNode; + +import java.util.HashMap; + +/** + * @author Ben Wang, Feb 11, 2004 + */ +public class RegionUnitTestCase extends TestCase +{ + RegionManager regionManager_; + public RegionUnitTestCase(String s) + { + super(s); + } + + public void setUp() throws Exception + { + super.setUp(); + regionManager_ = new RegionManager(null); + regionManager_.createRegion("/a/b", null); + } + + public void tearDown() throws Exception + { + super.tearDown(); + } + + public void testAddedQueue() { + Fqn fqn1 = Fqn.fromString("/a/b/c"); + Fqn fqn2 = Fqn.fromString("/a/b/d"); + Fqn fqn3 = Fqn.fromString("/a/b/e"); + + Region region = regionManager_.getRegion("/a/b"); + region.setAddedNode(fqn1); + region.setAddedNode(fqn2); + region.setAddedNode(fqn3); + + assertEquals("AddedNode queue size ", 3, region.nodeEventQueueSize()); + EvictedEventNode node = (EvictedEventNode)region.takeLastEventNode(); + Fqn fqn = node.getFqn(); + assertEquals("Node retrieved should be FILO ", fqn, fqn1); + assertEquals("AddedNode queue size ", 2, region.nodeEventQueueSize()); + fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); + fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); + node = ((EvictedEventNode)region.takeLastEventNode()); + assertNull("Node should be null", node); + } + + public void testEventQueue() { + Fqn fqn1 = Fqn.fromString("/a/b/c"); + Fqn fqn2 = Fqn.fromString("/a/b/d"); + Fqn fqn3 = Fqn.fromString("/a/b/e"); + + Region region = regionManager_.getRegion("/a/b"); + region.setRemovedNode(fqn1); + region.setAddedNode(fqn2); + region.setVisitedNode(fqn3); + + assertEquals("RemovedNode queue size ", 3, region.nodeEventQueueSize()); + Integer event = ((EvictedEventNode)region.takeLastEventNode()).getEvent(); + assertEquals("Node retrieved should be: ", EvictedEventNode.REMOVE_EVENT, event); + Fqn fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); + fqn = ((EvictedEventNode)region.takeLastEventNode()).getFqn(); + EvictedEventNode node = ((EvictedEventNode)region.takeLastEventNode()); + assertNull("Node should be null", node); + } + + void log(String msg) + { + System.out.println("-- " + msg); + } + + public static Test suite() + { + return new TestSuite(RegionUnitTestCase.class); + } + + public static void main(String[] args) + { + junit.textui.TestRunner.run(suite()); + } + +} 1.3.2.3 +0 -0 jbosstest/src/main/org/jboss/test/cache/test/eviction/ReplicatedLRUPolicyUnitTestCase.java |