You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2018/05/08 00:05:55 UTC
[geode] branch develop updated: GEODE-5177: Remove subscription
from InitializedDiskRegionWithIoExceptionRegressionTest
This is an automated email from the ASF dual-hosted git repository.
klund pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new fd49f0d GEODE-5177: Remove subscription from InitializedDiskRegionWithIoExceptionRegressionTest
fd49f0d is described below
commit fd49f0dd5a9afa2b4163622ecbc4d7a6fe3d250a
Author: Kirk Lund <kl...@apache.org>
AuthorDate: Thu May 3 14:37:53 2018 -0700
GEODE-5177: Remove subscription from InitializedDiskRegionWithIoExceptionRegressionTest
Overhaul test with Rules.
---
...zedDiskRegionWithIoExceptionRegressionTest.java | 91 +++++++++++-----------
1 file changed, 47 insertions(+), 44 deletions(-)
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
index 53b0823..bbf394c 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
@@ -14,19 +14,17 @@
*/
package org.apache.geode.internal.cache;
-import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
-import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
-import static org.apache.geode.test.dunit.Host.getHost;
+import static org.apache.geode.cache.client.ClientRegionShortcut.LOCAL;
import static org.apache.geode.test.dunit.IgnoredException.addIgnoredException;
import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
-import static org.apache.geode.test.dunit.NetworkUtils.getServerHostName;
+import static org.apache.geode.test.dunit.VM.getHostName;
+import static org.apache.geode.test.dunit.VM.getVM;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
-import java.io.File;
import java.io.IOException;
+import java.io.Serializable;
import java.util.List;
-import java.util.Properties;
import org.junit.After;
import org.junit.Before;
@@ -34,17 +32,20 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.experimental.categories.Category;
-import org.apache.geode.cache.AttributesFactory;
import org.apache.geode.cache.DiskAccessException;
import org.apache.geode.cache.Region;
import org.apache.geode.cache.Scope;
+import org.apache.geode.cache.client.ClientRegionFactory;
import org.apache.geode.cache.client.Pool;
import org.apache.geode.cache.client.PoolManager;
import org.apache.geode.cache.server.CacheServer;
import org.apache.geode.internal.cache.persistence.DiskRecoveryStore;
import org.apache.geode.internal.cache.persistence.UninterruptibleFileChannel;
import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.cache.CacheTestCase;
+import org.apache.geode.test.dunit.rules.CacheRule;
+import org.apache.geode.test.dunit.rules.ClientCacheRule;
+import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
+import org.apache.geode.test.dunit.rules.DistributedTestRule;
import org.apache.geode.test.junit.categories.DistributedTest;
import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
@@ -57,32 +58,41 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
* TRAC #39079: Regions with persistence remain in use after IOException have occurred
*/
@Category(DistributedTest.class)
-public class InitializedDiskRegionWithIoExceptionRegressionTest extends CacheTestCase {
+@SuppressWarnings("serial")
+public class InitializedDiskRegionWithIoExceptionRegressionTest implements Serializable {
- private String hostName;
private String uniqueName;
-
- private File[] serverDiskDirs;
+ private String hostName;
private VM server;
private VM client;
@Rule
- public SerializableTemporaryFolder temporaryFolder = new SerializableTemporaryFolder();
+ public DistributedTestRule distributedTestRule = new DistributedTestRule();
+
+ @Rule
+ public CacheRule cacheRule = new CacheRule();
@Rule
- public SerializableTestName testName = new SerializableTestName();
+ public ClientCacheRule clientCacheRule = new ClientCacheRule();
+
+ /** DistributedDiskDirRule invokes before and after for SerializableTemporaryFolder */
+ private SerializableTemporaryFolder temporaryFolder = new SerializableTemporaryFolder();
+
+ /** DistributedDiskDirRule invokes before and after for SerializableTestName */
+ private SerializableTestName testName = new SerializableTestName();
+
+ @Rule
+ public DistributedDiskDirRule diskDirsRule =
+ new DistributedDiskDirRule(temporaryFolder, testName);
@Before
public void setUp() throws Exception {
- server = getHost(0).getVM(0);
- client = getHost(0).getVM(1);
+ server = getVM(0);
+ client = getVM(1);
uniqueName = getClass().getSimpleName() + "_" + testName.getMethodName();
-
- serverDiskDirs = new File[] {temporaryFolder.newFolder(uniqueName + "_server1_disk")};
-
- hostName = getServerHostName(server.getHost());
+ hostName = getHostName();
DiskStoreImpl.SET_IGNORE_PREALLOCATE = true;
@@ -95,8 +105,6 @@ public class InitializedDiskRegionWithIoExceptionRegressionTest extends CacheTes
@After
public void tearDown() throws Exception {
- disconnectAllFromDS();
-
DiskStoreImpl.SET_IGNORE_PREALLOCATE = false;
invokeInEveryVM(() -> {
@@ -117,23 +125,25 @@ public class InitializedDiskRegionWithIoExceptionRegressionTest extends CacheTes
}
private int createServerCache() throws IOException {
- DiskRegionProperties props = new DiskRegionProperties();
- props.setRegionName(uniqueName);
- props.setOverflow(true);
- props.setRolling(true);
- props.setDiskDirs(serverDiskDirs);
- props.setPersistBackup(true);
+ cacheRule.createCache();
- DiskRegionHelperFactory.getSyncPersistOnlyRegion(getCache(), props, Scope.DISTRIBUTED_ACK);
+ DiskRegionProperties diskRegionProps = new DiskRegionProperties();
+ diskRegionProps.setRegionName(uniqueName);
+ diskRegionProps.setOverflow(true);
+ diskRegionProps.setRolling(true);
+ diskRegionProps.setPersistBackup(true);
- CacheServer cacheServer = getCache().addCacheServer();
+ DiskRegionHelperFactory.getSyncPersistOnlyRegion(cacheRule.getCache(), diskRegionProps,
+ Scope.DISTRIBUTED_ACK);
+
+ CacheServer cacheServer = cacheRule.getCache().addCacheServer();
cacheServer.setPort(0);
cacheServer.start();
return cacheServer.getPort();
}
private void validateNoCacheServersRunning() throws IOException {
- Region<String, byte[]> region = getCache().getRegion(uniqueName);
+ Region<String, byte[]> region = cacheRule.getCache().getRegion(uniqueName);
region.create("key1", new byte[16]);
region.create("key2", new byte[16]);
@@ -149,26 +159,19 @@ public class InitializedDiskRegionWithIoExceptionRegressionTest extends CacheTes
((DiskRecoveryStore) region).getDiskStore().waitForClose();
assertThat(region.getRegionService().isClosed()).isTrue();
- List<CacheServer> cacheServers = getCache().getCacheServers();
+ List<CacheServer> cacheServers = cacheRule.getCache().getCacheServers();
assertThat(cacheServers).isEmpty();
}
private void createClientCache(String host, int port) {
- Properties config = new Properties();
- config.setProperty(MCAST_PORT, "0");
- config.setProperty(LOCATORS, "");
- getCache(config);
+ clientCacheRule.createClientCache();
- Pool pool = PoolManager.createFactory().addServer(host, port).setSubscriptionEnabled(true)
+ Pool pool = PoolManager.createFactory().addServer(host, port).setSubscriptionEnabled(false)
.setSubscriptionRedundancy(0).setThreadLocalConnections(true).setMinConnections(0)
.setReadTimeout(20000).setRetryAttempts(1).create(uniqueName);
- AttributesFactory factory = new AttributesFactory();
- factory.setScope(Scope.DISTRIBUTED_ACK);
- factory.setPoolName(pool.getName());
-
- Region region = getCache().createRegion(uniqueName, factory.create());
-
- region.registerInterest("ALL_KEYS");
+ ClientRegionFactory crf = clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
+ crf.setPoolName(pool.getName());
+ crf.create(uniqueName);
}
}
--
To stop receiving notification emails like this one, please contact
klund@apache.org.