JBoss Cache SVN: r6209 - in core/trunk/src: test/java/org/jboss/cache/api and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-07-08 07:39:04 -0400 (Tue, 08 Jul 2008)
New Revision: 6209
Modified:
core/trunk/src/main/java/org/jboss/cache/Cache.java
core/trunk/src/test/java/org/jboss/cache/api/DestroyedCacheAPITest.java
Log:
fixed broken tests
Modified: core/trunk/src/main/java/org/jboss/cache/Cache.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/Cache.java 2008-07-08 11:32:46 UTC (rev 6208)
+++ core/trunk/src/main/java/org/jboss/cache/Cache.java 2008-07-08 11:39:04 UTC (rev 6209)
@@ -296,7 +296,6 @@
* @param fqn Fqn that is contained in a region.
* @param createIfAbsent If true, will create a new associated region if not found.
* @return a MarshRegion. Null if none is found.
- * @throws UnsupportedOperationException if the region cannot be defined.
* @see Region
*/
Region getRegion(Fqn<?> fqn, boolean createIfAbsent);
Modified: core/trunk/src/test/java/org/jboss/cache/api/DestroyedCacheAPITest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/api/DestroyedCacheAPITest.java 2008-07-08 11:32:46 UTC (rev 6208)
+++ core/trunk/src/test/java/org/jboss/cache/api/DestroyedCacheAPITest.java 2008-07-08 11:39:04 UTC (rev 6209)
@@ -308,10 +308,7 @@
public void testGetRegion()
{
- assertNull(cache.getRegion(parent, false));
-
- // The javadoc mentions "UnsupportedOperationException" although it's
- // not clear about why it would be thrown.
+ assertNotNull(cache.getRegion(parent, false)); // should end up with the root region
assertNotNull(cache.getRegion(Fqn.ROOT, true));
}
17 years, 5 months
JBoss Cache SVN: r6208 - core/trunk/src/test/java/org/jboss/cache/api.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-07-08 07:32:46 -0400 (Tue, 08 Jul 2008)
New Revision: 6208
Modified:
core/trunk/src/test/java/org/jboss/cache/api/NodeReplicatedMoveTest.java
Log:
Node locking scheme should not be null.
Modified: core/trunk/src/test/java/org/jboss/cache/api/NodeReplicatedMoveTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/api/NodeReplicatedMoveTest.java 2008-07-08 10:55:12 UTC (rev 6207)
+++ core/trunk/src/test/java/org/jboss/cache/api/NodeReplicatedMoveTest.java 2008-07-08 11:32:46 UTC (rev 6208)
@@ -35,7 +35,7 @@
protected static final Fqn<String> A = Fqn.fromString("/a"), B = Fqn.fromString("/b"), C = Fqn.fromString("/c"), D = Fqn.fromString("/d"), E = Fqn.fromString("/e");
protected Object k = "key", vA = "valueA", vB = "valueB", vC = "valueC", vD = "valueD", vE = "valueE";
- protected NodeLockingScheme nodeLockingScheme;
+ protected NodeLockingScheme nodeLockingScheme = NodeLockingScheme.PESSIMISTIC;
@BeforeMethod(alwaysRun = true)
public void setUp() throws Exception
17 years, 5 months
JBoss Cache SVN: r6207 - in core/trunk/src: test/java/org/jboss/cache/marshall and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-07-08 06:55:12 -0400 (Tue, 08 Jul 2008)
New Revision: 6207
Modified:
core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java
core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshaller200Test.java
Log:
test dependency wiring
Modified: core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java 2008-07-08 10:46:19 UTC (rev 6206)
+++ core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java 2008-07-08 10:55:12 UTC (rev 6207)
@@ -58,8 +58,8 @@
private boolean isUsingBR;
@Inject
- void injectDependencies(CacheSPI cache, Configuration configuration, RPCManager rpcManager, LockManager lockManager,
- BuddyFqnTransformer transformer, RegionRegistry regionsRegistry)
+ public void injectDependencies(CacheSPI cache, Configuration configuration, RPCManager rpcManager, LockManager lockManager,
+ BuddyFqnTransformer transformer, RegionRegistry regionsRegistry)
{
this.cache = cache;
this.rpcManager = rpcManager;
@@ -70,7 +70,7 @@
}
@Start
- protected void start()
+ public void start()
{
log.trace("Starting region manager");
isUsingBR = configuration.getBuddyReplicationConfig() != null && configuration.getBuddyReplicationConfig().isEnabled();
Modified: core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshaller200Test.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshaller200Test.java 2008-07-08 10:46:19 UTC (rev 6206)
+++ core/trunk/src/test/java/org/jboss/cache/marshall/CacheMarshaller200Test.java 2008-07-08 10:55:12 UTC (rev 6207)
@@ -10,6 +10,7 @@
import org.jboss.cache.Region;
import org.jboss.cache.RegionManager;
import org.jboss.cache.RegionManagerImpl;
+import org.jboss.cache.RegionRegistry;
import org.jboss.cache.commands.remote.ClusteredGetCommand;
import org.testng.annotations.Test;
@@ -35,10 +36,11 @@
public void testRegionalisedStream() throws Exception
{
- // need to test what's going on with
CacheMarshaller200 cm200 = new CacheMarshaller200();
c.setUseRegionBasedMarshalling(true);
- cm200.injectDependencies(new RegionManagerImpl(), c, getClass().getClassLoader());
+ RegionManagerImpl rmi = new RegionManagerImpl();
+ rmi.injectDependencies(null, c, null, null, null, new RegionRegistry());
+ cm200.injectDependencies(rmi, c, getClass().getClassLoader());
cm200.init();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
17 years, 5 months
JBoss Cache SVN: r6206 - in core/trunk/src/main/java/org/jboss/cache: factories and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-07-08 06:46:19 -0400 (Tue, 08 Jul 2008)
New Revision: 6206
Added:
core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java
Modified:
core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java
core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java
Log:
Created a separate, non-volatile RegionsRegistry class to hold regions.
Modified: core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java 2008-07-08 10:23:48 UTC (rev 6205)
+++ core/trunk/src/main/java/org/jboss/cache/RegionManagerImpl.java 2008-07-08 10:46:19 UTC (rev 6206)
@@ -24,9 +24,7 @@
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
-import java.util.Map;
import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
/**
* The default region manager, used with MVCC locking.
@@ -44,10 +42,7 @@
*/
public static final Fqn<?> DEFAULT_REGION = Fqn.fromString("/_default_");
- /**
- * A registry of regions that have been defined.
- */
- private final Map<Fqn, Region> regionsRegistry = new ConcurrentHashMap<Fqn, Region>();
+ private RegionRegistry regionsRegistry;
private boolean defaultInactive;
private final Log log = LogFactory.getLog(RegionManagerImpl.class);
CacheSPI cache;
@@ -64,13 +59,14 @@
@Inject
void injectDependencies(CacheSPI cache, Configuration configuration, RPCManager rpcManager, LockManager lockManager,
- BuddyFqnTransformer transformer)
+ BuddyFqnTransformer transformer, RegionRegistry regionsRegistry)
{
this.cache = cache;
this.rpcManager = rpcManager;
this.configuration = configuration;
this.lockManager = lockManager;
this.buddyFqnTransformer = transformer;
+ this.regionsRegistry = regionsRegistry;
}
@Start
@@ -472,13 +468,8 @@
*
* @param fqn Fqn string indicating the uppermost node in the
* portion of the cache that should be activated.
- * @throws RegionNameConflictException if <code>subtreeFqn</code> indicates
- * a node that is part of another
- * subtree that is being specially
- * managed (either by activate/inactiveRegion()
- * or by registerClassLoader())
- * @throws CacheException if there is a problem evicting nodes
- * @throws IllegalStateException if {@link org.jboss.cache.config.Configuration#isUseRegionBasedMarshalling()} is <code>false</code>
+ * @throws CacheException if there is a problem evicting nodes
+ * @throws IllegalStateException if {@link org.jboss.cache.config.Configuration#isUseRegionBasedMarshalling()} is <code>false</code>
*/
private void inactivateRegion(Fqn fqn) throws CacheException
{
Added: core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java (rev 0)
+++ core/trunk/src/main/java/org/jboss/cache/RegionRegistry.java 2008-07-08 10:46:19 UTC (rev 6206)
@@ -0,0 +1,21 @@
+package org.jboss.cache;
+
+import org.jboss.cache.factories.annotations.NonVolatile;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+/**
+ * An extension of the ConcurrentHashMap that acts as a container for regions.
+ *
+ * @author Manik Surtani (<a href="mailto:manik@jboss.org">manik(a)jboss.org</a>)
+ * @since 3.0
+ */
+@NonVolatile
+public class RegionRegistry extends ConcurrentHashMap<Fqn, Region>
+{
+ public RegionRegistry()
+ {
+ // default CHM constructor. Potentially fine-tune later?
+ super();
+ }
+}
Modified: core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java 2008-07-08 10:23:48 UTC (rev 6205)
+++ core/trunk/src/main/java/org/jboss/cache/factories/EmptyConstructorFactory.java 2008-07-08 10:46:19 UTC (rev 6206)
@@ -1,6 +1,7 @@
package org.jboss.cache.factories;
import org.jboss.cache.DataContainer;
+import org.jboss.cache.RegionRegistry;
import org.jboss.cache.buddyreplication.BuddyFqnTransformer;
import org.jboss.cache.config.ConfigurationException;
import org.jboss.cache.factories.annotations.DefaultFactoryFor;
@@ -21,7 +22,7 @@
* @author Manik Surtani (<a href="mailto:manik@jboss.org">manik(a)jboss.org</a>)
* @since 2.1.0
*/
-@DefaultFactoryFor(classes = {Notifier.class, MVCCNodeHelper.class,
+@DefaultFactoryFor(classes = {Notifier.class, MVCCNodeHelper.class, RegionRegistry.class,
ChannelMessageListener.class, CacheLoaderManager.class, Marshaller.class, InvocationContextContainer.class,
CacheInvocationDelegate.class, TransactionTable.class, DataContainer.class,
LockStrategyFactory.class, BuddyFqnTransformer.class})
17 years, 5 months
JBoss Cache SVN: r6205 - core/trunk/src/test/java/org/jboss/cache/mvcc.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-07-08 06:23:48 -0400 (Tue, 08 Jul 2008)
New Revision: 6205
Modified:
core/trunk/src/test/java/org/jboss/cache/mvcc/MVCCFullStackTest.java
Log:
Added isolation level upgrade/downgrade test
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-08 10:18:31 UTC (rev 6204)
+++ core/trunk/src/test/java/org/jboss/cache/mvcc/MVCCFullStackTest.java 2008-07-08 10:23:48 UTC (rev 6205)
@@ -2,8 +2,11 @@
import org.jboss.cache.CacheSPI;
import org.jboss.cache.DefaultCacheFactory;
+import org.jboss.cache.config.Configuration;
import org.jboss.cache.config.Configuration.NodeLockingScheme;
import org.jboss.cache.interceptors.MVCCLockingInterceptor;
+import org.jboss.cache.lock.IsolationLevel;
+import static org.jboss.cache.lock.IsolationLevel.*;
import org.jboss.cache.util.TestingUtil;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
@@ -30,4 +33,38 @@
assert TestingUtil.findInterceptor(cache, MVCCLockingInterceptor.class) != null : "MVCC interceptor should be in stack";
assert cache.getConfiguration().getNodeLockingScheme() == NodeLockingScheme.MVCC;
}
+
+ public void testIsolationLevelUpgrade1()
+ {
+ isoLevelTest(NONE, READ_COMMITTED);
+ }
+
+ public void testIsolationLevelUpgrade2()
+ {
+ isoLevelTest(READ_UNCOMMITTED, READ_COMMITTED);
+ }
+
+ public void testIsolationLevelNoUpgrade3()
+ {
+ isoLevelTest(SERIALIZABLE, REPEATABLE_READ);
+ }
+
+ public void testIsolationLevelNoUpgrade1()
+ {
+ isoLevelTest(READ_COMMITTED, READ_COMMITTED);
+ }
+
+ public void testIsolationLevelNoUpgrade2()
+ {
+ isoLevelTest(REPEATABLE_READ, REPEATABLE_READ);
+ }
+
+ private void isoLevelTest(IsolationLevel configuredWith, IsolationLevel expected)
+ {
+ Configuration c = new Configuration();
+ c.setNodeLockingScheme(NodeLockingScheme.MVCC);
+ c.setIsolationLevel(configuredWith);
+ cache = (CacheSPI<Object, Object>) new DefaultCacheFactory<Object, Object>().createCache();
+ assert cache.getConfiguration().getIsolationLevel() == expected : "Expected to change isolation level from " + configuredWith + " to " + expected + " but was " + cache.getConfiguration().getIsolationLevel();
+ }
}
17 years, 5 months
JBoss Cache SVN: r6204 - in core/trunk/src: test/java/org/jboss/cache/lock and 1 other directory.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-07-08 06:18:31 -0400 (Tue, 08 Jul 2008)
New Revision: 6204
Modified:
core/trunk/src/main/java/org/jboss/cache/lock/MVCCLockManager.java
core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerRecordingTest.java
core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerTest.java
Log:
Fixed broken tests
Modified: core/trunk/src/main/java/org/jboss/cache/lock/MVCCLockManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/lock/MVCCLockManager.java 2008-07-08 09:59:14 UTC (rev 6203)
+++ core/trunk/src/main/java/org/jboss/cache/lock/MVCCLockManager.java 2008-07-08 10:18:31 UTC (rev 6204)
@@ -55,7 +55,7 @@
private static final boolean trace = log.isTraceEnabled();
@Inject
- public void injectDataContainer(DataContainer dataContainer, CacheSPI cache, TransactionManager transactionManager, InvocationContextContainer invocationContextContainer)
+ public void injectDependencies(DataContainer dataContainer, CacheSPI cache, TransactionManager transactionManager, InvocationContextContainer invocationContextContainer)
{
this.dataContainer = dataContainer;
this.cache = cache;
Modified: core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerRecordingTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerRecordingTest.java 2008-07-08 09:59:14 UTC (rev 6203)
+++ core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerRecordingTest.java 2008-07-08 10:18:31 UTC (rev 6204)
@@ -1,6 +1,7 @@
package org.jboss.cache.lock;
import org.jboss.cache.Fqn;
+import org.jboss.cache.config.Configuration;
import org.jboss.cache.factories.context.MVCCContextFactory;
import org.jboss.cache.invocation.InvocationContextContainer;
import org.jboss.cache.lock.MVCCLockManager.LockContainer;
@@ -26,7 +27,8 @@
icc = new InvocationContextContainer();
MVCCLockManager mvccLockManager = new MVCCLockManager();
TransactionManager tm = DummyTransactionManager.getInstance();
- mvccLockManager.injectDataContainer(null, null, tm, icc);
+ mvccLockManager.injectConfiguration(new Configuration());
+ mvccLockManager.injectDependencies(null, null, tm, icc);
mvccLockManager.startLockManager();
lm = mvccLockManager;
contextFactory = new MVCCContextFactory();
Modified: core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerTest.java
===================================================================
--- core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerTest.java 2008-07-08 09:59:14 UTC (rev 6203)
+++ core/trunk/src/test/java/org/jboss/cache/lock/MVCCLockManagerTest.java 2008-07-08 10:18:31 UTC (rev 6204)
@@ -3,6 +3,7 @@
import org.jboss.cache.Fqn;
import org.jboss.cache.NodeSPI;
import org.jboss.cache.UnversionedNode;
+import org.jboss.cache.config.Configuration;
import org.jboss.cache.factories.context.MVCCContextFactory;
import org.jboss.cache.invocation.InvocationContextContainer;
import org.jboss.cache.invocation.NodeInvocationDelegate;
@@ -28,7 +29,8 @@
icc.injectContextFactory(new MVCCContextFactory());
lm = new MVCCLockManager();
TransactionManager tm = getTransactionManager();
- lm.injectDataContainer(null, null, tm, icc);
+ lm.injectConfiguration(new Configuration());
+ lm.injectDependencies(null, null, tm, icc);
lm.startLockManager();
}
@@ -45,35 +47,18 @@
public void testUsingReadLocks()
{
- // using any READ locks should throw an exception
- try
- {
- lm.isLocked(null, READ);
- assert false : "Should fail";
- }
- catch (Exception e)
- {
- // good
- }
+ // using any READ locks should be no-ops.
+ lm.isLocked(null, READ);
- try
- {
- lm.getReadOwners(Fqn.ROOT);
- assert false : "Should fail";
- }
- catch (Exception e)
- {
- // good
- }
+ lm.getReadOwners(Fqn.ROOT);
try
{
lm.getReadOwners((NodeSPI) null);
- assert false : "Should fail";
}
- catch (Exception e)
+ catch (NullPointerException npe)
{
- // good
+ // since we're passing in a null.
}
}
17 years, 5 months
JBoss Cache SVN: r6203 - core/trunk/src/main/java/org/jboss/cache/statetransfer.
by jbosscache-commits@lists.jboss.org
Author: manik.surtani(a)jboss.com
Date: 2008-07-08 05:59:14 -0400 (Tue, 08 Jul 2008)
New Revision: 6203
Modified:
core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java
Log:
Changed start priority
Modified: core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java 2008-07-07 23:39:38 UTC (rev 6202)
+++ core/trunk/src/main/java/org/jboss/cache/statetransfer/DefaultStateTransferManager.java 2008-07-08 09:59:14 UTC (rev 6203)
@@ -57,7 +57,7 @@
this.cacheLoaderManager = cacheLoaderManager;
}
- @Start(priority = 99)
+ @Start(priority = 19)
public void start()
{
fetchTransientState = configuration.isFetchInMemoryState();
17 years, 5 months