[jbosscache-commits] JBoss Cache SVN: r6766 - in core/trunk/src: main/java/org/jboss/cache/interceptors and 6 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Fri Sep 19 19:39:45 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-09-19 19:39:45 -0400 (Fri, 19 Sep 2008)
New Revision: 6766

Added:
   core/trunk/src/test/java/org/jboss/cache/api/mvcc/BuddyReplicationConcurrencyTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyAssignmentStateTransferTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyBackupActivationInactivationTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyGroupAssignmentTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationContentTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationFailoverTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationRejoinTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithCacheLoaderTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithPassivationTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithTransactionsTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/GravitationCleanupTest.java
Removed:
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/MvccBuddyReplicationTest.java
Modified:
   core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/LegacyDataGravitatorInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/MVCCLockingInterceptor.java
   core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java
   core/trunk/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationTestsBase.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java
   core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java
   core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java
Log:
Added BR tests for MVCC, and fixed a few MVCC/BR related issues.

Modified: core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/main/java/org/jboss/cache/DataContainerImpl.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -221,18 +221,18 @@
    public List<NodeData> buildNodeData(List<NodeData> list, NodeSPI node, boolean mapSafe)
    {
       if (usingMvcc)
-         return buildNodeData(list, node.getDelegationTarget(), mapSafe);
+         return buildNodeData(list, node.getDelegationTarget(), node.getData(), mapSafe);
       else
          return buildNodeDataLegacy(list, node, mapSafe);
    }
 
-   private List<NodeData> buildNodeData(List<NodeData> list, InternalNode<?, ?> node, boolean mapSafe)
+   private List<NodeData> buildNodeData(List<NodeData> list, InternalNode<?, ?> node, Map dataInNode, boolean mapSafe)
    {
-      NodeData data = new NodeData(buddyFqnTransformer.getActualFqn(node.getFqn()), node.getData(), mapSafe);
+      NodeData data = new NodeData(buddyFqnTransformer.getActualFqn(node.getFqn()), dataInNode, mapSafe);
       list.add(data);
       for (InternalNode childNode : node.getChildrenMap().values())
       {
-         buildNodeData(list, childNode, true);
+         buildNodeData(list, childNode, childNode.getData(), true);
       }
       return list;
    }

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/CacheLoaderInterceptor.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -6,8 +6,6 @@
 import org.jboss.cache.InternalNode;
 import org.jboss.cache.InvocationContext;
 import org.jboss.cache.NodeSPI;
-import org.jboss.cache.jmx.annotations.ManagedAttribute;
-import org.jboss.cache.jmx.annotations.ManagedOperation;
 import org.jboss.cache.commands.read.GetChildrenNamesCommand;
 import org.jboss.cache.commands.read.GetDataMapCommand;
 import org.jboss.cache.commands.read.GetKeyValueCommand;
@@ -27,6 +25,8 @@
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.interceptors.base.JmxStatsCommandInterceptor;
+import org.jboss.cache.jmx.annotations.ManagedAttribute;
+import org.jboss.cache.jmx.annotations.ManagedOperation;
 import org.jboss.cache.loader.CacheLoader;
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.cache.mvcc.MVCCNodeHelper;
@@ -244,7 +244,7 @@
 
    private void loadIfNeeded(InvocationContext ctx, Fqn fqn, Object key, boolean allKeys, boolean initNode, boolean acquireWriteLock, boolean recursive, boolean isMove, boolean bypassLoadingData, boolean shouldLoadIfNodeIsNull) throws Throwable
    {
-      NodeSPI n = helper.wrapNodeForReading(ctx, fqn);
+      NodeSPI n = helper.wrapNodeForReading(ctx, fqn, true);
       if (n instanceof NullMarkerNode)
       {
          ctx.getLookedUpNodes().remove(fqn);
@@ -459,13 +459,13 @@
       return nodeData;
    }
 
-   @ManagedAttribute (description = "number of cache loader node loads")
+   @ManagedAttribute(description = "number of cache loader node loads")
    public long getCacheLoaderLoads()
    {
       return cacheLoads;
    }
 
-   @ManagedAttribute (description = "number of cache loader node misses")
+   @ManagedAttribute(description = "number of cache loader node misses")
    public long getCacheLoaderMisses()
    {
       return cacheMisses;

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/DataGravitatorInterceptor.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -24,6 +24,6 @@
    @Override
    protected void wrapIfNeeded(InvocationContext ctx, Fqn fqnToWrap) throws InterruptedException
    {
-      helper.wrapNodeForReading(ctx, fqnToWrap);
+      helper.wrapNodeForReading(ctx, fqnToWrap, true);
    }
 }

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/LegacyDataGravitatorInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/LegacyDataGravitatorInterceptor.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/LegacyDataGravitatorInterceptor.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -17,7 +17,6 @@
 import org.jboss.cache.commands.CommandsFactory;
 import org.jboss.cache.commands.DataCommand;
 import org.jboss.cache.commands.ReplicableCommand;
-import org.jboss.cache.commands.read.ExistsCommand;
 import org.jboss.cache.commands.read.GetChildrenNamesCommand;
 import org.jboss.cache.commands.read.GetDataMapCommand;
 import org.jboss.cache.commands.read.GetKeyValueCommand;
@@ -99,12 +98,6 @@
    }
 
    @Override
-   public Object visitExistsNodeCommand(InvocationContext ctx, ExistsCommand command) throws Throwable
-   {
-      return handleGetMethod(ctx, command);
-   }
-
-   @Override
    public Object visitGetKeysCommand(InvocationContext ctx, GetKeysCommand command) throws Throwable
    {
       return handleGetMethod(ctx, command);

Modified: core/trunk/src/main/java/org/jboss/cache/interceptors/MVCCLockingInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/MVCCLockingInterceptor.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/MVCCLockingInterceptor.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -155,10 +155,10 @@
       if (command.getFqn().isRoot())
       {
          // if this is the root node, do not attempt to lock this for writing but instead just get all direct children of root.
-         Map<Object, NodeSPI> children = dataContainer.peekInternalNode(Fqn.ROOT, false).getChildrenMap();
+         Map<Object, InternalNode> children = dataContainer.peekInternalNode(Fqn.ROOT, false).getChildrenMap();
          if (!children.isEmpty())
          {
-            for (NodeSPI child : children.values())
+            for (InternalNode child : children.values())
                helper.wrapNodeForWriting(ctx, child.getFqn(), true, false, false, true, true);
          }
       }
@@ -188,42 +188,42 @@
    @Override
    public Object handleGetDataMapCommand(InvocationContext ctx, GetDataMapCommand command) throws Throwable
    {
-      helper.wrapNodeForReading(ctx, command.getFqn());
+      helper.wrapNodeForReading(ctx, command.getFqn(), true);
       return invokeNextInterceptor(ctx, command);
    }
 
    @Override
    public Object handleExistsNodeCommand(InvocationContext ctx, ExistsCommand command) throws Throwable
    {
-      helper.wrapNodeForReading(ctx, command.getFqn());
+      helper.wrapNodeForReading(ctx, command.getFqn(), true);
       return invokeNextInterceptor(ctx, command);
    }
 
    @Override
    public Object handleGetKeyValueCommand(InvocationContext ctx, GetKeyValueCommand command) throws Throwable
    {
-      helper.wrapNodeForReading(ctx, command.getFqn());
+      helper.wrapNodeForReading(ctx, command.getFqn(), true);
       return invokeNextInterceptor(ctx, command);
    }
 
    @Override
    public Object handleGetNodeCommand(InvocationContext ctx, GetNodeCommand command) throws Throwable
    {
-      helper.wrapNodeForReading(ctx, command.getFqn());
+      helper.wrapNodeForReading(ctx, command.getFqn(), true);
       return invokeNextInterceptor(ctx, command);
    }
 
    @Override
    public Object handleGetKeysCommand(InvocationContext ctx, GetKeysCommand command) throws Throwable
    {
-      helper.wrapNodeForReading(ctx, command.getFqn());
+      helper.wrapNodeForReading(ctx, command.getFqn(), true);
       return invokeNextInterceptor(ctx, command);
    }
 
    @Override
    public Object handleGetChildrenNamesCommand(InvocationContext ctx, GetChildrenNamesCommand command) throws Throwable
    {
-      helper.wrapNodeForReading(ctx, command.getFqn());
+      helper.wrapNodeForReading(ctx, command.getFqn(), true);
       return invokeNextInterceptor(ctx, command);
    }
 
@@ -259,7 +259,7 @@
    @Override
    public Object handleGravitateDataCommand(InvocationContext ctx, GravitateDataCommand command) throws Throwable
    {
-      helper.wrapNodeForReading(ctx, command.getFqn());
+      helper.wrapNodeForReading(ctx, command.getFqn(), true);
       return invokeNextInterceptor(ctx, command);
    }
 

Modified: core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/main/java/org/jboss/cache/invocation/CacheInvocationDelegate.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -36,10 +36,10 @@
 import org.jboss.cache.config.Configuration.NodeLockingScheme;
 import org.jboss.cache.config.ConfigurationException;
 import org.jboss.cache.config.Option;
+import org.jboss.cache.factories.ComponentRegistry;
 import org.jboss.cache.factories.annotations.Inject;
 import org.jboss.cache.factories.annotations.NonVolatile;
 import org.jboss.cache.factories.annotations.Start;
-import org.jboss.cache.factories.ComponentRegistry;
 import org.jboss.cache.interceptors.base.CommandInterceptor;
 import org.jboss.cache.loader.CacheLoaderManager;
 import org.jboss.cache.marshall.Marshaller;
@@ -299,7 +299,7 @@
       NodeSPI<K, V> n;
       try
       {
-         n = mvccHelper.wrapNodeForReading(getInvocationContext(), f);
+         n = mvccHelper.wrapNodeForReading(getInvocationContext(), f, false);
       }
       catch (InterruptedException e)
       {

Modified: core/trunk/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/main/java/org/jboss/cache/mvcc/MVCCNodeHelper.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -83,25 +83,26 @@
       boolean forceWriteLock = ctx.getOptionOverrides().isForceWriteLock();
 
       // does the node exist in the context?
-      for (Fqn f : fqns) wrapNodeForReading(ctx, f, forceWriteLock);
+      for (Fqn f : fqns) wrapNodeForReading(ctx, f, forceWriteLock, true);
    }
 
    /**
     * Similar to {@link #wrapNodesForReading(org.jboss.cache.InvocationContext, java.util.Collection)} except
     * that this version takes a single Fqn parameter to wrap a single node.
     *
-    * @param ctx current invocation context
-    * @param fqn fqn to fetch and wrap
+    * @param ctx          current invocation context
+    * @param fqn          fqn to fetch and wrap
+    * @param putInContext
     * @return read committed node, or null if one is not found.
     * @throws InterruptedException if write locks are forced and the lock manager is interrupted.
     */
-   public NodeSPI wrapNodeForReading(InvocationContext ctx, Fqn fqn) throws InterruptedException
+   public NodeSPI wrapNodeForReading(InvocationContext ctx, Fqn fqn, boolean putInContext) throws InterruptedException
    {
-      return wrapNodeForReading(ctx, fqn, ctx.getOptionOverrides().isForceWriteLock());
+      return wrapNodeForReading(ctx, fqn, ctx.getOptionOverrides().isForceWriteLock(), putInContext);
    }
 
    @SuppressWarnings("unchecked")
-   private NodeSPI wrapNodeForReading(InvocationContext ctx, Fqn f, boolean writeLockForced) throws InterruptedException
+   private NodeSPI wrapNodeForReading(InvocationContext ctx, Fqn f, boolean writeLockForced, boolean putInContext) throws InterruptedException
    {
       NodeSPI n;
       if (writeLockForced)
@@ -115,7 +116,7 @@
          // simple implementation.  Peek the node, wrap it, put wrapped node in the context.
          InternalNode[] nodes = dataContainer.peekInternalNodeAndDirectParent(f, false);
          ReadCommittedNode wrapped = nodeFactory.createWrappedNode(nodes[0], nodes[1]);  // even though parents aren't needed for reading, we hold on to this ref in case the node is later written to.
-         if (wrapped != null) ctx.putLookedUpNode(f, wrapped);
+         if (putInContext && wrapped != null) ctx.putLookedUpNode(f, wrapped);
          return wrapped;
       }
       else

Added: core/trunk/src/test/java/org/jboss/cache/api/mvcc/BuddyReplicationConcurrencyTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/api/mvcc/BuddyReplicationConcurrencyTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/api/mvcc/BuddyReplicationConcurrencyTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,41 @@
+package org.jboss.cache.api.mvcc;
+
+import org.jboss.cache.Cache;
+import org.jboss.cache.Fqn;
+import org.jboss.cache.buddyreplication.BuddyReplicationTestsBase;
+import org.jboss.cache.util.TestingUtil;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyReplicationConcurrencyTest extends BuddyReplicationTestsBase
+{
+   public static final Fqn f = Fqn.fromString("/a/b/c");
+   public static final String k = "k";
+   public static final String v = "v";
+
+   public void testConcurrency() throws Exception
+   {
+      Cache<Object, Object> cache1 = null, cache2 = null;
+
+      try
+      {
+         cache1 = createCache(1, null, true, true);
+         cache2 = createCache(1, null, true, true);
+
+         TestingUtil.blockUntilViewsReceived(60000, cache1, cache2);
+
+         // put stuff in cache 1.  And ensure they exist in cache 2.
+
+         for (int i = 0; i < 10; i++)
+         {
+            cache1.put(Fqn.fromRelativeElements(f, i), k, v);
+            assert v.equals(cache1.get(Fqn.fromRelativeElements(f, i), k));
+            assert v.equals(cache2.get(Fqn.fromRelativeElements(f, i), k));
+         }
+      }
+      finally
+      {
+         TestingUtil.killCaches(cache1, cache2);
+      }
+   }
+}

Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationTestsBase.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationTestsBase.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationTestsBase.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -142,7 +142,7 @@
       c.getConfiguration().setBuddyReplicationConfig(brc);
 
       c.getConfiguration().setFetchInMemoryState(true);
-      c.getConfiguration().setNodeLockingScheme(optimisticLocks ? NodeLockingScheme.OPTIMISTIC : NodeLockingScheme.PESSIMISTIC);
+      c.getConfiguration().setNodeLockingScheme(optimisticLocks ? NodeLockingScheme.OPTIMISTIC : getNonOptimisticLockingScheme());
 
       c.getConfiguration().setTransactionManagerLookupClass(DummyTransactionManagerLookup.class.getName());
       c.getConfiguration().setSyncCommitPhase(true);// helps track down breakages
@@ -158,6 +158,11 @@
       return c;
    }
 
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.PESSIMISTIC;
+   }
+
    /**
     * Provides a hook for multiplexer integration. This default implementation
     * is a no-op; subclasses that test mux integration would override

Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/BuddyReplicationWithCacheLoaderTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -17,6 +17,7 @@
 import org.jboss.cache.loader.CacheLoader;
 import org.jboss.cache.util.TestingUtil;
 import static org.jboss.cache.util.TestingUtil.dumpCacheContents;
+import org.jboss.cache.util.internals.EvictionController;
 import static org.testng.AssertJUnit.assertEquals;
 import static org.testng.AssertJUnit.assertTrue;
 import org.testng.annotations.Test;
@@ -65,12 +66,9 @@
    private void dataGravitationDefaultTest(boolean autoGravitate)
          throws Exception
    {
-
       // create 3 caches
       caches = createCachesWithCacheLoader(3, autoGravitate, true, passivation);
 
-      TestingUtil.sleepThread(1000);
-
       CacheLoader[] loaders = getLoaders(caches);
 
       // cleanup
@@ -270,7 +268,8 @@
       assert cache1.exists(backupFoo) : "Buddy should have data";
 
       // Sleep long enough for eviction to run twice plus a bit
-      TestingUtil.sleepThread(3050);
+      new EvictionController(cache0).startEviction();
+      new EvictionController(cache1).startEviction();
 
       // test that the data we're looking for has been evicted in both the data owner and the buddy.
       assert !cache0.exists(foo) : "Data should have evicted in data owner";
@@ -325,8 +324,9 @@
       assert cache0.exists(foo) : "Data should exist in data owner";
       assert cache1.exists(backupFoo) : "Buddy should have data";
 
-      // Sleep long enough for eviction to run twice plus a bit
-      TestingUtil.sleepThread(3050);
+      // Kick eviction off!
+      new EvictionController(cache0).startEviction();
+      new EvictionController(cache1).startEviction();
 
       // test that the data we're looking for has been evicted in both the data owner and the buddy.
       assert !cache0.exists(foo) : "Data should have evicted in data owner";
@@ -343,12 +343,12 @@
    private void configureEviction(Configuration cfg)
    {
       EvictionConfig ec = new EvictionConfig();
-      ec.setWakeupInterval(1000);
+      ec.setWakeupInterval(5000);
       EvictionRegionConfig erc = new EvictionRegionConfig();
       erc.setRegionFqn(Fqn.ROOT);
       LRUAlgorithmConfig lruAlgorithmConfig = new LRUAlgorithmConfig();
-      lruAlgorithmConfig.setMaxAge(2000);
-      lruAlgorithmConfig.setTimeToLive(1000);
+      lruAlgorithmConfig.setMaxAge(0);
+      lruAlgorithmConfig.setTimeToLive(0);
       lruAlgorithmConfig.setMaxNodes(1);
       erc.setEvictionAlgorithmConfig(lruAlgorithmConfig);
       ec.setDefaultEvictionRegionConfig(erc);

Modified: core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/GravitationCleanupTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -2,8 +2,8 @@
 
 import org.jboss.cache.CacheSPI;
 import org.jboss.cache.Fqn;
+import org.jboss.cache.util.CachePrinter;
 import org.jboss.cache.util.TestingUtil;
-import org.jboss.cache.util.CachePrinter;
 import org.testng.annotations.Test;
 
 /**
@@ -47,8 +47,8 @@
 
       dataOwner.put(fqn, key, value);
 
-      System.out.println("dataOwner: " + CachePrinter.printCacheLockingInfo(dataOwner));
-      System.out.println("buddy: " + CachePrinter.printCacheLockingInfo(buddy));
+      System.out.println("dataOwner: " + CachePrinter.printCacheDetails(dataOwner));
+      System.out.println("buddy: " + CachePrinter.printCacheDetails(buddy));
 
       assert dataOwner.peek(fqn, false) != null : "Should have data";
       assert dataOwner.peek(Fqn.fromRelativeElements(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, fqnTransformer.getGroupNameFromAddress(buddy.getLocalAddress())), false) != null : "Should have backup node for buddy";
@@ -64,8 +64,8 @@
       // gravitation cleanup calls are async.
       cleanupDelay();
 
-      System.out.println("dataOwner: " + CachePrinter.printCacheLockingInfo(dataOwner));
-      System.out.println("buddy: " + CachePrinter.printCacheLockingInfo(buddy));
+      System.out.println("dataOwner: " + CachePrinter.printCacheDetails(dataOwner));
+      System.out.println("buddy: " + CachePrinter.printCacheDetails(buddy));
 
       assert buddy.peek(fqn, false) != null : "Should have data";
       assert buddy.peek(Fqn.fromRelativeElements(BuddyManager.BUDDY_BACKUP_SUBTREE_FQN, fqnTransformer.getGroupNameFromAddress(dataOwner.getLocalAddress())), false) != null : "Should have backup node for buddy";

Deleted: core/trunk/src/test/java/org/jboss/cache/buddyreplication/MvccBuddyReplicationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/MvccBuddyReplicationTest.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/MvccBuddyReplicationTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -1,89 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.cache.buddyreplication;
-
-import org.jboss.cache.Cache;
-import org.jboss.cache.DefaultCacheFactory;
-import org.jboss.cache.CacheSPI;
-import org.jboss.cache.config.Configuration;
-import org.jboss.cache.config.Option;
-import org.jboss.cache.config.parsing.XmlConfigurationParser;
-import org.jboss.cache.util.TestingUtil;
-import org.testng.annotations.Test;
-
-/**
- * @author Mircea.Markus at jboss.com
- * @since 3.0
- */
- at Test(groups = "functional")
-public class MvccBuddyReplicationTest
-{
-   private static final String FILE = "configs/mvcc-repl-sync-br.xml";
-
-   public void testSimpleFailure()
-   {
-      Cache<String, String> cache1 = null, cache2 = null;
-      try
-      {
-         cache1 = createCache();
-         TestingUtil.sleepThread(1000);
-         cache2 = createCache();
-
-         cache1.put("/test", "key", "value");
-         cache1.stop();
-
-         Option option = cache2.getInvocationContext().getOptionOverrides();
-         option.setForceDataGravitation(true);
-         assert cache2.get("/test", "key").equals("value");
-      }
-      finally
-      {
-         TestingUtil.killCaches(cache1, cache2);
-
-      }
-   }
-
-   private Cache<String, String> createCache()
-   {
-      Configuration fileConfig = new XmlConfigurationParser().parseFile(FILE);
-      DefaultCacheFactory<String, String> dcf = new DefaultCacheFactory<String, String>();
-      return dcf.createCache(fileConfig);
-   }
-
-   public void testSimple() throws Exception
-   {
-      Configuration fileConfig = new XmlConfigurationParser().parseFile(FILE);
-      fileConfig.setCacheMode(Configuration.CacheMode.LOCAL);
-      DefaultCacheFactory<String, String> dcf = new DefaultCacheFactory<String, String>();
-      CacheSPI cache = (CacheSPI) dcf.createCache(fileConfig);
-      cache.getTransactionManager().begin();
-      cache.put("/a/b/c","key","value");
-      cache.put("/a/b/c","key1","value");
-      cache.put("/a/b/c","key2","value");
-      cache.put("/a/b/c","key2","value");
-      cache.put("/a/b/c","key3","value");
-      cache.put("/a/b/c","key4","value");
-      cache.put("/a/b/c","key5","value");
-      cache.getTransactionManager().commit();
-      cache.stop();
-   }
-}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyAssignmentStateTransferTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyAssignmentStateTransferTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyAssignmentStateTransferTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyAssignmentStateTransferTest extends org.jboss.cache.buddyreplication.BuddyAssignmentStateTransferTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyBackupActivationInactivationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyBackupActivationInactivationTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyBackupActivationInactivationTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyBackupActivationInactivationTest extends org.jboss.cache.buddyreplication.BuddyBackupActivationInactivationTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyGroupAssignmentTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyGroupAssignmentTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyGroupAssignmentTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyGroupAssignmentTest extends org.jboss.cache.buddyreplication.BuddyGroupAssignmentTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationContentTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationContentTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationContentTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyReplicationContentTest extends org.jboss.cache.buddyreplication.BuddyReplicationContentTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationFailoverTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationFailoverTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationFailoverTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyReplicationFailoverTest extends org.jboss.cache.buddyreplication.BuddyReplicationFailoverTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationRejoinTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationRejoinTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationRejoinTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyReplicationRejoinTest extends org.jboss.cache.buddyreplication.BuddyReplicationRejoinTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithCacheLoaderTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithCacheLoaderTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithCacheLoaderTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyReplicationWithCacheLoaderTest extends org.jboss.cache.buddyreplication.BuddyReplicationWithCacheLoaderTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithPassivationTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithPassivationTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithPassivationTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyReplicationWithPassivationTest extends org.jboss.cache.buddyreplication.BuddyReplicationWithPassivationTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithTransactionsTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithTransactionsTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/BuddyReplicationWithTransactionsTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,14 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class BuddyReplicationWithTransactionsTest extends org.jboss.cache.buddyreplication.BuddyReplicationWithTransactionsTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+}

Added: core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/GravitationCleanupTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/GravitationCleanupTest.java	                        (rev 0)
+++ core/trunk/src/test/java/org/jboss/cache/buddyreplication/mvcc/GravitationCleanupTest.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -0,0 +1,26 @@
+package org.jboss.cache.buddyreplication.mvcc;
+
+import org.jboss.cache.config.Configuration.NodeLockingScheme;
+import org.testng.annotations.Test;
+
+ at Test(groups = {"functional", "mvcc"})
+public class GravitationCleanupTest extends org.jboss.cache.buddyreplication.GravitationCleanupTest
+{
+   @Override
+   protected NodeLockingScheme getNonOptimisticLockingScheme()
+   {
+      return NodeLockingScheme.MVCC;
+   }
+
+   @Override
+   public void testStaleRegionOnDataOwnerOptimistic()
+   {
+      // noop
+   }
+
+   @Override
+   public void testStaleRegionOnBuddyOptimistic()
+   {
+      // noop
+   }
+}

Modified: core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java	2008-09-19 23:04:12 UTC (rev 6765)
+++ core/trunk/src/test/java/org/jboss/cache/util/TestingUtil.java	2008-09-19 23:39:45 UTC (rev 6766)
@@ -628,7 +628,7 @@
          else
          {
             System.out.println("  ** Cache " + count + " is " + c.getLocalAddress());
-            System.out.println("    " + CachePrinter.printCacheLockingInfo(c));
+            System.out.println("    " + CachePrinter.printCacheDetails(c));
          }
          count++;
       }




More information about the jbosscache-commits mailing list