[jbosscache-commits] JBoss Cache SVN: r6259 - in core/trunk/src: test/java/org/jboss/cache/mvcc and 1 other directory.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Tue Jul 15 04:54:23 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-07-15 04:54:23 -0400 (Tue, 15 Jul 2008)
New Revision: 6259

Modified:
   core/trunk/src/main/java/org/jboss/cache/config/Configuration.java
   core/trunk/src/test/java/org/jboss/cache/mvcc/MVCCFullStackTest.java
Log:
Isolationlevel upgrading and downgrading

Modified: core/trunk/src/main/java/org/jboss/cache/config/Configuration.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/config/Configuration.java	2008-07-15 08:44:12 UTC (rev 6258)
+++ core/trunk/src/main/java/org/jboss/cache/config/Configuration.java	2008-07-15 08:54:23 UTC (rev 6259)
@@ -9,6 +9,7 @@
 import org.jboss.cache.Version;
 import org.jboss.cache.config.parsing.JGroupsStackParser;
 import org.jboss.cache.factories.annotations.NonVolatile;
+import org.jboss.cache.factories.annotations.Start;
 import org.jboss.cache.lock.IsolationLevel;
 import org.jboss.cache.marshall.Marshaller;
 import org.w3c.dom.Element;
@@ -205,6 +206,26 @@
    private boolean allowWriteSkew = false;
    private int concurrencyLevel = 50;
 
+   @Start(priority = 1)
+   private void correctIsolationLevels()
+   {
+      // ensure the correct isolation level upgrades and/or downgrades are performed.
+      if (nodeLockingScheme == NodeLockingScheme.MVCC)
+      {
+         switch (isolationLevel)
+         {
+            case NONE:
+            case READ_UNCOMMITTED:
+               System.out.println("Upgrading!");
+               isolationLevel = IsolationLevel.READ_COMMITTED;
+               break;
+            case SERIALIZABLE:
+               isolationLevel = IsolationLevel.REPEATABLE_READ;
+               break;
+         }
+      }
+   }
+
    // ------------------------------------------------------------------------------------------------------------
    //   SETTERS - MAKE SURE ALL SETTERS PERFORM testImmutability()!!!
    // ------------------------------------------------------------------------------------------------------------

Modified: core/trunk/src/test/java/org/jboss/cache/mvcc/MVCCFullStackTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/mvcc/MVCCFullStackTest.java	2008-07-15 08:44:12 UTC (rev 6258)
+++ core/trunk/src/test/java/org/jboss/cache/mvcc/MVCCFullStackTest.java	2008-07-15 08:54:23 UTC (rev 6259)
@@ -44,7 +44,7 @@
       isoLevelTest(READ_UNCOMMITTED, READ_COMMITTED);
    }
 
-   public void testIsolationLevelNoUpgrade3()
+   public void testIsolationLevelDowngrade()
    {
       isoLevelTest(SERIALIZABLE, REPEATABLE_READ);
    }
@@ -64,7 +64,7 @@
       Configuration c = new Configuration();
       c.setNodeLockingScheme(NodeLockingScheme.MVCC);
       c.setIsolationLevel(configuredWith);
-      cache = (CacheSPI<Object, Object>) new DefaultCacheFactory<Object, Object>().createCache();
+      cache = (CacheSPI<Object, Object>) new DefaultCacheFactory<Object, Object>().createCache(c);
       assert cache.getConfiguration().getIsolationLevel() == expected : "Expected to change isolation level from " + configuredWith + " to " + expected + " but was " + cache.getConfiguration().getIsolationLevel();
    }
 }




More information about the jbosscache-commits mailing list