[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