[infinispan-commits] Infinispan SVN: r1824 - in trunk/core/src/test/java/org/infinispan: test and 1 other directories.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Wed May 19 09:55:15 EDT 2010
Author: manik.surtani at jboss.com
Date: 2010-05-19 09:55:14 -0400 (Wed, 19 May 2010)
New Revision: 1824
Added:
trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java
Modified:
trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java
Log:
[ISPN-447] (Asking for a cache that does not exist on a remote node freezes infinispan) added test
Added: trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java (rev 0)
+++ trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java 2010-05-19 13:55:14 UTC (rev 1824)
@@ -0,0 +1,62 @@
+package org.infinispan.distribution;
+
+import org.infinispan.Cache;
+import org.infinispan.config.Configuration;
+import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractCacheTest;
+import org.infinispan.test.AbstractInfinispanTest;
+import org.infinispan.test.MultipleCacheManagersTest;
+import org.infinispan.test.TestingUtil;
+import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.testng.annotations.AfterTest;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Test;
+
+import static org.infinispan.test.AbstractCacheTest.getDefaultClusteredConfig;
+import static org.infinispan.test.TestingUtil.killCacheManagers;
+import static org.infinispan.test.fwk.TestCacheManagerFactory.createCacheManager;
+
+ at Test(groups = "functional", testName = "distribution.UnknownCacheStartTest")
+public class UnknownCacheStartTest extends AbstractInfinispanTest {
+
+ Configuration configuration;
+ CacheManager cm1, cm2;
+
+ @BeforeTest
+ public void setUp() {
+ configuration = getDefaultClusteredConfig(Configuration.CacheMode.DIST_SYNC);
+ }
+
+ @AfterTest
+ public void tearDown() {
+ killCacheManagers(cm1, cm2);
+ }
+
+ @Test (timeOut = 5000)
+ public void testStartingUnknownCaches() throws Throwable {
+ cm1 = createCacheManager(configuration);
+
+ cm1.defineConfiguration("new_1", configuration);
+
+ Cache<String, String> c1 = cm1.getCache();
+ Cache<String, String> c1_new = cm1.getCache("new_1");
+
+ c1.put("k", "v");
+ c1_new.put("k", "v");
+
+ assert "v".equals(c1.get("k"));
+ assert "v".equals(c1_new.get("k"));
+
+ cm2 = createCacheManager(configuration);
+ cm2.defineConfiguration("new_2", configuration);
+
+ Cache<String, String> c2 = cm2.getCache();
+ Cache<String, String> c2_new = cm2.getCache("new_cache_2");
+
+ c2.put("k", "v");
+ c2_new.put("k", "v");
+
+ assert "v".equals(c2.get("k"));
+ assert "v".equals(c2_new.get("k"));
+ }
+}
Property changes on: trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java
___________________________________________________________________
Name: svn:keywords
+ Id Revision
Name: svn:eol-style
+ LF
Modified: trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java 2010-05-19 06:31:38 UTC (rev 1823)
+++ trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java 2010-05-19 13:55:14 UTC (rev 1824)
@@ -126,6 +126,19 @@
return cm;
}
+ /**
+ * Creates a new cache manager, starts it, and adds it to the list of known cache managers on the current thread.
+ * Uses a default clustered cache manager global config.
+ *
+ * @param defaultConfig default cfg to use
+ * @return the new CacheManager
+ */
+ protected CacheManager addClusterEnabledCacheManager(Configuration defaultConfig) {
+ CacheManager cm = TestCacheManagerFactory.createClusteredCacheManager(defaultConfig);
+ cacheManagers.add(cm);
+ return cm;
+ }
+
protected void defineConfigurationOnAllManagers(String cacheName, Configuration c) {
for (CacheManager cm : cacheManagers) {
cm.defineConfiguration(cacheName, c);
@@ -144,6 +157,17 @@
return caches;
}
+ protected <K, V> List<Cache<K, V>> createClusteredCaches(int numMembersInCluster, Configuration defaultConfig) {
+ List<Cache<K, V>> caches = new ArrayList<Cache<K, V>>(numMembersInCluster);
+ for (int i = 0; i < numMembersInCluster; i++) {
+ CacheManager cm = addClusterEnabledCacheManager(defaultConfig);
+ Cache<K, V> cache = cm.getCache();
+ caches.add(cache);
+ }
+ TestingUtil.blockUntilViewsReceived(10000, caches);
+ return caches;
+ }
+
public ReplListener replListener(Cache cache) {
ReplListener listener = listeners.get(cache);
if (listener == null) {
Modified: trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java 2010-05-19 06:31:38 UTC (rev 1823)
+++ trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java 2010-05-19 13:55:14 UTC (rev 1824)
@@ -170,7 +170,11 @@
}
public static CacheManager createCacheManager(Configuration defaultCacheConfig, boolean transactional) {
- GlobalConfiguration globalConfiguration = GlobalConfiguration.getNonClusteredDefault();
+ GlobalConfiguration globalConfiguration;
+ if (defaultCacheConfig.getCacheMode().isClustered())
+ globalConfiguration = GlobalConfiguration.getClusteredDefault();
+ else
+ globalConfiguration = GlobalConfiguration.getNonClusteredDefault();
amendMarshaller(globalConfiguration);
minimizeThreads(globalConfiguration);
if (transactional) amendJTA(defaultCacheConfig);
More information about the infinispan-commits
mailing list