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/08/24 22:47:21 UTC

[geode] branch develop updated (b951146 -> f91c2df)

This is an automated email from the ASF dual-hosted git repository.

klund pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git.


    from b951146  GEODE-5142 new Thread Monitoring Mechanism
     new 123b8c4  GEODE-5614: rename DistributedTestRule as DistributedRule
     new 16d0f69  GEODE-5614: rename distributedTestRule field to distributedRule
     new f91c2df  GEODE-5614: update RegionManagementDUnitTest usage of DistributedRule

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../CreateAndLocalDestroyInTXRegressionTest.java   |   7 +-
 .../PRCreationTotalNumBucketsDistributedTest.java  |   8 +-
 .../cache/RegionClearStatsDistributedTest.java     |   8 +-
 .../cache/RegionExpirationDistributedTest.java     |   8 +-
 .../ReplicateCacheListenerDistributedTest.java     |  18 ++--
 .../dunit/QueryDataInconsistencyDUnitTest.java     |  34 +++---
 .../geode/cache30/DiskRegionDistributedTest.java   |  11 +-
 ...okenSerializationConsistencyRegressionTest.java |   8 +-
 .../cache/BucketCreationCrashRegressionTest.java   |  11 +-
 ...ntServerTransactionFailoverDistributedTest.java |  35 ++++---
 ...overWithMixedVersionServersDistributedTest.java |  44 ++++----
 .../EntriesDoNotExpireDuringGiiRegressionTest.java |  12 +--
 ...zedDiskRegionWithIoExceptionRegressionTest.java |  18 ++--
 .../cache/PRCustomPartitioningDistributedTest.java |  10 +-
 .../PREntryIdleExpirationDistributedTest.java      |  31 +++---
 .../internal/cache/PRQueryDistributedTest.java     |   8 +-
 .../PRQueryWithIndexAndPdxDistributedTest.java     |   9 +-
 .../cache/PRQueryWithIndexDistributedTest.java     |   9 +-
 .../cache/PRQueryWithOrderByDistributedTest.java   |   9 +-
 ...RQueryWithPdxDuringRebalanceRegressionTest.java |   9 +-
 .../PRWithIndexAfterRebalanceRegressionTest.java   |   9 +-
 .../PartitionedRegionCloseDistributedTest.java     |  19 ++--
 .../cache/PersistentRegionRecoveryDUnitTest.java   |  19 ++--
 .../cache/RegionListenerDistributedTest.java       |  17 +--
 ...eplicateEntryIdleExpirationDistributedTest.java |  36 ++++---
 .../cache/backup/BackupDistributedTest.java        |  12 +--
 .../backup/IncrementalBackupDistributedTest.java   |  12 +--
 .../PrepareAndFinishBackupDistributedTest.java     |   6 +-
 .../ClientFunctionTimeoutRegressionTest.java       |  26 ++---
 ...ctionExecutionWithExceptionDistributedTest.java |   9 +-
 ...ctionOnBehalfOfClientMemberDistributedTest.java |  14 +--
 .../cache/ha/HARegionQueueSizeRegressionTest.java  |   9 +-
 .../HARegionQueueThreadIdExpiryRegressionTest.java |  11 +-
 ...BucketCreationCrashCompletesRegressionTest.java |  51 +++++----
 .../BucketRebalanceStatRegressionTest.java         |   4 +-
 ...RDiskConflictWithColocationDistributedTest.java |   5 +-
 ...PersistentPartitionedRegionDistributedTest.java |  21 ++--
 .../PersistentPartitionedRegionRegressionTest.java |   7 +-
 ...eueRemovalMessageProcessingDistributedTest.java |  87 ++++++++--------
 .../RegisterInterestKeysValuesDistributedTest.java |  50 ++++-----
 .../DeltaPropagationFailureRegressionTest.java     |  33 +++---
 .../AcceptorImplClientQueueDistributedTest.java    |  42 ++++----
 ...entDestroyRegionNotificationRegressionTest.java |  31 +++---
 ...troyRegionUnregisterInterestRegressionTest.java |  31 +++---
 .../ClientProxyWithDeltaDistributedTest.java       |  34 +++---
 .../ClientWithInterestFailoverDistributedTest.java |  32 +++---
 .../GetConnectedServerCountRegressionTest.java     |   8 +-
 .../HARegionQueueStatsCloseRegressionTest.java     |  24 ++---
 .../MessageTrackingTimeoutRegressionTest.java      |  18 +---
 ...nterestOnServerWithoutRegionRegressionTest.java |  15 ++-
 ...isterInterestServerMetaDataDistributedTest.java |  44 ++++----
 ...RootRegionsExcludesHARegionsRegressionTest.java |  24 ++---
 .../AsyncEventListenerDistributedTest.java         |   4 +-
 ...ventListenerWithCacheLoaderDistributedTest.java |   6 +-
 ...syncEventListenerWithFilterDistributedTest.java |   6 +-
 ...oncurrentAsyncEventListenerDistributedTest.java |   4 +-
 .../ParallelAsyncEventListenerDistributedTest.java |   4 +-
 .../SerialEventListenerDistributedTest.java        |   4 +-
 .../ClientServerJTAFailoverDistributedTest.java    |  41 ++++----
 .../apache/geode/management/JMXMBeanDUnitTest.java |  59 ++++++-----
 .../management/RegionManagementDUnitTest.java      |  11 +-
 .../tests/GetCurrentVmNumDistributedTest.java      |   5 +-
 .../GetPidAndIdAfterBounceDistributedTest.java     |  11 +-
 .../dunit/tests/GetPidAndIdDistributedTest.java    |   9 +-
 .../examples/AsyncInvokeCallableExampleTest.java   |  26 ++---
 .../examples/AsyncInvokeRunnableExampleTest.java   |  12 +--
 .../CatchingUnexpectedExceptionExampleTest.java    |  13 ++-
 ... => DistributedRuleAsClassRuleExampleTest.java} |  32 +++++-
 .../dunit/examples/InvokeRunnableExampleTest.java  |  13 ++-
 .../examples/LocatorPortClusterExampleTest.java    |   7 +-
 .../examples/ReplaceTryFinallyExampleTest.java     |  14 ++-
 .../tests/CacheRuleBuilderDistributedTest.java     |   9 +-
 .../rules/tests/CacheRuleDistributedTest.java      |   4 +-
 .../tests/ClientCacheRuleDistributedTest.java      | 114 +++++++++++++++++++++
 ...utedRestoreSystemPropertiesDistributedTest.java |  14 +--
 ...st.java => DistributedRuleDistributedTest.java} |  11 +-
 .../tests/SharedCountersRuleDistributedTest.java   |  69 ++++++-------
 .../tests/SharedErrorCollectorDistributedTest.java |  45 ++++----
 .../dunit/internal/JUnit4DistributedTestCase.java  |   4 +-
 ...dTestRule.java => AbstractDistributedRule.java} |   8 +-
 .../apache/geode/test/dunit/rules/CacheRule.java   |  39 ++++---
 .../test/dunit/rules/CleanupDUnitVMsRule.java      |   2 +-
 .../geode/test/dunit/rules/ClientCacheRule.java    |  52 +++++++---
 .../rules/DistributedRestoreSystemProperties.java  |   2 +-
 ...stributedTestRule.java => DistributedRule.java} |  95 +++++++++++------
 .../geode/test/dunit/rules/SharedCountersRule.java |  57 ++++++++---
 .../test/dunit/rules/SharedErrorCollector.java     |  22 ++--
 .../DoNotHandleUnexpectedExceptionExampleTest.java |   2 -
 .../GatewayLegacyAuthenticationRegressionTest.java |  22 +---
 89 files changed, 1042 insertions(+), 877 deletions(-)
 rename geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/{DistributedTestRuleExampleTest.java => DistributedRuleAsClassRuleExampleTest.java} (50%)
 create mode 100644 geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/ClientCacheRuleDistributedTest.java
 rename geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/{DistributedTestRuleDistributedTest.java => DistributedRuleDistributedTest.java} (76%)
 rename geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/{AbstractDistributedTestRule.java => AbstractDistributedRule.java} (90%)
 rename geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/{DistributedTestRule.java => DistributedRule.java} (71%)


[geode] 01/03: GEODE-5614: rename DistributedTestRule as DistributedRule

Posted by kl...@apache.org.
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

commit 123b8c4b3a415598c9edd5a1c311b94a75ce9edf
Author: Kirk Lund <kl...@apache.org>
AuthorDate: Wed Aug 22 16:17:03 2018 -0700

    GEODE-5614: rename DistributedTestRule as DistributedRule
    
    * Cleanup javadocs on rules that referred to DistributedTestRule.
    * Add ClientCacheFactoryDistributedTest for ClientCacheRule.
---
 .../CreateAndLocalDestroyInTXRegressionTest.java   |   4 +-
 .../PRCreationTotalNumBucketsDistributedTest.java  |   4 +-
 .../cache/RegionClearStatsDistributedTest.java     |   4 +-
 .../cache/RegionExpirationDistributedTest.java     |   4 +-
 .../ReplicateCacheListenerDistributedTest.java     |  18 ++--
 .../dunit/QueryDataInconsistencyDUnitTest.java     |   4 +-
 .../geode/cache30/DiskRegionDistributedTest.java   |   4 +-
 ...okenSerializationConsistencyRegressionTest.java |   4 +-
 .../cache/BucketCreationCrashRegressionTest.java   |   4 +-
 ...ntServerTransactionFailoverDistributedTest.java |   4 +-
 ...overWithMixedVersionServersDistributedTest.java |   4 +-
 .../EntriesDoNotExpireDuringGiiRegressionTest.java |   4 +-
 ...zedDiskRegionWithIoExceptionRegressionTest.java |   4 +-
 .../cache/PRCustomPartitioningDistributedTest.java |   4 +-
 .../PREntryIdleExpirationDistributedTest.java      |   4 +-
 .../internal/cache/PRQueryDistributedTest.java     |   4 +-
 .../PRQueryWithIndexAndPdxDistributedTest.java     |   4 +-
 .../cache/PRQueryWithIndexDistributedTest.java     |   4 +-
 .../cache/PRQueryWithOrderByDistributedTest.java   |   4 +-
 ...RQueryWithPdxDuringRebalanceRegressionTest.java |   4 +-
 .../PRWithIndexAfterRebalanceRegressionTest.java   |   4 +-
 .../PartitionedRegionCloseDistributedTest.java     |   4 +-
 .../cache/PersistentRegionRecoveryDUnitTest.java   |   4 +-
 .../cache/RegionListenerDistributedTest.java       |   4 +-
 ...eplicateEntryIdleExpirationDistributedTest.java |   4 +-
 .../cache/backup/BackupDistributedTest.java        |   5 +-
 .../backup/IncrementalBackupDistributedTest.java   |   4 +-
 .../PrepareAndFinishBackupDistributedTest.java     |   4 +-
 .../ClientFunctionTimeoutRegressionTest.java       |   4 +-
 ...ctionExecutionWithExceptionDistributedTest.java |   4 +-
 ...ctionOnBehalfOfClientMemberDistributedTest.java |   4 +-
 .../cache/ha/HARegionQueueSizeRegressionTest.java  |   4 +-
 .../HARegionQueueThreadIdExpiryRegressionTest.java |   4 +-
 ...BucketCreationCrashCompletesRegressionTest.java |   4 +-
 .../BucketRebalanceStatRegressionTest.java         |   4 +-
 ...RDiskConflictWithColocationDistributedTest.java |   4 +-
 ...PersistentPartitionedRegionDistributedTest.java |   4 +-
 .../PersistentPartitionedRegionRegressionTest.java |   4 +-
 ...eueRemovalMessageProcessingDistributedTest.java |   4 +-
 .../RegisterInterestKeysValuesDistributedTest.java |   4 +-
 .../DeltaPropagationFailureRegressionTest.java     |   4 +-
 .../AcceptorImplClientQueueDistributedTest.java    |   4 +-
 ...entDestroyRegionNotificationRegressionTest.java |   4 +-
 ...troyRegionUnregisterInterestRegressionTest.java |   4 +-
 .../ClientProxyWithDeltaDistributedTest.java       |   4 +-
 .../ClientWithInterestFailoverDistributedTest.java |   4 +-
 .../GetConnectedServerCountRegressionTest.java     |   4 +-
 .../HARegionQueueStatsCloseRegressionTest.java     |   4 +-
 .../MessageTrackingTimeoutRegressionTest.java      |   4 +-
 ...nterestOnServerWithoutRegionRegressionTest.java |   4 +-
 ...isterInterestServerMetaDataDistributedTest.java |   4 +-
 ...RootRegionsExcludesHARegionsRegressionTest.java |   4 +-
 .../AsyncEventListenerDistributedTest.java         |   4 +-
 ...ventListenerWithCacheLoaderDistributedTest.java |   4 +-
 ...syncEventListenerWithFilterDistributedTest.java |   4 +-
 ...oncurrentAsyncEventListenerDistributedTest.java |   4 +-
 .../ParallelAsyncEventListenerDistributedTest.java |   4 +-
 .../SerialEventListenerDistributedTest.java        |   4 +-
 .../ClientServerJTAFailoverDistributedTest.java    |   4 +-
 .../apache/geode/management/JMXMBeanDUnitTest.java |   4 +-
 .../tests/GetCurrentVmNumDistributedTest.java      |   4 +-
 .../GetPidAndIdAfterBounceDistributedTest.java     |   4 +-
 .../dunit/tests/GetPidAndIdDistributedTest.java    |   4 +-
 .../examples/AsyncInvokeCallableExampleTest.java   |   4 +-
 .../examples/AsyncInvokeRunnableExampleTest.java   |   4 +-
 .../CatchingUnexpectedExceptionExampleTest.java    |   4 +-
 ... => DistributedRuleAsClassRuleExampleTest.java} |  32 +++++-
 .../dunit/examples/InvokeRunnableExampleTest.java  |   4 +-
 .../examples/LocatorPortClusterExampleTest.java    |   4 +-
 .../examples/ReplaceTryFinallyExampleTest.java     |   4 +-
 .../tests/CacheRuleBuilderDistributedTest.java     |   4 +-
 .../rules/tests/CacheRuleDistributedTest.java      |   4 +-
 .../tests/ClientCacheRuleDistributedTest.java      | 114 +++++++++++++++++++++
 ...utedRestoreSystemPropertiesDistributedTest.java |   4 +-
 ...st.java => DistributedRuleDistributedTest.java} |  11 +-
 .../tests/SharedCountersRuleDistributedTest.java   |  69 ++++++-------
 .../tests/SharedErrorCollectorDistributedTest.java |  45 ++++----
 .../dunit/internal/JUnit4DistributedTestCase.java  |   4 +-
 ...dTestRule.java => AbstractDistributedRule.java} |   8 +-
 .../apache/geode/test/dunit/rules/CacheRule.java   |  22 ++--
 .../test/dunit/rules/CleanupDUnitVMsRule.java      |   2 +-
 .../geode/test/dunit/rules/ClientCacheRule.java    |  36 ++++---
 .../rules/DistributedRestoreSystemProperties.java  |   2 +-
 ...stributedTestRule.java => DistributedRule.java} |  95 +++++++++++------
 .../geode/test/dunit/rules/SharedCountersRule.java |  57 ++++++++---
 .../test/dunit/rules/SharedErrorCollector.java     |  22 ++--
 .../DoNotHandleUnexpectedExceptionExampleTest.java |   2 -
 .../GatewayLegacyAuthenticationRegressionTest.java |   4 +-
 88 files changed, 517 insertions(+), 311 deletions(-)

diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java
index a903763..8580b02 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java
@@ -42,7 +42,7 @@ import org.apache.geode.cache.Region.Entry;
 import org.apache.geode.i18n.StringId;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 /**
  * Create and LocalDestroy/LocalInvalidate should create event with NewValue
@@ -67,7 +67,7 @@ public class CreateAndLocalDestroyInTXRegressionTest implements Serializable {
   private VM otherVM;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java
index 4b02562..777576c 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java
@@ -34,7 +34,7 @@ import org.apache.geode.internal.cache.PartitionedRegion;
 import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
@@ -45,7 +45,7 @@ public class PRCreationTotalNumBucketsDistributedTest implements Serializable {
   private int totalNumBuckets;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java
index 7e1041c..1b62369 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java
@@ -34,7 +34,7 @@ import org.apache.geode.cache.client.internal.PoolImpl;
 import org.apache.geode.cache.server.CacheServer;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 /**
  * verifies the count of clear operation
@@ -54,7 +54,7 @@ public class RegionClearStatsDistributedTest implements Serializable {
   private VM client1;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java
index bf2c750..9402428 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java
@@ -38,7 +38,7 @@ import org.mockito.Mockito;
 
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 /**
@@ -68,7 +68,7 @@ public class RegionExpirationDistributedTest implements Serializable {
   private VM withoutExpirationVM1;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder().createCacheInAll().build();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/ReplicateCacheListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/ReplicateCacheListenerDistributedTest.java
index 7e03a40..b0e1894 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/ReplicateCacheListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/ReplicateCacheListenerDistributedTest.java
@@ -26,13 +26,12 @@ import static org.hamcrest.Matchers.nullValue;
 import java.io.Serializable;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.geode.cache.util.CacheListenerAdapter;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.dunit.rules.SharedCountersRule;
 import org.apache.geode.test.dunit.rules.SharedErrorCollector;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
@@ -45,7 +44,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  *
  * @since GemFire 2.0
  */
-
 @SuppressWarnings("serial")
 public class ReplicateCacheListenerDistributedTest implements Serializable {
 
@@ -61,8 +59,8 @@ public class ReplicateCacheListenerDistributedTest implements Serializable {
 
   private String regionName;
 
-  @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder().createCacheInAll().build();
@@ -77,7 +75,7 @@ public class ReplicateCacheListenerDistributedTest implements Serializable {
   public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
   @Before
-  public void setUp() throws Exception {
+  public void setUp() {
     regionName = getClass().getSimpleName();
 
     sharedCountersRule.initialize(CREATES);
@@ -87,7 +85,7 @@ public class ReplicateCacheListenerDistributedTest implements Serializable {
   }
 
   @Test
-  public void afterCreateIsInvokedInEveryMember() throws Exception {
+  public void afterCreateIsInvokedInEveryMember() {
     CacheListener<String, Integer> listener = new CreateCountingCacheListener();
     Region<String, Integer> region = createRegion(regionName, listener);
     for (int i = 0; i < getVMCount(); i++) {
@@ -102,7 +100,7 @@ public class ReplicateCacheListenerDistributedTest implements Serializable {
   }
 
   @Test
-  public void afterUpdateIsInvokedInEveryMember() throws Exception {
+  public void afterUpdateIsInvokedInEveryMember() {
     CacheListener<String, Integer> listener = new UpdateCountingCacheListener();
     Region<String, Integer> region = createRegion(regionName, listener);
     for (int i = 0; i < getVMCount(); i++) {
@@ -118,7 +116,7 @@ public class ReplicateCacheListenerDistributedTest implements Serializable {
   }
 
   @Test
-  public void afterInvalidateIsInvokedInEveryMember() throws Exception {
+  public void afterInvalidateIsInvokedInEveryMember() {
     CacheListener<String, Integer> listener = new InvalidateCountingCacheListener();
     Region<String, Integer> region = createRegion(regionName, listener);
     for (int i = 0; i < getVMCount(); i++) {
@@ -135,7 +133,7 @@ public class ReplicateCacheListenerDistributedTest implements Serializable {
   }
 
   @Test
-  public void afterDestroyIsInvokedInEveryMember() throws Exception {
+  public void afterDestroyIsInvokedInEveryMember() {
     CacheListener<String, Integer> listener = new DestroyCountingCacheListener();
     Region<String, Integer> region = createRegion(regionName, listener);
     for (int i = 0; i < getVMCount(); i++) {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java
index 05c2815..60452e9 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java
@@ -53,7 +53,7 @@ import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.Invoke;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.OQLIndexTest;
 
 /**
@@ -72,7 +72,7 @@ public class QueryDataInconsistencyDUnitTest implements Serializable {
   private Logger logger = LogService.getLogger(QueryDataInconsistencyDUnitTest.class.getName());
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule(1);
+  public static DistributedRule distributedTestRule = new DistributedRule(1);
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder().createCacheInAll().disconnectAfter().build();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java
index c9600c2..35b6132 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java
@@ -41,7 +41,7 @@ import org.apache.geode.internal.cache.eviction.EvictionCounters;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 /**
@@ -61,7 +61,7 @@ public class DiskRegionDistributedTest implements Serializable {
   private VM vm3;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
index 6ac1922..96b75cf 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
@@ -42,7 +42,7 @@ import org.apache.geode.pdx.PdxSerializable;
 import org.apache.geode.pdx.PdxWriter;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
@@ -61,7 +61,7 @@ public class BrokenSerializationConsistencyRegressionTest implements Serializabl
   private transient byte[] bytesValue;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java
index 4815d5f..9daa000 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java
@@ -55,7 +55,7 @@ import org.apache.geode.test.dunit.RMIException;
 import org.apache.geode.test.dunit.SerializableRunnableIF;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.dunit.rules.SharedErrorCollector;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
@@ -80,7 +80,7 @@ public class BucketCreationCrashRegressionTest implements Serializable {
   private VM locator;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java
index b8908ea..1ae8413 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 public class ClientServerTransactionFailoverDistributedTest implements Serializable {
@@ -66,7 +66,7 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
   private final String originalValue = "originalValue";
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java
index 53c8914..c29e6d3 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java
@@ -56,7 +56,7 @@ import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.dunit.standalone.VersionManager;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
@@ -78,7 +78,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
   private final int transactionTimeoutSecond = 2;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule(6);
+  public static DistributedRule distributedTestRule = new DistributedRule(6);
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java
index 37c4454..83d6717 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java
@@ -42,7 +42,7 @@ import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableErrorCollector;
 
 /**
@@ -66,7 +66,7 @@ public class EntriesDoNotExpireDuringGiiRegressionTest implements Serializable {
   private VM otherVM;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
index c2b5fc1..ec86b06 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
@@ -44,7 +44,7 @@ import org.apache.geode.test.dunit.VM;
 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.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -66,7 +66,7 @@ public class InitializedDiskRegionWithIoExceptionRegressionTest implements Seria
   private VM client;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java
index ccb2234..3438fa2 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java
@@ -38,7 +38,7 @@ import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.internal.cache.PartitionedRegionDataStore.BucketVisitor;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
@@ -59,7 +59,7 @@ public class PRCustomPartitioningDistributedTest implements Serializable {
   private VM accessorVM3;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java
index 1f81dc8..e5ded37 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java
@@ -38,13 +38,13 @@ import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 public class PREntryIdleExpirationDistributedTest implements Serializable {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   private static final AtomicBoolean KEEP_READING = new AtomicBoolean(true);
 
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java
index 38ae7c5..88ed204 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java
@@ -46,7 +46,7 @@ import org.apache.geode.cache.query.internal.DefaultQuery.TestHook;
 import org.apache.geode.cache.query.internal.index.IndexManager;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 /**
@@ -63,7 +63,7 @@ public class PRQueryDistributedTest implements Serializable {
   private VM vm2;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java
index b1fc15d..10c3d92 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java
@@ -48,7 +48,7 @@ import org.apache.geode.pdx.PdxWriter;
 import org.apache.geode.test.dunit.SerializableRunnableIF;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.OQLIndexTest;
 
 /**
@@ -66,7 +66,7 @@ public class PRQueryWithIndexAndPdxDistributedTest implements Serializable {
   private VM vm1;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java
index 57a940e..b17de44 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.cache.query.IndexInvalidException;
 import org.apache.geode.cache.query.internal.index.AbstractIndex;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.OQLIndexTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -63,7 +63,7 @@ public class PRQueryWithIndexDistributedTest implements Serializable {
   private VM vm1;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java
index eef55b3..697c94b 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.pdx.JSONFormatter;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.OQLQueryTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -64,7 +64,7 @@ public class PRQueryWithOrderByDistributedTest implements Serializable {
   private VM client;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java
index d7a6910..73d482c 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java
@@ -46,7 +46,7 @@ import org.apache.geode.distributed.internal.DistributionMessageObserver;
 import org.apache.geode.internal.cache.partitioned.QueryMessage;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.dunit.rules.SharedErrorCollector;
 import org.apache.geode.test.junit.categories.OQLQueryTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
@@ -71,7 +71,7 @@ public class PRQueryWithPdxDuringRebalanceRegressionTest implements Serializable
   private VM vm2;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java
index 3cb1645..b1d4888 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java
@@ -43,7 +43,7 @@ import org.apache.geode.cache.query.RegionNotFoundException;
 import org.apache.geode.cache.query.internal.index.PartitionedIndex;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.OQLIndexTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -67,7 +67,7 @@ public class PRWithIndexAfterRebalanceRegressionTest implements Serializable {
   private VM vm3;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java
index 6034726..80dc731 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java
@@ -36,7 +36,7 @@ import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.internal.cache.partitioned.RegionAdvisor;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @RunWith(JUnitParamsRunner.class)
@@ -53,7 +53,7 @@ public class PartitionedRegionCloseDistributedTest implements Serializable {
   private VM[] datastores;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder().createCacheInAll().build();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java
index 319cc28..113db1c 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java
@@ -41,7 +41,7 @@ import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -55,7 +55,7 @@ public class PersistentRegionRecoveryDUnitTest extends JUnit4DistributedTestCase
   private VM vm1;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java
index 69c39fd..5cb537a 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java
@@ -31,14 +31,14 @@ import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
 public class RegionListenerDistributedTest implements Serializable {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder().createCacheInAll().disconnectAfter().build();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java
index b20a681..cb14c45 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java
@@ -40,13 +40,13 @@ import org.apache.geode.cache.Scope;
 import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 public class ReplicateEntryIdleExpirationDistributedTest implements Serializable {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   private static final AtomicBoolean KEEP_READING = new AtomicBoolean(true);
 
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
index 45c483d..ab60bf1 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
@@ -25,7 +25,6 @@ import static org.apache.geode.cache.RegionShortcut.PARTITION_PERSISTENT;
 import static org.apache.geode.cache.RegionShortcut.REPLICATE;
 import static org.apache.geode.cache.RegionShortcut.REPLICATE_PERSISTENT;
 import static org.apache.geode.internal.admin.remote.AdminFailureResponse.create;
-import static org.apache.geode.test.dunit.Disconnect.disconnectFromDS;
 import static org.apache.geode.test.dunit.IgnoredException.addIgnoredException;
 import static org.apache.geode.test.dunit.VM.getVM;
 import static org.assertj.core.api.Assertions.assertThat;
@@ -87,7 +86,7 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -122,7 +121,7 @@ public class BackupDistributedTest extends JUnit4DistributedTestCase implements
   private transient ProcessStreamReader processReader;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
index a180807..0f4d1a6 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
@@ -67,7 +67,7 @@ import org.apache.geode.test.compiler.ClassBuilder;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -98,7 +98,7 @@ public class IncrementalBackupDistributedTest implements Serializable {
   private transient ProcessStreamReader processReader;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java
index 6a6c21b..d9e35ce 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java
@@ -62,7 +62,7 @@ import org.apache.geode.distributed.internal.DistributionManager;
 import org.apache.geode.internal.cache.LocalRegion;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
@@ -85,7 +85,7 @@ public class PrepareAndFinishBackupDistributedTest {
   }
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java
index 46ed4d8..5f5f2dc 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java
@@ -59,7 +59,7 @@ import org.apache.geode.internal.cache.tier.sockets.AcceptorImpl;
 import org.apache.geode.internal.cache.tier.sockets.ServerConnection;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.FunctionServiceTest;
 
 /**
@@ -86,7 +86,7 @@ public class ClientFunctionTimeoutRegressionTest implements Serializable {
   private VM client;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public DistributedRestoreSystemProperties restoreSystemProperties =
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java
index 14b4361..6332574 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java
@@ -47,7 +47,7 @@ import org.apache.geode.cache.execute.ResultCollector;
 import org.apache.geode.internal.cache.functions.TestFunction;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.FunctionServiceTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -66,7 +66,7 @@ public class FunctionExecutionWithExceptionDistributedTest implements Serializab
   private Set<Integer> intKeys;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder()
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java
index 6bda9dd..938f28f 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java
@@ -42,7 +42,7 @@ import org.apache.geode.internal.cache.TXStateProxyImpl;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 public class TransactionOnBehalfOfClientMemberDistributedTest implements Serializable {
@@ -55,7 +55,7 @@ public class TransactionOnBehalfOfClientMemberDistributedTest implements Seriali
   private int port1;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java
index 9c4db53..162d7e0 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java
@@ -56,7 +56,7 @@ import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -80,7 +80,7 @@ public class HARegionQueueSizeRegressionTest implements Serializable {
   private VM client;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
index c2fd022..4f30187 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -69,7 +69,7 @@ public class HARegionQueueThreadIdExpiryRegressionTest implements Serializable {
   private String hostName;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java
index 457e6cf..06ab046 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java
@@ -48,7 +48,7 @@ import org.apache.geode.internal.cache.PartitionedRegion;
 import org.apache.geode.internal.cache.PartitionedRegionDataStore;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.RegionsTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -69,7 +69,7 @@ public class BucketCreationCrashCompletesRegressionTest implements Serializable
   private VM vm2;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java
index 8b6bd35..bf0a9b0 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java
@@ -47,7 +47,7 @@ import org.apache.geode.internal.cache.BucketRegion;
 import org.apache.geode.internal.cache.PartitionedRegion;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -73,7 +73,7 @@ public class BucketRebalanceStatRegressionTest implements Serializable {
   private VM vm1;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java
index 632a137..8940e54 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.internal.cache.persistence.PersistenceAdvisorImpl;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 /**
@@ -61,7 +61,7 @@ public class PRDiskConflictWithColocationDistributedTest implements Serializable
   private VM vm0;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
index 8f9f44d..5d38c96 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
@@ -94,7 +94,7 @@ import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 /**
@@ -117,7 +117,7 @@ public class PersistentPartitionedRegionDistributedTest implements Serializable
   private VM vm3;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule =
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java
index 9c1844f..22aac27 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java
@@ -61,7 +61,7 @@ import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 /**
@@ -81,7 +81,7 @@ public class PersistentPartitionedRegionRegressionTest implements Serializable {
   private VM vm2;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java
index 5aec1a7..db13012 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java
@@ -52,7 +52,7 @@ import org.apache.geode.internal.cache.tier.sockets.CacheClientProxy;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.RegionsTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -83,7 +83,7 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
   private VM client2;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java
index dc1a561..b89c2bf 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.internal.cache.InternalRegion;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.RegionsTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -71,7 +71,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   private int port1;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java
index 9af7d81..5b91847 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java
@@ -39,7 +39,7 @@ import org.apache.geode.internal.cache.tier.sockets.DeltaEOFException;
 import org.apache.geode.internal.cache.tier.sockets.FaultyDelta;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -64,7 +64,7 @@ public class DeltaPropagationFailureRegressionTest implements Serializable {
   private VM server2;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java
index 5f04829..ffabb9e 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java
@@ -54,7 +54,7 @@ import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
@@ -68,7 +68,7 @@ public class AcceptorImplClientQueueDistributedTest implements Serializable {
   private String hostName;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder().createCacheIn(getVM(0)).createCacheIn(getVM(1))
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java
index 08606b1..8689c9a 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java
@@ -42,7 +42,7 @@ import org.apache.geode.internal.cache.EventID;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -68,7 +68,7 @@ public class ClientDestroyRegionNotificationRegressionTest implements Serializab
   private VM server2;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java
index 7efbb6d..63dffb1 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java
@@ -47,7 +47,7 @@ import org.apache.geode.internal.cache.ClientServerObserverHolder;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -73,7 +73,7 @@ public class ClientDestroyRegionUnregisterInterestRegressionTest implements Seri
   private VM client2;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java
index eb5abcb..a7aa09e 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java
@@ -58,7 +58,7 @@ import org.apache.geode.internal.cache.CachePerfStats;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.InternalRegion;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
 
 @Category({ClientSubscriptionTest.class})
@@ -79,7 +79,7 @@ public class ClientProxyWithDeltaDistributedTest implements Serializable {
   private VM client2;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Before
   public void setUp() throws Exception {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java
index ec3d275..08d2078 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java
@@ -52,7 +52,7 @@ import org.apache.geode.cache.server.CacheServer;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.InternalCacheServer;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 
 @Category({ClientServerTest.class})
@@ -75,7 +75,7 @@ public class ClientWithInterestFailoverDistributedTest implements Serializable {
   private VM server2;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Before
   public void setUp() throws Exception {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java
index 09ac47b..500aa99 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java
@@ -34,7 +34,7 @@ import org.apache.geode.cache.server.CacheServer;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -56,7 +56,7 @@ public class GetConnectedServerCountRegressionTest implements Serializable {
   private VM server3;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java
index 4b4f1ee..77eb3db 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.internal.cache.ha.HARegionQueue;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -69,7 +69,7 @@ public class HARegionQueueStatsCloseRegressionTest implements Serializable {
   private VM client;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java
index a57a08c..ecd1df0 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java
@@ -34,7 +34,7 @@ import org.apache.geode.cache.server.CacheServer;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -59,7 +59,7 @@ public class MessageTrackingTimeoutRegressionTest implements Serializable {
   private VM server3;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java
index eeac893..047fcab 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java
@@ -45,7 +45,7 @@ import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -72,7 +72,7 @@ public class RegisterInterestOnServerWithoutRegionRegressionTest implements Seri
   private VM client;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java
index 3a7ca1a..fbfd154 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java
@@ -51,7 +51,7 @@ import org.apache.geode.cache.server.CacheServer;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.internal.cache.InternalCacheServer;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
 
 @Category({ClientSubscriptionTest.class})
@@ -71,7 +71,7 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
   private VM client;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Before
   public void setUp() throws Exception {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java
index fa20dcc..9904e4e 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java
@@ -43,7 +43,7 @@ import org.apache.geode.internal.cache.PoolFactoryImpl;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -69,7 +69,7 @@ public class RootRegionsExcludesHARegionsRegressionTest implements Serializable
   private VM client;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java
index 59f2469..79bf74e 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java
@@ -63,7 +63,7 @@ import org.apache.geode.internal.cache.RegionQueue;
 import org.apache.geode.internal.cache.wan.InternalGatewaySender;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.AEQTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
@@ -83,7 +83,7 @@ public class AsyncEventListenerDistributedTest implements Serializable {
   }
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java
index b49e142..3c8711d 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java
@@ -56,7 +56,7 @@ import org.apache.geode.cache.asyncqueue.AsyncEventQueueFactory;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.AEQTest;
 import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
 
@@ -78,7 +78,7 @@ public class AsyncEventListenerWithCacheLoaderDistributedTest implements Seriali
   }
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java
index fe10561..39105ab 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java
@@ -74,7 +74,7 @@ import org.apache.geode.internal.cache.wan.InternalGatewaySender;
 import org.apache.geode.internal.size.Sizeable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.AEQTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
@@ -99,7 +99,7 @@ public class AsyncEventListenerWithFilterDistributedTest implements Serializable
   }
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java
index 5df6620..fbac68c 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java
@@ -58,7 +58,7 @@ import org.apache.geode.internal.cache.wan.InternalGatewaySender;
 import org.apache.geode.internal.size.Sizeable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.AEQTest;
 
 /**
@@ -71,7 +71,7 @@ public class ConcurrentAsyncEventListenerDistributedTest implements Serializable
   private static final String SUBSTITUTION_PREFIX = "substituted_";
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java
index 715c18c..7e5e3fb 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java
@@ -94,7 +94,7 @@ import org.apache.geode.internal.cache.wan.InternalGatewaySender;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.AEQTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
@@ -117,7 +117,7 @@ public class ParallelAsyncEventListenerDistributedTest implements Serializable {
   }
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java
index 6c093df..03b8063 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java
@@ -54,7 +54,7 @@ import org.apache.geode.internal.cache.wan.InternalGatewaySender;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedDiskDirRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.AEQTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 
@@ -66,7 +66,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolde
 public class SerialEventListenerDistributedTest implements Serializable {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java
index c623766..f019c06 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java
@@ -52,7 +52,7 @@ import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.ClientCacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 public class ClientServerJTAFailoverDistributedTest implements Serializable {
@@ -71,7 +71,7 @@ public class ClientServerJTAFailoverDistributedTest implements Serializable {
   private final String newValue = "value2";
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java
index 85374a8..220ae72 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java
@@ -58,7 +58,7 @@ import org.apache.geode.internal.AvailablePortHelper;
 import org.apache.geode.internal.security.SecurableCommunicationChannel;
 import org.apache.geode.test.dunit.rules.CleanupDUnitVMsRule;
 import org.apache.geode.test.dunit.rules.ClusterStartupRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.JMXTest;
 import org.apache.geode.test.junit.rules.MBeanServerConnectionRule;
 import org.apache.geode.util.test.TestUtil;
@@ -84,7 +84,7 @@ public class JMXMBeanDUnitTest implements Serializable {
   private Properties locatorProperties;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   private transient CleanupDUnitVMsRule cleanupDUnitVMsRule = new CleanupDUnitVMsRule();
   private ClusterStartupRule lsRule = new ClusterStartupRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java
index 8b47e2c..234afab 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java
@@ -24,13 +24,13 @@ import static org.assertj.core.api.Assertions.assertThat;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 public class GetCurrentVmNumDistributedTest {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void returnsNegativeOneInController() {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java
index 0f8e4d1..33c3932 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java
@@ -22,7 +22,7 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 public class GetPidAndIdAfterBounceDistributedTest {
@@ -31,7 +31,7 @@ public class GetPidAndIdAfterBounceDistributedTest {
   private int[] pidsBefore;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Before
   public void setUp() throws Exception {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java
index 45022f6..df76d50 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java
@@ -23,13 +23,13 @@ import org.junit.Test;
 
 import org.apache.geode.internal.process.ProcessUtils;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 public class GetPidAndIdDistributedTest {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void getId_returnsVMSequentialId() throws Exception {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java
index 6b0b104..2ed8b8c 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java
@@ -24,14 +24,14 @@ import org.junit.Test;
 
 import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
 public class AsyncInvokeCallableExampleTest {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void invokeAsyncAsFuture() throws Exception {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java
index d68a8db..9cc4e7a 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java
@@ -24,14 +24,14 @@ import org.junit.Test;
 
 import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
 public class AsyncInvokeRunnableExampleTest {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void invokeAsyncHelloWorldInEachVM() throws Exception {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java
index 4fe51bd..be07b3b 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java
@@ -30,14 +30,14 @@ import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.internal.cache.LocalRegion;
 import org.apache.geode.test.dunit.SerializableRunnable;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
 public class CatchingUnexpectedExceptionExampleTest implements Serializable {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   /**
    * Don't do this! Catch Exception and invoke fail => anti-pattern
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/DistributedTestRuleExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/DistributedRuleAsClassRuleExampleTest.java
similarity index 50%
rename from geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/DistributedTestRuleExampleTest.java
rename to geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/DistributedRuleAsClassRuleExampleTest.java
index 86f6722..64a31b7 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/DistributedTestRuleExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/DistributedRuleAsClassRuleExampleTest.java
@@ -18,18 +18,40 @@ import static org.apache.geode.test.dunit.VM.getVMCount;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
-public class DistributedTestRuleExampleTest {
+/**
+ * {@code DistributedRule} can also be used in DistributedTests as a {@code ClassRule}. This ensures
+ * that DUnit VMs will be available to non-Class {@code Rule}s. However, you may want to declare
+ * {@code DistributedRule.TearDown} as a non-Class {@code Rule} so that check for suspect strings is
+ * performed after each test method.
+ *
+ * <pre>
+ * {@literal @}ClassRule
+ * public static DistributedRule distributedRule = new DistributedRule();
+ *
+ * {@literal @}Rule
+ * public DistributedRule.TearDown distributedRuleTearDown = new DistributedRule.TearDown();
+ *
+ * {@literal @}Test
+ * public void shouldHaveFourDUnitVMsByDefault() {
+ *   assertThat(getVMCount()).isEqualTo(4);
+ * }
+ * </pre>
+ */
+public class DistributedRuleAsClassRuleExampleTest {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedRule = new DistributedRule();
+
+  @Rule
+  public DistributedRule.TearDown distributedRuleTearDown = new DistributedRule.TearDown();
 
   @Test
-  public void shouldHaveFourDUnitVMsByDefault() throws Exception {
+  public void hasFourVMsByDefault() {
     assertThat(getVMCount()).isEqualTo(4);
   }
 }
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java
index eb29b96..d6a1757 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java
@@ -22,13 +22,13 @@ import org.junit.ClassRule;
 import org.junit.Test;
 
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 public class InvokeRunnableExampleTest {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void invokeHelloWorldForEachVMInGetAllVMs() throws Exception {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java
index d08309d..2ee0d24 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java
@@ -32,14 +32,14 @@ import org.junit.Test;
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
 public class LocatorPortClusterExampleTest implements Serializable {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   private static InternalCache cache;
 
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java
index 7cc5e5e..ed501d6 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java
@@ -19,14 +19,14 @@ import org.junit.Before;
 import org.junit.ClassRule;
 import org.junit.Test;
 
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 @SuppressWarnings("serial")
 public class ReplaceTryFinallyExampleTest {
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void doNotUseTryFinallyInTest() {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java
index cb265af..12b342b 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java
@@ -30,13 +30,13 @@ import org.junit.Test;
 import org.apache.geode.internal.cache.GemFireCacheImpl;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 @SuppressWarnings("serial")
 public class CacheRuleBuilderDistributedTest {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void defaultDoesNothing() {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java
index 89f97df..f561857 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java
@@ -30,13 +30,13 @@ import org.junit.Test;
 import org.apache.geode.internal.cache.GemFireCacheImpl;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 @SuppressWarnings("serial")
 public class CacheRuleDistributedTest {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedTestRule = new DistributedRule();
 
   @Test
   public void defaultDoesNothing() {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/ClientCacheRuleDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/ClientCacheRuleDistributedTest.java
new file mode 100644
index 0000000..23e7b84
--- /dev/null
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/ClientCacheRuleDistributedTest.java
@@ -0,0 +1,114 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package org.apache.geode.test.dunit.rules.tests;
+
+import static java.util.concurrent.TimeUnit.MINUTES;
+import static org.apache.geode.cache.RegionShortcut.REPLICATE;
+import static org.apache.geode.cache.client.ClientRegionShortcut.CACHING_PROXY;
+import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
+import static org.apache.geode.test.dunit.VM.getHostName;
+import static org.apache.geode.test.dunit.VM.getVM;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.timeout;
+import static org.mockito.Mockito.verify;
+
+import java.io.Serializable;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.geode.cache.Region;
+import org.apache.geode.cache.client.ClientCacheFactory;
+import org.apache.geode.cache.server.CacheServer;
+import org.apache.geode.management.membership.ClientMembership;
+import org.apache.geode.management.membership.ClientMembershipListener;
+import org.apache.geode.test.dunit.VM;
+import org.apache.geode.test.dunit.rules.CacheRule;
+import org.apache.geode.test.dunit.rules.ClientCacheRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
+import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
+
+public class ClientCacheRuleDistributedTest implements Serializable {
+
+  private static ClientMembershipListener spyClientMembershipListener;
+
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
+
+  @Rule
+  public CacheRule cacheRule = new CacheRule();
+
+  @Rule
+  public ClientCacheRule clientCacheRule = new ClientCacheRule();
+
+  @Rule
+  public SerializableTestName testName = new SerializableTestName();
+
+  private String serverHost;
+  private int serverPort;
+
+  private String regionName;
+
+  private VM serverVM;
+  private VM clientVM;
+
+  @Before
+  public void setUp() {
+    serverVM = getVM(0);
+    clientVM = getVM(1);
+
+    regionName = getClass().getSimpleName() + "_" + testName.getMethodName();
+
+    serverPort = serverVM.invoke(() -> {
+      cacheRule.createCache();
+      cacheRule.getCache().createRegionFactory(REPLICATE).create(regionName);
+
+      spyClientMembershipListener = spy(ClientMembershipListener.class);
+      ClientMembership.registerClientMembershipListener(spyClientMembershipListener);
+
+      CacheServer cacheServer = cacheRule.getCache().addCacheServer();
+      cacheServer.setPort(0);
+      cacheServer.start();
+      return cacheServer.getPort();
+    });
+
+    serverHost = getHostName();
+  }
+
+  @After
+  public void tearDown() {
+    invokeInEveryVM(() -> spyClientMembershipListener = null);
+  }
+
+  @Test
+  public void createClient() {
+    clientVM.invoke(() -> {
+      clientCacheRule
+          .createClientCache(new ClientCacheFactory().addPoolServer(serverHost, serverPort));
+
+      Region<String, String> region =
+          clientCacheRule.getClientCache().<String, String>createClientRegionFactory(
+              CACHING_PROXY).create(regionName);
+      region.put("KEY", "VALUE");
+    });
+
+    serverVM.invoke(() -> {
+      verify(spyClientMembershipListener, timeout(MINUTES.toMillis(2))).memberJoined(any());
+    });
+  }
+}
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java
index 34c4838..479c31b 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java
@@ -29,7 +29,7 @@ import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
 
 public class DistributedRestoreSystemPropertiesDistributedTest {
@@ -39,7 +39,7 @@ public class DistributedRestoreSystemPropertiesDistributedTest {
   private static final String PREEXISTING_VALUE = "PREEXISTING_VALUE";
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @BeforeClass
   public static void assertPreconditions() {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedTestRuleDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRuleDistributedTest.java
similarity index 76%
rename from geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedTestRuleDistributedTest.java
rename to geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRuleDistributedTest.java
index e631f62..06aa604 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedTestRuleDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRuleDistributedTest.java
@@ -21,16 +21,15 @@ import static org.assertj.core.api.Assertions.assertThat;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
-public class DistributedTestRuleDistributedTest {
+public class DistributedRuleDistributedTest {
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
-  public void shouldHaveFourOrMoreDUnitVMsByDefault() throws Exception {
-    assertThat(getVMCount()).isGreaterThanOrEqualTo(DEFAULT_VM_COUNT);
+  public void hasFourVMsByDefault() {
+    assertThat(getVMCount()).isEqualTo(DEFAULT_VM_COUNT);
   }
 }
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedCountersRuleDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedCountersRuleDistributedTest.java
index 6ca747b..0a9cffd 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedCountersRuleDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedCountersRuleDistributedTest.java
@@ -33,104 +33,103 @@ import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.dunit.rules.SharedCountersRule;
 
-
 @SuppressWarnings("serial")
 public class SharedCountersRuleDistributedTest implements Serializable {
 
   private static final int TWO_MINUTES_MILLIS = 2 * 60 * 1000;
-  private static final String ID1 = "ID1";
+  private static final String ID = "ID";
 
   private static ExecutorService executor;
   private static CompletableFuture<Void> combined;
   private static List<CompletableFuture<Boolean>> futures;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
-  public SharedCountersRule sharedCountersRule = SharedCountersRule.builder().build();
+  public SharedCountersRule sharedCountersRule = new SharedCountersRule();
 
   @Test
-  public void inc_withoutInit_throwsNullPointerException() throws Exception {
-    assertThatThrownBy(() -> sharedCountersRule.increment(ID1))
+  public void inc_withoutInit_throwsNullPointerException() {
+    assertThatThrownBy(() -> sharedCountersRule.increment(ID))
         .isInstanceOf(NullPointerException.class);
   }
 
   @Test
-  public void ref_withoutInit_returnsNull() throws Exception {
-    assertThat(sharedCountersRule.reference(ID1)).isNull();
+  public void ref_withoutInit_returnsNull() {
+    assertThat(sharedCountersRule.reference(ID)).isNull();
   }
 
   @Test
-  public void init_get_returnsZero() throws Exception {
-    assertThat(sharedCountersRule.initialize(ID1).reference(ID1).get()).isEqualTo(0);
+  public void init_get_returnsZero() {
+    assertThat(sharedCountersRule.initialize(ID).reference(ID).get()).isEqualTo(0);
   }
 
   @Test
-  public void initTwice_noop() throws Exception {
-    assertThat(sharedCountersRule.initialize(ID1).reference(ID1).get()).isEqualTo(0);
+  public void initTwice_noop() {
+    assertThat(sharedCountersRule.initialize(ID).reference(ID).get()).isEqualTo(0);
   }
 
   @Test
-  public void inc_get_returnsOne() throws Exception {
-    assertThat(sharedCountersRule.initialize(ID1).increment(ID1).reference(ID1).get()).isEqualTo(1);
+  public void inc_get_returnsOne() {
+    assertThat(sharedCountersRule.initialize(ID).increment(ID).reference(ID).get()).isEqualTo(1);
   }
 
   @Test
-  public void incDeltaTwo_get_returnsTwo() throws Exception {
-    assertThat(sharedCountersRule.initialize(ID1).increment(ID1, 2).reference(ID1).get())
+  public void incDeltaTwo_get_returnsTwo() {
+    assertThat(sharedCountersRule.initialize(ID).increment(ID, 2).reference(ID).get())
         .isEqualTo(2);
   }
 
   @Test
-  public void incTwice_returnsTwo() throws Exception {
+  public void incTwice_returnsTwo() {
     assertThat(
-        sharedCountersRule.initialize(ID1).increment(ID1).increment(ID1).reference(ID1).get())
+        sharedCountersRule.initialize(ID).increment(ID).increment(ID).reference(ID).get())
             .isEqualTo(2);
   }
 
   @Test
-  public void inc_getTotal_returnsOne() throws Exception {
-    sharedCountersRule.initialize(ID1).increment(ID1);
-    int total = sharedCountersRule.getTotal(ID1);
+  public void inc_getTotal_returnsOne() {
+    sharedCountersRule.initialize(ID).increment(ID);
+    int total = sharedCountersRule.getTotal(ID);
     assertThat(total).isEqualTo(1);
   }
 
   @Test
-  public void inc_fromDUnitVMs_getTotal_returnsFour() throws Exception {
-    sharedCountersRule.initialize(ID1);
+  public void inc_fromDUnitVMs_getTotal_returnsFour() {
+    sharedCountersRule.initialize(ID);
     for (VM vm : getAllVMs()) {
       vm.invoke(() -> {
-        sharedCountersRule.increment(ID1);
+        sharedCountersRule.increment(ID);
       });
     }
-    assertThat(sharedCountersRule.getTotal(ID1)).isEqualTo(getVMCount());
+    assertThat(sharedCountersRule.getTotal(ID)).isEqualTo(getVMCount());
   }
 
   @Test
-  public void inc_fromEveryVM_getTotal_returnsFive() throws Exception {
-    sharedCountersRule.initialize(ID1).increment(ID1);
+  public void inc_fromEveryVM_getTotal_returnsFive() {
+    sharedCountersRule.initialize(ID).increment(ID);
     for (VM vm : getAllVMs()) {
       vm.invoke(() -> {
-        sharedCountersRule.increment(ID1);
+        sharedCountersRule.increment(ID);
       });
     }
-    assertThat(sharedCountersRule.getTotal(ID1)).isEqualTo(getVMCount() + 1);
+    assertThat(sharedCountersRule.getTotal(ID)).isEqualTo(getVMCount() + 1);
   }
 
   @Test
   public void inc_multipleThreads_fromEveryVM_getTotal_returnsExpectedTotal() throws Exception {
     int numThreads = 10;
     givenExecutorInEveryVM(numThreads);
-    givenSharedCounterFor(ID1);
+    givenSharedCounterFor(ID);
 
-    // inc ID1 in numThreads in every VM (4 DUnit VMs + Controller VM)
-    submitIncrementTasks(numThreads, ID1);
+    // inc ID in numThreads in every VM (4 DUnit VMs + Controller VM)
+    submitIncrementTasks(numThreads, ID);
     for (VM vm : getAllVMs()) {
-      vm.invoke(() -> submitIncrementTasks(numThreads, ID1));
+      vm.invoke(() -> submitIncrementTasks(numThreads, ID));
     }
 
     // await CompletableFuture in every VM
@@ -145,7 +144,7 @@ public class SharedCountersRuleDistributedTest implements Serializable {
     int controllerPlusDUnitVMCount = dunitVMCount + 1;
     int expectedIncrements = controllerPlusDUnitVMCount * numThreads;
 
-    assertThat(sharedCountersRule.getTotal(ID1)).isEqualTo(expectedIncrements);
+    assertThat(sharedCountersRule.getTotal(ID)).isEqualTo(expectedIncrements);
   }
 
   private void givenSharedCounterFor(final Serializable id) {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedErrorCollectorDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedErrorCollectorDistributedTest.java
index a06ddca..0887355 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedErrorCollectorDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/SharedErrorCollectorDistributedTest.java
@@ -33,18 +33,17 @@ import org.junit.runner.Result;
 import org.junit.runner.notification.Failure;
 
 import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.dunit.rules.SharedErrorCollector;
 import org.apache.geode.test.junit.runners.TestRunner;
 
-
 @SuppressWarnings("serial")
 public class SharedErrorCollectorDistributedTest {
 
   static final String MESSAGE = "Failure message";
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Before
   public void setUp() {
@@ -58,7 +57,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void checkThatFailureInControllerIsReported() throws Exception {
+  public void checkThatFailureInControllerIsReported() {
     Result result = TestRunner.runTest(CheckThatFailsInController.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -69,7 +68,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void addErrorInControllerIsReported() throws Exception {
+  public void addErrorInControllerIsReported() {
     Result result = TestRunner.runTest(AddErrorInController.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -80,7 +79,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void checkThatFailureInDUnitVMIsReported() throws Exception {
+  public void checkThatFailureInDUnitVMIsReported() {
     Result result = TestRunner.runTest(CheckThatFailsInDUnitVM.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -91,7 +90,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void checkThatFailureInEveryDUnitVMIsReported() throws Exception {
+  public void checkThatFailureInEveryDUnitVMIsReported() {
     Result result = TestRunner.runTest(CheckThatFailsInEveryDUnitVM.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -105,7 +104,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void checkThatFailureInEveryDUnitVMAndControllerIsReported() throws Exception {
+  public void checkThatFailureInEveryDUnitVMAndControllerIsReported() {
     Result result = TestRunner.runTest(CheckThatFailsInEveryDUnitVMAndController.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -126,7 +125,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void checkThatFailureInMethodInDUnitVMIsReported() throws Exception {
+  public void checkThatFailureInMethodInDUnitVMIsReported() {
     Result result = TestRunner.runTest(CheckThatFailsInMethodInDUnitVM.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -137,7 +136,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void addErrorInDUnitVMIsReported() throws Exception {
+  public void addErrorInDUnitVMIsReported() {
     Result result = TestRunner.runTest(AddErrorInDUnitVM.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -148,7 +147,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void addErrorInEveryDUnitVMIsReported() throws Exception {
+  public void addErrorInEveryDUnitVMIsReported() {
     Result result = TestRunner.runTest(AddErrorInEveryDUnitVM.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -162,7 +161,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void addErrorInEveryDUnitVMAndControllerIsReported() throws Exception {
+  public void addErrorInEveryDUnitVMAndControllerIsReported() {
     Result result = TestRunner.runTest(AddErrorInEveryDUnitVMAndController.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -183,7 +182,7 @@ public class SharedErrorCollectorDistributedTest {
   }
 
   @Test
-  public void addErrorInMethodInDUnitVMIsReported() throws Exception {
+  public void addErrorInMethodInDUnitVMIsReported() {
     Result result = TestRunner.runTest(AddErrorInMethodInDUnitVM.class);
 
     assertThat(result.wasSuccessful()).isFalse();
@@ -202,7 +201,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void assertionFailsInController() throws Exception {
+    public void assertionFailsInController() {
       errorCollector.checkThat(MESSAGE, false, is(true));
     }
   }
@@ -216,7 +215,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void exceptionInController() throws Exception {
+    public void exceptionInController() {
       errorCollector.addError(new NullPointerException(MESSAGE));
     }
   }
@@ -230,7 +229,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void assertionFailsInDUnitVM() throws Exception {
+    public void assertionFailsInDUnitVM() {
       getVM(0).invoke(() -> errorCollector.checkThat(MESSAGE, false, is(true)));
     }
   }
@@ -244,7 +243,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void assertionFailsInEveryDUnitVM() throws Exception {
+    public void assertionFailsInEveryDUnitVM() {
       for (VM vm : getAllVMs()) {
         vm.invoke(
             () -> errorCollector.checkThat(MESSAGE + " in VM-" + vm.getId(), false, is(true)));
@@ -261,7 +260,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void assertionFailsInEveryDUnitVM() throws Exception {
+    public void assertionFailsInEveryDUnitVM() {
       errorCollector.checkThat(MESSAGE + " in VM-CONTROLLER", false, is(true));
       for (VM vm : getAllVMs()) {
         vm.invoke(
@@ -279,7 +278,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void assertionFailsInDUnitVM() throws Exception {
+    public void assertionFailsInDUnitVM() {
       getVM(0).invoke(() -> checkThat());
     }
 
@@ -297,7 +296,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void exceptionInDUnitVM() throws Exception {
+    public void exceptionInDUnitVM() {
       getVM(0).invoke(() -> errorCollector.addError(new NullPointerException(MESSAGE)));
     }
   }
@@ -311,7 +310,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void exceptionInEveryDUnitVM() throws Exception {
+    public void exceptionInEveryDUnitVM() {
       for (VM vm : getAllVMs()) {
         vm.invoke(() -> errorCollector
             .addError(new NullPointerException(MESSAGE + " in VM-" + vm.getId())));
@@ -328,7 +327,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void exceptionInEveryDUnitVM() throws Exception {
+    public void exceptionInEveryDUnitVM() {
       errorCollector.addError(new NullPointerException(MESSAGE + " in VM-CONTROLLER"));
       for (VM vm : getAllVMs()) {
         vm.invoke(() -> errorCollector
@@ -346,7 +345,7 @@ public class SharedErrorCollectorDistributedTest {
     public SharedErrorCollector errorCollector = new SharedErrorCollector();
 
     @Test
-    public void exceptionInDUnitVM() throws Exception {
+    public void exceptionInDUnitVM() {
       getVM(0).invoke(() -> addError());
     }
 
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java
index 72733a9..acb0648 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/internal/JUnit4DistributedTestCase.java
@@ -56,7 +56,7 @@ import org.apache.geode.test.dunit.DUnitBlackboard;
 import org.apache.geode.test.dunit.Disconnect;
 import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.dunit.standalone.DUnitLauncher;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
@@ -564,7 +564,7 @@ public abstract class JUnit4DistributedTestCase implements DistributedTestFixtur
 
   private static final void tearDownVM() {
     closeCache();
-    DistributedTestRule.TearDown.tearDownInVM();
+    DistributedRule.TearDown.tearDownInVM();
     cleanDiskDirs();
   }
 
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/AbstractDistributedTestRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/AbstractDistributedRule.java
similarity index 90%
rename from geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/AbstractDistributedTestRule.java
rename to geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/AbstractDistributedRule.java
index d5fde3b..3d13c70 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/AbstractDistributedTestRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/AbstractDistributedRule.java
@@ -25,22 +25,22 @@ import org.apache.geode.test.dunit.standalone.DUnitLauncher;
 import org.apache.geode.test.junit.rules.serializable.SerializableStatement;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestRule;
 
-class AbstractDistributedTestRule implements SerializableTestRule {
+class AbstractDistributedRule implements SerializableTestRule {
 
   private final int vmCount;
   private final RemoteInvoker invoker;
 
   private volatile int beforeVmCount;
 
-  protected AbstractDistributedTestRule() {
+  protected AbstractDistributedRule() {
     this(DEFAULT_VM_COUNT);
   }
 
-  protected AbstractDistributedTestRule(final int vmCount) {
+  protected AbstractDistributedRule(final int vmCount) {
     this(vmCount, new RemoteInvoker());
   }
 
-  protected AbstractDistributedTestRule(final int vmCount, final RemoteInvoker invoker) {
+  protected AbstractDistributedRule(final int vmCount, final RemoteInvoker invoker) {
     this.vmCount = vmCount;
     this.invoker = invoker;
   }
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java
index b08d71b..a75c22f 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java
@@ -39,7 +39,7 @@ import org.apache.geode.test.dunit.VM;
  *
  * <pre>
  * {@literal @}Rule
- * public DistributedTestRule distributedTestRule = new DistributedTestRule();
+ * public DistributedRule distributedRule = new DistributedRule();
  *
  * {@literal @}Rule
  * public CacheRule cacheRule = new CacheRule();
@@ -53,35 +53,37 @@ import org.apache.geode.test.dunit.VM;
  * public void createRegionWithRegionFactory() {
  *   getVM(0).invoke(() -> {
  *     RegionFactory regionFactory = cacheRule.getCache().createRegionFactory();
- *     ...
+ *     Region region = regionFactory.create("RegionName");
+ *     assertThat(region).isNotNull();
  *   });
  * }
  * </pre>
  *
  * <p>
- * {@link CacheRule.Builder} can be used to construct an instance with more options:
+ * {@link CacheRule.Builder} can also be used to construct an instance with more options:
  *
  * <pre>
- * {@literal @}ClassRule
- * public static DistributedTestRule distributedTestRule = new DistributedTestRule();
- *
  * {@literal @}Rule
- * public DistributedTestRule.TearDown tearDown = new DistributedTestRule.TearDown();
+ * public DistributedRule distributedRule = new DistributedRule();
  *
  * {@literal @}Rule
  * public CacheRule cacheRule = CacheRule.builder().createCacheInAll().build();
  *
  * {@literal @}Test
- * public void everyVMShouldHaveACache() {
+ * public void controllerVmCreatedCache() {
  *   assertThat(cacheRule.getCache()).isNotNull();
+ * }
+ *
+ * {@literal @}Test
+ * public void remoteVmsCreatedCache() {
  *   for (VM vm : Host.getHost(0).getAllVMs()) {
  *     vm.invoke(() -> assertThat(cacheRule.getCache()).isNotNull());
  *   }
  * }
  * </pre>
  */
-@SuppressWarnings({"serial", "unused"})
-public class CacheRule extends AbstractDistributedTestRule {
+@SuppressWarnings("serial,unused")
+public class CacheRule extends AbstractDistributedRule {
 
   private static volatile InternalCache cache;
 
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CleanupDUnitVMsRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CleanupDUnitVMsRule.java
index 145f5b8..5d330de 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CleanupDUnitVMsRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CleanupDUnitVMsRule.java
@@ -19,7 +19,7 @@ import static org.apache.geode.test.dunit.VM.getAllVMs;
 
 import org.apache.geode.test.dunit.VM;
 
-public class CleanupDUnitVMsRule extends AbstractDistributedTestRule {
+public class CleanupDUnitVMsRule extends AbstractDistributedRule {
 
   @Override
   public void before() {
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java
index 9391e2b..824b55b 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java
@@ -14,6 +14,7 @@
  */
 package org.apache.geode.test.dunit.rules;
 
+import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.ArrayList;
@@ -23,7 +24,6 @@ import java.util.Properties;
 import org.apache.geode.cache.client.ClientCacheFactory;
 import org.apache.geode.cache.client.internal.InternalClientCache;
 import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.test.dunit.Disconnect;
 import org.apache.geode.test.dunit.VM;
 
 /**
@@ -31,27 +31,39 @@ import org.apache.geode.test.dunit.VM;
  * {@code CacheTestCase}.
  *
  * <p>
- * {@code ClientCacheRule} follows the standard convention of using a {@code Builder} for
- * configuration as introduced in the JUnit {@code Timeout} rule.
- *
- * <p>
  * {@code ClientCacheRule} can be used in DistributedTests as a {@code Rule}:
  *
  * <pre>
- * {@literal @}ClassRule
- * public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+ * {@literal @}Rule
+ * public DistributedRule distributedRule = new DistributedRule();
  *
  * {@literal @}Rule
  * public ClientCacheRule clientCacheRule = new ClientCacheRule();
  *
  * {@literal @}Test
- * public void hasClient() {
- *   vm0.invoke(() -> clientCacheRule.createClientCache());
+ * public void createClientCache() {
+ *   vm0.invoke(() -> clientCacheRule.createClientCache(new ClientCacheFactory().setPoolThreadLocalConnections(true));
+ * }
+ * </pre>
+ *
+ * <p>
+ * {@link ClientCacheRule.Builder} can also be used to construct an instance with more options:
+ *
+ * <pre>
+ * {@literal @}Rule
+ * public DistributedRule distributedRule = new DistributedRule();
+ *
+ * {@literal @}Rule
+ * public ClientCacheRule clientCacheRule = ClientCacheRule.builder().createClientCacheInLocal().build();
+ *
+ * {@literal @}Test
+ * public void controllerVmCreatedClientCache() {
+ *   assertThat(clientCacheRule.getClientCache()).isNotNull();
  * }
  * </pre>
  */
-@SuppressWarnings({"serial", "unused"})
-public class ClientCacheRule extends AbstractDistributedTestRule {
+@SuppressWarnings("serial,unused")
+public class ClientCacheRule extends AbstractDistributedRule {
 
   private static volatile InternalClientCache clientCache;
 
@@ -93,7 +105,7 @@ public class ClientCacheRule extends AbstractDistributedTestRule {
     invoker().invokeInEveryVMAndController(() -> closeAndNullClientCache());
 
     if (disconnectAfter) {
-      Disconnect.disconnectAllFromDS();
+      disconnectAllFromDS();
     }
   }
 
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRestoreSystemProperties.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRestoreSystemProperties.java
index d93502a..7aef047 100755
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRestoreSystemProperties.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRestoreSystemProperties.java
@@ -20,7 +20,7 @@ import org.apache.geode.test.junit.rules.accessible.AccessibleRestoreSystemPrope
  * Distributed version of RestoreSystemProperties which affects all DUnit JVMs including the Locator
  * JVM.
  */
-public class DistributedRestoreSystemProperties extends AbstractDistributedTestRule {
+public class DistributedRestoreSystemProperties extends AbstractDistributedRule {
 
   private static final AccessibleRestoreSystemProperties restoreSystemProperties =
       new AccessibleRestoreSystemProperties();
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedTestRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRule.java
similarity index 71%
rename from geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedTestRule.java
rename to geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRule.java
index e3f05c9..c755746 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedTestRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/DistributedRule.java
@@ -48,39 +48,66 @@ import org.apache.geode.test.dunit.standalone.DUnitLauncher;
 import org.apache.geode.test.junit.rules.serializable.SerializableExternalResource;
 
 /**
- * JUnit Rule that launches DistributedTest VMs without {@code DistributedTestCase}. Test class may
- * need to implement {@code Serializable}.
+ * JUnit Rule that launches DistributedTest VMs and scans all log output for suspect strings without
+ * {@code DistributedTestCase}. The test class may need to implement {@code Serializable} if it
+ * uses lambdas to perform {@code RMI} invocations on {@code VM}s.
  *
  * <p>
- * {@code DistributedTestRule} can be used in DistributedTests as a {@code ClassRule}. This ensures
- * that DUnit VMs will be available to non-Class {@code Rule}s. Unfortunately, you will need to
- * declare {@code DistributedTestRule.TearDown} as a non-Class {@code Rule}. Without
- * {@code DistributedTestRule.TearDown} grep for suspect strings will not be invoked after each
- * test.
+ * {@code DistributedRule} can be used in DistributedTests as a {@code Rule}. This will ensure
+ * that checking for suspect strings is performed after each test method.
  *
  * <pre>
- * {@literal @}ClassRule
- * public static DistributedTestRule distributedTestRule = new DistributedTestRule();
- *
  * {@literal @}Rule
- * public DistributedTestRule.TearDown tearDownRule = new DistributedTestRule.TearDown();
+ * public DistributedRule distributedRule = new DistributedRule();
  *
  * {@literal @}Test
- * public void shouldHaveFourDUnitVMsByDefault() {
+ * public void shouldHaveFourVMsByDefault() {
  *   assertThat(getVMCount()).isEqualTo(4);
  * }
  * </pre>
  *
  * <p>
- * Or as a non-Class {@code Rule}. This usage does <bold>not</bold> require separate declaration of
- * {@code DistributedTestRule.TearDown}:
+ * You may specify a non-default number of {@code VM}s for the test when constructing
+ * {@code DistributedRule}.
+ *
+ * <p>
+ * Example of specifying fewer that the default number of {@code VM}s (which is 4):
+ *
+ * <pre>
+ * {@literal @}Rule
+ * public DistributedRule distributedRule = new DistributedRule(1);
+ *
+ * {@literal @}Test
+ * public void hasOneVM() {
+ *   assertThat(getVMCount()).isEqualTo(1);
+ * }
+ * </pre>
+ *
+ * <p>
+ * Example of specifying greater that the default number of {@code VM}s (which is 4):
  *
  * <pre>
  * {@literal @}Rule
- * public DistributedTestRule distributedTestRule = new DistributedTestRule();
+ * public DistributedRule distributedRule = new DistributedRule(8);
+ *
+ * {@literal @}Test
+ * public void hasEightVMs() {
+ *   assertThat(getVMCount()).isEqualTo(8);
+ * }
+ * </pre>
+ *
+ * <p>
+ * {@code DistributedRule} can also be used in DistributedTests as a {@code ClassRule}. This ensures
+ * that DUnit VMs will be available to non-Class {@code Rule}s. However, you may want to declare
+ * {@code DistributedRule.TearDown} as a non-Class {@code Rule} so that check for suspect strings is
+ * performed after each test method.
+ *
+ * <pre>
+ * {@literal @}ClassRule
+ * public static DistributedRule distributedRule = new DistributedRule();
  *
  * {@literal @}Rule
- * public DistributedTestRule.TearDown tearDownRule = new DistributedTestRule.TearDown();
+ * public DistributedRule.TearDown distributedRuleTearDown = new DistributedRule.TearDown();
  *
  * {@literal @}Test
  * public void shouldHaveFourDUnitVMsByDefault() {
@@ -89,32 +116,40 @@ import org.apache.geode.test.junit.rules.serializable.SerializableExternalResour
  * </pre>
  */
 @SuppressWarnings("unused")
-public class DistributedTestRule extends AbstractDistributedTestRule {
+public class DistributedRule extends AbstractDistributedRule {
 
   private final int vmCount;
 
   /**
-   * Use {@code Builder} for more options in constructing {@code DistributedTestRule}.
+   * Use {@code Builder} for more options in constructing {@code DistributedRule}.
    */
   public static Builder builder() {
     return new Builder();
   }
 
-  public DistributedTestRule() {
+  /**
+   * Constructs DistributedRule and launches the default number of {@code VM}s (which is 4).
+   */
+  public DistributedRule() {
     this(new Builder());
   }
 
-  public DistributedTestRule(final int vmCount) {
+  /**
+   * Constructs DistributedRule and launches the specified number of {@code VM}s.
+   *
+   * @param vmCount specified number of VMs
+   */
+  public DistributedRule(final int vmCount) {
     this(new Builder().withVMCount(vmCount));
   }
 
-  DistributedTestRule(final Builder builder) {
+  DistributedRule(final Builder builder) {
     super(builder.vmCount);
     vmCount = builder.vmCount;
   }
 
   @Override
-  protected void before() throws Exception {
+  protected void before() {
     DUnitLauncher.launchIfNeeded(vmCount);
     for (int i = 0; i < vmCount; i++) {
       assertThat(getVM(i)).isNotNull();
@@ -127,7 +162,7 @@ public class DistributedTestRule extends AbstractDistributedTestRule {
   }
 
   /**
-   * Builds an instance of CacheRule.
+   * Builds an instance of DistributedRule.
    */
   public static class Builder {
 
@@ -141,8 +176,8 @@ public class DistributedTestRule extends AbstractDistributedTestRule {
       return this;
     }
 
-    public DistributedTestRule build() {
-      return new DistributedTestRule(this);
+    public DistributedRule build() {
+      return new DistributedRule(this);
     }
   }
 
@@ -150,16 +185,16 @@ public class DistributedTestRule extends AbstractDistributedTestRule {
    * Cleans up horrendous things like static state and non-default instances in Geode.
    *
    * <p>
-   * {@link DistributedTestRule#after()} invokes the same cleanup that this Rule does, but if you
-   * defined {@code DistributedTestRule} as a {@code ClassRule} then you should declare TearDown
+   * {@link DistributedRule#after()} invokes the same cleanup that this Rule does, but if you
+   * defined {@code DistributedRule} as a {@code ClassRule} then you should declare TearDown
    * as a non-class {@code Rule} in your test:
    *
    * <pre>
    * {@literal @}ClassRule
-   * public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+   * public static DistributedRule distributedRule = new DistributedRule();
    *
    * {@literal @}Rule
-   * public DistributedTestRule.TearDown tearDownRule = new DistributedTestRule.TearDown();
+   * public DistributedRule.TearDown tearDownRule = new DistributedRule.TearDown();
    *
    * {@literal @}Test
    * public void shouldHaveFourDUnitVMsByDefault() {
@@ -173,7 +208,7 @@ public class DistributedTestRule extends AbstractDistributedTestRule {
   public static class TearDown extends SerializableExternalResource {
 
     @Override
-    protected void before() throws Exception {
+    protected void before() {
       // nothing
     }
 
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedCountersRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedCountersRule.java
index 9aa0273..2c1c437 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedCountersRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedCountersRule.java
@@ -29,34 +29,59 @@ import org.apache.geode.test.dunit.VM;
  * JUnit Rule that provides SharedCounters in DistributedTest VMs.
  *
  * <p>
- * {@code SharedCountersRule} follows the standard convention of using a {@code Builder} for
- * configuration as introduced in the JUnit {@code Timeout} rule.
- *
- * <p>
  * {@code SharedCountersRule} can be used in DistributedTests as a {@code Rule}:
  *
  * <pre>
- * {@literal @}ClassRule
- * public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+ * {@literal @}Rule
+ * public DistributedRule distributedRule = new DistributedRule();
  *
  * {@literal @}Rule
- * public CacheRule cacheRule = CacheRule.builder().createCacheInAll().build();
+ * public SharedCountersRule sharedCountersRule = new SharedCountersRule();
+ *
+ * {@literal @}Before
+ * public void setUp() {
+ *   sharedCountersRule.initialize("counter");
+ * }
  *
+ * {@literal @}Test
+ * public void incrementCounterInEveryVm() {
+ *   sharedCountersRule.initialize("counter");
+ *   for (VM vm : getAllVMs()) {
+ *     vm.invoke(() -> {
+ *       sharedCountersRule.increment("counter");
+ *     });
+ *   }
+ *   assertThat(sharedCountersRule.getTotal("counter")).isEqualTo(getVMCount());
+ * }
+ * </pre>
+ *
+ * <p>
+ * {@link SharedCountersRule.Builder} can also be used to construct an instance with more options:
+ *
+ * <pre>
  * {@literal @}Rule
- * public SharedCountersRule sharedCountersRule = SharedCountersRule.builder().withId(ID1).build();
+ * public DistributedRule distributedRule = new DistributedRule();
+ *
+ * {@literal @}Rule
+ * public SharedCountersRule sharedCountersRule = SharedCountersRule.builder().withId("counter").build();
  *
  * {@literal @}Test
- * public void everyVMShouldHaveACache() {
- *   sharedCountersRule.increment(ID1);
- *   for (VM vm : Host.getHost(0).getAllVMs()) {
- *     vm.invoke(() -> sharedCountersRule.increment(ID1));
+ * public void incrementCounterInEveryVm() {
+ *   for (VM vm : getAllVMs()) {
+ *     vm.invoke(() -> {
+ *       sharedCountersRule.increment("counter");
+ *     });
  *   }
- *   assertThat(sharedCountersRule.getTotal(ID1)).isEqualTo(5);
+ *   assertThat(sharedCountersRule.getTotal("counter")).isEqualTo(getVMCount());
  * }
  * </pre>
+ *
+ * <p>
+ * For a more thorough example, please see
+ * {@code org.apache.geode.cache.ReplicateCacheListenerDistributedTest} in the tests of geode-core.
  */
-@SuppressWarnings({"serial", "unused"})
-public class SharedCountersRule extends AbstractDistributedTestRule {
+@SuppressWarnings("serial,unused")
+public class SharedCountersRule extends AbstractDistributedRule {
 
   private static volatile Map<Serializable, AtomicInteger> counters;
 
@@ -75,7 +100,7 @@ public class SharedCountersRule extends AbstractDistributedTestRule {
   }
 
   @Override
-  protected void before() throws Exception {
+  protected void before() {
     invoker().invokeInEveryVMAndController(() -> counters = new ConcurrentHashMap<>());
     for (Serializable id : idsToInitInBefore) {
       invoker().invokeInEveryVMAndController(() -> initialize(id));
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedErrorCollector.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedErrorCollector.java
index 350ea00..9afc08d 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedErrorCollector.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/SharedErrorCollector.java
@@ -28,29 +28,33 @@ import org.apache.geode.test.dunit.VM;
 
 /**
  * JUnit Rule that provides a shared ErrorCollector in all DistributedTest VMs. In particular, this
- * is a useful way to add assertions to CacheListener callbacks which are then registered in
- * multiple DistributedTest VMs.
+ * is a useful way to add assertions to CacheListener methods or other callbacks which are then
+ * registered in multiple DistributedTest VMs.
  *
  * <p>
  * {@code SharedErrorCollector} can be used in DistributedTests as a {@code Rule}:
  *
  * <pre>
- * {@literal @}ClassRule
- * public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+ * {@literal @}Rule
+ * public DistributedRule distributedRule = new DistributedRule();
  *
  * {@literal @}Rule
  * public SharedErrorCollector errorCollector = new SharedErrorCollector();
  *
  * {@literal @}Test
- * public void everyVMFailsAssertion() {
- *   for (VM vm : Host.getHost(0).getAllVMs()) {
+ * public void everyVmFailsAssertion() {
+ *   for (VM vm : VM.getAllVMs()) {
  *     vm.invoke(() -> errorCollector.checkThat("Failure in VM-" + vm.getId(), false, is(true)));
  *   }
  * }
  * </pre>
+ *
+ * <p>
+ * For a more thorough example, please see
+ * {@code org.apache.geode.cache.ReplicateCacheListenerDistributedTest} in the tests of geode-core.
  */
-@SuppressWarnings({"serial", "unused"})
-public class SharedErrorCollector extends AbstractDistributedTestRule {
+@SuppressWarnings("serial,unused")
+public class SharedErrorCollector extends AbstractDistributedRule {
 
   private static volatile ProtectedErrorCollector errorCollector;
 
@@ -59,7 +63,7 @@ public class SharedErrorCollector extends AbstractDistributedTestRule {
   }
 
   @Override
-  protected void before() throws Throwable {
+  protected void before() {
     invoker().invokeInEveryVMAndController(() -> errorCollector = new ProtectedErrorCollector());
   }
 
diff --git a/geode-dunit/src/test/java/org/apache/geode/test/dunit/examples/DoNotHandleUnexpectedExceptionExampleTest.java b/geode-dunit/src/test/java/org/apache/geode/test/dunit/examples/DoNotHandleUnexpectedExceptionExampleTest.java
index 595c184..879b123 100644
--- a/geode-dunit/src/test/java/org/apache/geode/test/dunit/examples/DoNotHandleUnexpectedExceptionExampleTest.java
+++ b/geode-dunit/src/test/java/org/apache/geode/test/dunit/examples/DoNotHandleUnexpectedExceptionExampleTest.java
@@ -19,8 +19,6 @@ import static org.assertj.core.api.Fail.fail;
 
 import org.junit.Test;
 
-
-
 public class DoNotHandleUnexpectedExceptionExampleTest {
 
   @Test
diff --git a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java
index 0741b24..3bc4880 100644
--- a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java
+++ b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java
@@ -59,7 +59,7 @@ import org.apache.geode.security.AuthenticationFailedException;
 import org.apache.geode.security.Authenticator;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.SecurityTest;
 import org.apache.geode.test.junit.categories.WanTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
@@ -96,7 +96,7 @@ public class GatewayLegacyAuthenticationRegressionTest implements Serializable {
   private int newYorkReceiverPort;
 
   @ClassRule
-  public static DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public static DistributedRule distributedTestRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();


[geode] 02/03: GEODE-5614: rename distributedTestRule field to distributedRule

Posted by kl...@apache.org.
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

commit 16d0f6962a1c11d5f09e21ab67e23e1686d14934
Author: Kirk Lund <kl...@apache.org>
AuthorDate: Thu Aug 23 15:25:24 2018 -0700

    GEODE-5614: rename distributedTestRule field to distributedRule
    
    * Cleanup warnings in these tests
---
 .../CreateAndLocalDestroyInTXRegressionTest.java   |  5 +-
 .../PRCreationTotalNumBucketsDistributedTest.java  |  6 +-
 .../cache/RegionClearStatsDistributedTest.java     |  6 +-
 .../cache/RegionExpirationDistributedTest.java     |  6 +-
 .../dunit/QueryDataInconsistencyDUnitTest.java     | 32 ++++----
 .../geode/cache30/DiskRegionDistributedTest.java   |  9 +--
 ...okenSerializationConsistencyRegressionTest.java |  6 +-
 .../cache/BucketCreationCrashRegressionTest.java   |  9 +--
 ...ntServerTransactionFailoverDistributedTest.java | 33 +++++----
 ...overWithMixedVersionServersDistributedTest.java | 42 ++++++-----
 .../EntriesDoNotExpireDuringGiiRegressionTest.java | 10 +--
 ...zedDiskRegionWithIoExceptionRegressionTest.java | 16 ++--
 .../cache/PRCustomPartitioningDistributedTest.java |  8 +-
 .../PREntryIdleExpirationDistributedTest.java      | 29 +++++---
 .../internal/cache/PRQueryDistributedTest.java     |  6 +-
 .../PRQueryWithIndexAndPdxDistributedTest.java     |  7 +-
 .../cache/PRQueryWithIndexDistributedTest.java     |  7 +-
 .../cache/PRQueryWithOrderByDistributedTest.java   |  7 +-
 ...RQueryWithPdxDuringRebalanceRegressionTest.java |  7 +-
 .../PRWithIndexAfterRebalanceRegressionTest.java   |  7 +-
 .../PartitionedRegionCloseDistributedTest.java     | 17 +++--
 .../cache/PersistentRegionRecoveryDUnitTest.java   | 17 ++---
 .../cache/RegionListenerDistributedTest.java       | 15 ++--
 ...eplicateEntryIdleExpirationDistributedTest.java | 34 +++++----
 .../cache/backup/BackupDistributedTest.java        |  9 +--
 .../backup/IncrementalBackupDistributedTest.java   | 10 +--
 .../PrepareAndFinishBackupDistributedTest.java     |  4 +-
 .../ClientFunctionTimeoutRegressionTest.java       | 24 +++---
 ...ctionExecutionWithExceptionDistributedTest.java |  7 +-
 ...ctionOnBehalfOfClientMemberDistributedTest.java | 12 +--
 .../cache/ha/HARegionQueueSizeRegressionTest.java  |  7 +-
 .../HARegionQueueThreadIdExpiryRegressionTest.java |  9 +--
 ...BucketCreationCrashCompletesRegressionTest.java | 49 ++++++-------
 .../BucketRebalanceStatRegressionTest.java         |  2 +-
 ...RDiskConflictWithColocationDistributedTest.java |  3 +-
 ...PersistentPartitionedRegionDistributedTest.java | 19 ++---
 .../PersistentPartitionedRegionRegressionTest.java |  5 +-
 ...eueRemovalMessageProcessingDistributedTest.java | 85 +++++++++++-----------
 .../RegisterInterestKeysValuesDistributedTest.java | 48 ++++++------
 .../DeltaPropagationFailureRegressionTest.java     | 31 ++++----
 .../AcceptorImplClientQueueDistributedTest.java    | 40 +++++-----
 ...entDestroyRegionNotificationRegressionTest.java | 29 ++++----
 ...troyRegionUnregisterInterestRegressionTest.java | 29 ++++----
 .../ClientProxyWithDeltaDistributedTest.java       | 32 ++++----
 .../ClientWithInterestFailoverDistributedTest.java | 30 ++++----
 .../GetConnectedServerCountRegressionTest.java     |  6 +-
 .../HARegionQueueStatsCloseRegressionTest.java     | 22 +++---
 .../MessageTrackingTimeoutRegressionTest.java      | 16 +---
 ...nterestOnServerWithoutRegionRegressionTest.java | 13 ++--
 ...isterInterestServerMetaDataDistributedTest.java | 42 +++++------
 ...RootRegionsExcludesHARegionsRegressionTest.java | 22 +++---
 .../AsyncEventListenerDistributedTest.java         |  2 +-
 ...ventListenerWithCacheLoaderDistributedTest.java |  4 +-
 ...syncEventListenerWithFilterDistributedTest.java |  4 +-
 ...oncurrentAsyncEventListenerDistributedTest.java |  2 +-
 .../ParallelAsyncEventListenerDistributedTest.java |  2 +-
 .../SerialEventListenerDistributedTest.java        |  2 +-
 .../ClientServerJTAFailoverDistributedTest.java    | 39 +++++-----
 .../apache/geode/management/JMXMBeanDUnitTest.java | 57 +++++++--------
 .../tests/GetCurrentVmNumDistributedTest.java      |  3 +-
 .../GetPidAndIdAfterBounceDistributedTest.java     |  9 +--
 .../dunit/tests/GetPidAndIdDistributedTest.java    |  7 +-
 .../examples/AsyncInvokeCallableExampleTest.java   | 24 ++----
 .../examples/AsyncInvokeRunnableExampleTest.java   | 10 +--
 .../CatchingUnexpectedExceptionExampleTest.java    | 11 ++-
 .../dunit/examples/InvokeRunnableExampleTest.java  | 11 ++-
 .../examples/LocatorPortClusterExampleTest.java    |  5 +-
 .../examples/ReplaceTryFinallyExampleTest.java     | 12 ++-
 .../tests/CacheRuleBuilderDistributedTest.java     |  7 +-
 .../rules/tests/CacheRuleDistributedTest.java      |  2 +-
 ...utedRestoreSystemPropertiesDistributedTest.java | 12 +--
 .../apache/geode/test/dunit/rules/CacheRule.java   | 17 ++++-
 .../geode/test/dunit/rules/ClientCacheRule.java    | 16 +++-
 .../GatewayLegacyAuthenticationRegressionTest.java | 20 +----
 74 files changed, 589 insertions(+), 635 deletions(-)

diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java
index 8580b02..64055d2 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/CreateAndLocalDestroyInTXRegressionTest.java
@@ -32,7 +32,6 @@ import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
 import junitparams.naming.TestCaseName;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -66,8 +65,8 @@ public class CreateAndLocalDestroyInTXRegressionTest implements Serializable {
 
   private VM otherVM;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java
index 777576c..50a6901 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/PRCreationTotalNumBucketsDistributedTest.java
@@ -26,7 +26,6 @@ import java.io.Serializable;
 import java.util.Properties;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -36,7 +35,6 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 @SuppressWarnings("serial")
 public class PRCreationTotalNumBucketsDistributedTest implements Serializable {
 
@@ -44,8 +42,8 @@ public class PRCreationTotalNumBucketsDistributedTest implements Serializable {
   private VM vm1;
   private int totalNumBuckets;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java
index 1b62369..e3e5753 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionClearStatsDistributedTest.java
@@ -25,7 +25,6 @@ import java.io.Serializable;
 import java.util.Properties;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -39,7 +38,6 @@ import org.apache.geode.test.dunit.rules.DistributedRule;
 /**
  * verifies the count of clear operation
  */
-
 @SuppressWarnings("serial")
 public class RegionClearStatsDistributedTest implements Serializable {
 
@@ -53,8 +51,8 @@ public class RegionClearStatsDistributedTest implements Serializable {
   private VM server1;
   private VM client1;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java
index 9402428..81bf86b 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/RegionExpirationDistributedTest.java
@@ -30,7 +30,6 @@ import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
 import junitparams.naming.TestCaseName;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -52,7 +51,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  *
  * @since GemFire 3.0
  */
-
 @RunWith(JUnitParamsRunner.class)
 @SuppressWarnings("serial")
 public class RegionExpirationDistributedTest implements Serializable {
@@ -67,8 +65,8 @@ public class RegionExpirationDistributedTest implements Serializable {
   private VM withExpirationVM0;
   private VM withoutExpirationVM1;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder().createCacheInAll().build();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java
index 60452e9..2524081 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache/query/dunit/QueryDataInconsistencyDUnitTest.java
@@ -14,6 +14,7 @@
  */
 package org.apache.geode.cache.query.dunit;
 
+import static org.apache.geode.test.dunit.VM.getVM;
 import static org.assertj.core.api.Assertions.fail;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
@@ -28,7 +29,6 @@ import org.awaitility.Awaitility;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -49,7 +49,6 @@ import org.apache.geode.cache.query.internal.QueryObserverHolder;
 import org.apache.geode.cache.query.internal.index.IndexManager;
 import org.apache.geode.internal.logging.LogService;
 import org.apache.geode.test.dunit.AsyncInvocation;
-import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.Invoke;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
@@ -62,6 +61,8 @@ import org.apache.geode.test.junit.categories.OQLIndexTest;
 @Category({OQLIndexTest.class})
 public class QueryDataInconsistencyDUnitTest implements Serializable {
 
+  private static final Logger logger = LogService.getLogger();
+
   private static final int cnt = 0;
   private static final int cntDest = 10;
   private static VM server = null;
@@ -69,30 +70,29 @@ public class QueryDataInconsistencyDUnitTest implements Serializable {
   private static String repRegionName = "TestRepRegion"; // default name
   private static volatile boolean hooked = false;
 
-  private Logger logger = LogService.getLogger(QueryDataInconsistencyDUnitTest.class.getName());
-
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule(1);
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule(1);
 
   @Rule
-  public CacheRule cacheRule = CacheRule.builder().createCacheInAll().disconnectAfter().build();
+  public CacheRule cacheRule = new CacheRule(1);
+
+  @BeforeClass
+  public static void setUpClass() {
+    Awaitility.setDefaultPollInterval(200, TimeUnit.MILLISECONDS);
+    Awaitility.waitAtMost(30, TimeUnit.SECONDS);
+  }
 
   @Before
-  public void initialize() {
-    server = Host.getHost(0).getVM(0);
+  public void setUp() {
+    server = getVM(0);
+    server.invoke(() -> cacheRule.createCache());
   }
 
   @After
-  public final void postTearDownCacheTestCase() {
+  public void tearDown() {
     Invoke.invokeInEveryVM(QueryObserverHolder::reset);
   }
 
-  @BeforeClass
-  public static final void postSetUp() {
-    Awaitility.setDefaultPollInterval(200, TimeUnit.MILLISECONDS);
-    Awaitility.waitAtMost(30, TimeUnit.SECONDS);
-  }
-
   @Test
   public void testCompactRangeIndex() {
     // Create caches
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java
index 35b6132..33188be 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/cache30/DiskRegionDistributedTest.java
@@ -49,7 +49,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  *
  * @since GemFire 3.2
  */
-
 public class DiskRegionDistributedTest implements Serializable {
 
   private String uniqueName;
@@ -61,16 +60,16 @@ public class DiskRegionDistributedTest implements Serializable {
   private VM vm3;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
 
-  /** DistributedDiskDirRule invokes before and after for SerializableTestName */
-  private SerializableTestName testName = new SerializableTestName();
+  @Rule
+  public DistributedDiskDirRule diskDirsRule = new DistributedDiskDirRule();
 
   @Rule
-  public DistributedDiskDirRule diskDirsRule = new DistributedDiskDirRule(testName);
+  public SerializableTestName testName = new SerializableTestName();
 
   @Before
   public void setUp() {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
index 96b75cf..da6365b 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BrokenSerializationConsistencyRegressionTest.java
@@ -29,7 +29,6 @@ import java.io.Serializable;
 import java.io.UncheckedIOException;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -44,7 +43,6 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 @SuppressWarnings("serial")
 public class BrokenSerializationConsistencyRegressionTest implements Serializable {
 
@@ -60,8 +58,8 @@ public class BrokenSerializationConsistencyRegressionTest implements Serializabl
   private transient PdxValue pdxValue;
   private transient byte[] bytesValue;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java
index 9daa000..9f3316a 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/BucketCreationCrashRegressionTest.java
@@ -66,7 +66,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #41733: Hang in BucketAdvisor.waitForPrimaryMember
  */
-
 @SuppressWarnings("serial")
 public class BucketCreationCrashRegressionTest implements Serializable {
 
@@ -80,7 +79,7 @@ public class BucketCreationCrashRegressionTest implements Serializable {
   private VM locator;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -118,7 +117,7 @@ public class BucketCreationCrashRegressionTest implements Serializable {
   }
 
   @After
-  public void tearDown() throws Exception {
+  public void tearDown() {
     DistributionMessageObserver.setInstance(null);
     invokeInEveryVM(() -> {
       DistributionMessageObserver.setInstance(null);
@@ -130,7 +129,7 @@ public class BucketCreationCrashRegressionTest implements Serializable {
    * we choose a primary
    */
   @Test
-  public void putShouldNotHangAfterBucketCrashesBeforePrimarySelection() throws Exception {
+  public void putShouldNotHangAfterBucketCrashesBeforePrimarySelection() {
     server1.invoke(
         () -> handleBeforeProcessMessage(ManageBucketReplyMessage.class, () -> crashServer()));
     server1.invoke(() -> createPartitionedRegion());
@@ -157,7 +156,7 @@ public class BucketCreationCrashRegressionTest implements Serializable {
    * the remote node.
    */
   @Test
-  public void putShouldNotHangAfterServerWithBucketCrashes() throws Exception {
+  public void putShouldNotHangAfterServerWithBucketCrashes() {
     server2.invoke(() -> handleBeforeProcessMessage(ManageBucketMessage.class,
         () -> server1.invoke(() -> crashServer())));
     server1.invoke(() -> createPartitionedRegion());
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java
index 1ae8413..9f411f4 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverDistributedTest.java
@@ -19,6 +19,7 @@ import static org.apache.geode.test.dunit.VM.getVM;
 import static org.junit.Assert.assertEquals;
 
 import java.io.Serializable;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
 
 import org.junit.Before;
@@ -48,7 +49,13 @@ import org.apache.geode.test.dunit.rules.ClientCacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
+@SuppressWarnings("serial")
 public class ClientServerTransactionFailoverDistributedTest implements Serializable {
+
+  private final int numOfOperationsInTransaction = 10;
+  private final int key1 = 1;
+  private final String originalValue = "originalValue";
+
   private String hostName;
   private String uniqueName;
   private String regionName;
@@ -58,15 +65,9 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
   private VM server4;
   private int port1;
   private int port2;
-  private int port3;
-  private int port4;
-
-  private final int numOfOperationsInTransaction = 10;
-  private final int key1 = 1;
-  private final String originalValue = "originalValue";
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -136,7 +137,7 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
     CacheServerTestUtil.disableShufflingOfEndpoints();
     PoolImpl pool;
     try {
-      pool = getPool(connectToFirstPort, ports);
+      pool = getPool(ports);
     } finally {
       CacheServerTestUtil.enableShufflingOfEndpoints();
     }
@@ -152,7 +153,7 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
     }
   }
 
-  private PoolImpl getPool(boolean connectToFirstPort, int... ports) {
+  private PoolImpl getPool(int... ports) {
     PoolFactory factory = PoolManager.createFactory();
     for (int port : ports) {
       factory.addServer(hostName, port);
@@ -177,7 +178,8 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
     return txManager.suspend();
   }
 
-  private void resumeTransaction(TransactionId txId, int numOfOperations) throws Exception {
+  private void resumeTransaction(TransactionId txId, int numOfOperations)
+      throws InterruptedException {
     Region region = clientCacheRule.getClientCache().getRegion(regionName);
     TXManagerImpl txManager =
         (TXManagerImpl) clientCacheRule.getClientCache().getCacheTransactionManager();
@@ -288,7 +290,7 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
   private void beginAndSuspendTransactions(int numOfTransactions, int numOfOperations,
       Thread[] threads,
       FutureTask<TransactionId>[] futureTasks, TransactionId[] txIds)
-      throws InterruptedException, java.util.concurrent.ExecutionException {
+      throws InterruptedException, ExecutionException {
     for (int i = 0; i < numOfTransactions; i++) {
       FutureTask<TransactionId> futureTask =
           new FutureTask<>(() -> beginAndSuspendTransaction(numOfOperations));
@@ -304,17 +306,16 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
   }
 
   private void setupClientAndServerForMultipleTransactions() {
-    port4 = server4.invoke(() -> createServerRegion(1, false));
+    int port4 = server4.invoke(() -> createServerRegion(1, false));
     server4.invoke(() -> doPut(key1, originalValue));
     port1 = server1.invoke(() -> createServerRegion(1, true));
     port2 = server2.invoke(() -> createServerRegion(1, true));
-    port3 = server3.invoke(() -> createServerRegion(1, true));
+    int port3 = server3.invoke(() -> createServerRegion(1, true));
     createClientRegion(false, port1, port2, port3, port4);
   }
 
   private void resumeTransactions(int numOfTransactions, int numOfOperations, Thread[] threads,
-      TransactionId[] txIds)
-      throws InterruptedException {
+      TransactionId[] txIds) {
     for (int i = 0; i < numOfTransactions; i++) {
       TransactionId txId = txIds[i];
       Thread thread = new Thread(() -> {
@@ -330,7 +331,7 @@ public class ClientServerTransactionFailoverDistributedTest implements Serializa
   }
 
   private void unregisterClientMultipleTimes(ClientProxyMembershipID clientProxyMembershipID)
-      throws Exception {
+      throws InterruptedException {
     int numOfUnregisterClients = 4;
     for (int i = 0; i < numOfUnregisterClients; i++) {
       getVM(i).invoke(() -> unregisterClient(clientProxyMembershipID));
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java
index c29e6d3..b08c3a0 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ClientServerTransactionFailoverWithMixedVersionServersDistributedTest.java
@@ -28,12 +28,12 @@ import java.io.IOException;
 import java.io.Serializable;
 import java.net.InetAddress;
 import java.util.Properties;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.FutureTask;
 import java.util.concurrent.TimeUnit;
 
 import org.awaitility.Awaitility;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -61,8 +61,13 @@ import org.apache.geode.test.dunit.standalone.VersionManager;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
+@SuppressWarnings("serial")
 public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTest
     implements Serializable {
+
+  private static final int TRANSACTION_TIMEOUT_SECOND = 2;
+  private static final int VM_COUNT = 6;
+
   private String hostName;
   private String uniqueName;
   private String regionName;
@@ -75,16 +80,15 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
   private int locatorPort;
   private File locatorLog;
   private Host host;
-  private final int transactionTimeoutSecond = 2;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule(6);
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule(VM_COUNT);
 
   @Rule
-  public CacheRule cacheRule = new CacheRule();
+  public CacheRule cacheRule = new CacheRule(VM_COUNT);
 
   @Rule
-  public ClientCacheRule clientCacheRule = new ClientCacheRule();
+  public ClientCacheRule clientCacheRule = new ClientCacheRule(VM_COUNT);
 
   @Rule
   public SerializableTemporaryFolder temporaryFolder = new SerializableTemporaryFolder();
@@ -136,7 +140,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
   }
 
   private void doTransactions(int numOfTransactions, int numOfOperations)
-      throws InterruptedException, java.util.concurrent.ExecutionException {
+      throws InterruptedException, ExecutionException {
     Thread[] threads = new Thread[numOfTransactions];
     FutureTask<TransactionId>[] futureTasks = new FutureTask[numOfTransactions];
     TransactionId[] txIds = new TransactionId[numOfTransactions];
@@ -195,7 +199,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
     clientCacheRule.createClientCache();
   }
 
-  private VM rollLocatorToCurrent(VM oldLocator) throws Exception {
+  private VM rollLocatorToCurrent(VM oldLocator) {
     // Roll the locator
     oldLocator.invoke(() -> stopLocator());
     VM rollLocator = host.getVM(VersionManager.CURRENT_VERSION, oldLocator.getId());
@@ -207,7 +211,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
     Locator.getLocator().stop();
   }
 
-  private VM rollServerToCurrent(VM oldServer) throws Exception {
+  private VM rollServerToCurrent(VM oldServer) {
     // Roll the server
     oldServer.invoke(() -> cacheRule.getCache().close());
     VM rollServer = host.getVM(VersionManager.CURRENT_VERSION, oldServer.getId());
@@ -215,7 +219,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
     return rollServer;
   }
 
-  private void createServerRegion(int totalNumBuckets, boolean isAccessor) throws Exception {
+  private void createServerRegion(int totalNumBuckets, boolean isAccessor) {
     PartitionAttributesFactory factory = new PartitionAttributesFactory();
     factory.setTotalNumBuckets(totalNumBuckets);
     if (isAccessor) {
@@ -226,10 +230,10 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
         .setPartitionAttributes(partitionAttributes).create(regionName);
 
     TXManagerImpl txManager = cacheRule.getCache().getTxManager();
-    txManager.setTransactionTimeToLiveForTest(transactionTimeoutSecond);
+    txManager.setTransactionTimeToLiveForTest(TRANSACTION_TIMEOUT_SECOND);
   }
 
-  private void createClientRegion() throws Exception {
+  private void createClientRegion() {
     Pool pool = PoolManager.createFactory().addLocator(hostName, locatorPort).create(uniqueName);
 
     ClientRegionFactory crf =
@@ -241,7 +245,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
   private void beginAndSuspendTransactions(int numOfTransactions, int numOfOperations,
       Thread[] threads,
       FutureTask<TransactionId>[] futureTasks, TransactionId[] txIds)
-      throws InterruptedException, java.util.concurrent.ExecutionException {
+      throws InterruptedException, ExecutionException {
     for (int i = 0; i < numOfTransactions; i++) {
       FutureTask<TransactionId> futureTask =
           new FutureTask<>(() -> beginAndSuspendTransaction(numOfOperations));
@@ -289,8 +293,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
   }
 
   private void resumeTransactions(int numOfTransactions, int numOfOperations, Thread[] threads,
-      TransactionId[] txIds)
-      throws InterruptedException {
+      TransactionId[] txIds) {
     for (int i = 0; i < numOfTransactions; i++) {
       TransactionId txId = txIds[i];
       Thread thread = new Thread(() -> {
@@ -333,7 +336,7 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
     }
   }
 
-  private void unregisterClient(ClientProxyMembershipID clientProxyMembershipID) throws Exception {
+  private void unregisterClient(ClientProxyMembershipID clientProxyMembershipID) {
     ClientHealthMonitor clientHealthMonitor = ClientHealthMonitor.getInstance();
     clientHealthMonitor.removeAllConnectionsAndUnregisterClient(clientProxyMembershipID,
         new Exception());
@@ -385,11 +388,11 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
 
     unregisterClientMultipleTimes(clientProxyMembershipID);
 
-    server1.invoke(() -> verifyTransactionAreExpired(numOfTransactions));
+    server1.invoke(() -> verifyTransactionAreExpired());
   }
 
   private void doUnfinishedTransactions(int numOfTransactions, int numOfOperations)
-      throws InterruptedException, java.util.concurrent.ExecutionException {
+      throws InterruptedException {
     Thread[] threads = new Thread[numOfTransactions];
     for (int i = 0; i < numOfTransactions; i++) {
       Thread thread = new Thread(() -> startTransaction(numOfOperations));
@@ -416,11 +419,10 @@ public class ClientServerTransactionFailoverWithMixedVersionServersDistributedTe
             .isEqualTo(numOfTransactions));
   }
 
-  private void verifyTransactionAreExpired(int numOfTransactions) {
+  private void verifyTransactionAreExpired() {
     TXManagerImpl txManager = cacheRule.getCache().getTxManager();
     Awaitility.await().atMost(60, TimeUnit.SECONDS)
         .untilAsserted(
             () -> assertThat(txManager.hostedTransactionsInProgressForTest()).isEqualTo(0));
   }
-
 }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java
index 83d6717..1633a59 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/EntriesDoNotExpireDuringGiiRegressionTest.java
@@ -28,7 +28,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -53,7 +52,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableErrorCollector
  *
  * @since GemFire 5.0
  */
-
 @SuppressWarnings("serial")
 public class EntriesDoNotExpireDuringGiiRegressionTest implements Serializable {
 
@@ -65,8 +63,8 @@ public class EntriesDoNotExpireDuringGiiRegressionTest implements Serializable {
 
   private VM otherVM;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -162,12 +160,12 @@ public class EntriesDoNotExpireDuringGiiRegressionTest implements Serializable {
   private class SlowGiiCacheListener extends CacheListenerAdapter<String, String> {
 
     @Override
-    public void afterRegionCreate(final RegionEvent<java.lang.String, java.lang.String> event) {
+    public void afterRegionCreate(final RegionEvent<String, String> event) {
       afterRegionCreateInvoked.set(true);
     }
 
     @Override
-    public void afterInvalidate(final EntryEvent<java.lang.String, java.lang.String> event) {
+    public void afterInvalidate(final EntryEvent<String, String> event) {
       errorCollector.checkThat("afterRegionCreate should have been seen",
           afterRegionCreateInvoked.get(), is(true));
       errorCollector.checkThat("Region should have been initialized",
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
index ec86b06..3672340 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/InitializedDiskRegionWithIoExceptionRegressionTest.java
@@ -55,7 +55,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #39079: Regions with persistence remain in use after IOException have occurred
  */
-
 @SuppressWarnings("serial")
 public class InitializedDiskRegionWithIoExceptionRegressionTest implements Serializable {
 
@@ -66,7 +65,7 @@ public class InitializedDiskRegionWithIoExceptionRegressionTest implements Seria
   private VM client;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -74,15 +73,14 @@ public class InitializedDiskRegionWithIoExceptionRegressionTest implements Seria
   @Rule
   public ClientCacheRule clientCacheRule = new ClientCacheRule();
 
-  /** DistributedDiskDirRule invokes before and after for SerializableTemporaryFolder */
-  private SerializableTemporaryFolder temporaryFolder = new SerializableTemporaryFolder();
+  @Rule
+  public DistributedDiskDirRule diskDirsRule = new DistributedDiskDirRule();
 
-  /** DistributedDiskDirRule invokes before and after for SerializableTestName */
-  private SerializableTestName testName = new SerializableTestName();
+  @Rule
+  public SerializableTemporaryFolder temporaryFolder = new SerializableTemporaryFolder();
 
   @Rule
-  public DistributedDiskDirRule diskDirsRule =
-      new DistributedDiskDirRule(temporaryFolder, testName);
+  public SerializableTestName testName = new SerializableTestName();
 
   @Before
   public void setUp() throws Exception {
@@ -111,7 +109,7 @@ public class InitializedDiskRegionWithIoExceptionRegressionTest implements Seria
   }
 
   @Test
-  public void cacheServerPersistWithIOExceptionShouldShutdown() throws Exception {
+  public void cacheServerPersistWithIOExceptionShouldShutdown() {
     // create server cache
     int port = server.invoke(() -> createServerCache());
 
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java
index 3438fa2..3ffa089 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRCustomPartitioningDistributedTest.java
@@ -25,7 +25,6 @@ import java.util.List;
 import java.util.Set;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -40,7 +39,6 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 @SuppressWarnings("serial")
 public class PRCustomPartitioningDistributedTest implements Serializable {
 
@@ -58,8 +56,8 @@ public class PRCustomPartitioningDistributedTest implements Serializable {
   private VM datastoreVM2;
   private VM accessorVM3;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -80,7 +78,7 @@ public class PRCustomPartitioningDistributedTest implements Serializable {
   }
 
   @Test
-  public void testPartitionedRegionOperationsCustomPartitioning() throws Exception {
+  public void testPartitionedRegionOperationsCustomPartitioning() {
     datastoreVM0.invoke(() -> createPartitionedRegionWithPartitionResolver());
     datastoreVM1.invoke(() -> createPartitionedRegionWithPartitionResolver());
     datastoreVM2.invoke(() -> createPartitionedRegionWithPartitionResolver());
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java
index e5ded37..2d9ec2b 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PREntryIdleExpirationDistributedTest.java
@@ -17,7 +17,7 @@ package org.apache.geode.internal.cache;
 import static java.util.concurrent.TimeUnit.SECONDS;
 import static org.apache.geode.cache.ExpirationAction.DESTROY;
 import static org.apache.geode.cache.RegionShortcut.PARTITION;
-import static org.apache.geode.test.dunit.Host.getHost;
+import static org.apache.geode.test.dunit.VM.getVM;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.awaitility.Awaitility.await;
 
@@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import com.google.common.base.Stopwatch;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -40,32 +39,38 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
+@SuppressWarnings("serial")
 public class PREntryIdleExpirationDistributedTest implements Serializable {
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
-
   private static final AtomicBoolean KEEP_READING = new AtomicBoolean(true);
 
   private static final String KEY = "KEY";
   private static final String VALUE = "VALUE";
 
-  private final VM member1 = getHost(0).getVM(0);
-  private final VM member2 = getHost(0).getVM(1);
-  private final VM member3 = getHost(0).getVM(2);
-  private final String regionName = getClass().getSimpleName();
+  private VM member1;
+  private VM member2;
+  private VM member3;
+  private String regionName;
+
+  @Rule
+  public DistributedRule distributedTRule = new DistributedRule();
 
   @Rule
-  public CacheRule cacheRule = CacheRule.builder().createCacheIn(member1).createCacheIn(member2)
-      .createCacheIn(member3).createCacheIn(getHost(0).getVM(3)).build();
+  public CacheRule cacheRule = new CacheRule();
 
   @Before
   public void setUp() throws Exception {
+    member1 = getVM(0);
+    member2 = getVM(1);
+    member3 = getVM(2);
+
+    regionName = getClass().getSimpleName();
+
     VM[] vms = new VM[] {member1, member2, member3};
     for (VM vm : vms) {
       vm.invoke(() -> {
         KEEP_READING.set(true);
+        cacheRule.createCache();
         ExpiryTask.suspendExpiration();
         createRegion();
       });
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java
index 88ed204..245dc6f 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryDistributedTest.java
@@ -28,7 +28,6 @@ import java.util.Map;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -52,7 +51,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 /**
  * Distributed tests for querying a PartitionedRegion.
  */
-
 @SuppressWarnings("serial")
 public class PRQueryDistributedTest implements Serializable {
 
@@ -62,8 +60,8 @@ public class PRQueryDistributedTest implements Serializable {
   private VM vm1;
   private VM vm2;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java
index 10c3d92..a560b4e 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexAndPdxDistributedTest.java
@@ -27,7 +27,6 @@ import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
 import junitparams.naming.TestCaseName;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -54,7 +53,7 @@ import org.apache.geode.test.junit.categories.OQLIndexTest;
 /**
  * Extracted from {@link PRQueryDistributedTest}.
  */
-@Category({OQLIndexTest.class})
+@Category(OQLIndexTest.class)
 @RunWith(JUnitParamsRunner.class)
 @SuppressWarnings("serial")
 public class PRQueryWithIndexAndPdxDistributedTest implements Serializable {
@@ -65,8 +64,8 @@ public class PRQueryWithIndexAndPdxDistributedTest implements Serializable {
   private VM vm0;
   private VM vm1;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java
index b17de44..020b2b1 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithIndexDistributedTest.java
@@ -30,7 +30,6 @@ import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
 import junitparams.naming.TestCaseName;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -52,7 +51,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 /**
  * Extracted from {@link PRQueryDistributedTest}.
  */
-@Category({OQLIndexTest.class})
+@Category(OQLIndexTest.class)
 @RunWith(JUnitParamsRunner.class)
 @SuppressWarnings("serial")
 public class PRQueryWithIndexDistributedTest implements Serializable {
@@ -62,8 +61,8 @@ public class PRQueryWithIndexDistributedTest implements Serializable {
   private VM vm0;
   private VM vm1;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java
index 697c94b..5d4a603 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithOrderByDistributedTest.java
@@ -29,7 +29,6 @@ import java.sql.Timestamp;
 import java.util.Date;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -52,7 +51,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 /**
  * Extracted from {@link PRQueryDistributedTest}.
  */
-@Category({OQLQueryTest.class})
+@Category(OQLQueryTest.class)
 @SuppressWarnings("serial")
 public class PRQueryWithOrderByDistributedTest implements Serializable {
 
@@ -63,8 +62,8 @@ public class PRQueryWithOrderByDistributedTest implements Serializable {
   private VM server2;
   private VM client;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java
index 73d482c..e69f466 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRQueryWithPdxDuringRebalanceRegressionTest.java
@@ -25,7 +25,6 @@ import java.util.concurrent.CancellationException;
 import java.util.concurrent.atomic.AtomicReference;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -57,7 +56,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #43102: hang while executing query with pdx objects
  */
-@Category({OQLQueryTest.class})
+@Category(OQLQueryTest.class)
 @SuppressWarnings("serial")
 public class PRQueryWithPdxDuringRebalanceRegressionTest implements Serializable {
 
@@ -70,8 +69,8 @@ public class PRQueryWithPdxDuringRebalanceRegressionTest implements Serializable
   private VM vm1;
   private VM vm2;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java
index b1d4888..99e7e6b 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PRWithIndexAfterRebalanceRegressionTest.java
@@ -27,7 +27,6 @@ import java.io.Serializable;
 import java.util.List;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -53,7 +52,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #50749: RegionDestroyedException when running a OQL inside function for a colocated region
  */
-@Category({OQLIndexTest.class})
+@Category(OQLIndexTest.class)
 @SuppressWarnings("serial")
 public class PRWithIndexAfterRebalanceRegressionTest implements Serializable {
 
@@ -66,8 +65,8 @@ public class PRWithIndexAfterRebalanceRegressionTest implements Serializable {
   private VM vm2;
   private VM vm3;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java
index 80dc731..b5fef30 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PartitionedRegionCloseDistributedTest.java
@@ -14,6 +14,7 @@
  */
 package org.apache.geode.internal.cache;
 
+import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
 import static org.apache.geode.test.dunit.VM.getVM;
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -24,7 +25,6 @@ import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
 import junitparams.naming.TestCaseName;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -38,7 +38,6 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 @RunWith(JUnitParamsRunner.class)
 @SuppressWarnings("serial")
 public class PartitionedRegionCloseDistributedTest implements Serializable {
@@ -52,11 +51,11 @@ public class PartitionedRegionCloseDistributedTest implements Serializable {
   private VM accessor;
   private VM[] datastores;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
-  public CacheRule cacheRule = CacheRule.builder().createCacheInAll().build();
+  public CacheRule cacheRule = new CacheRule();
 
   @Before
   public void setUp() throws Exception {
@@ -67,13 +66,15 @@ public class PartitionedRegionCloseDistributedTest implements Serializable {
     datastores[0] = getVM(1);
     datastores[1] = getVM(2);
     datastores[2] = getVM(3);
+
+    cacheRule.createCache();
+    invokeInEveryVM(() -> cacheRule.createCache());
   }
 
   @Test
   @Parameters({"CLOSE_REGION", "LOCAL_DESTROY_REGION"})
   @TestCaseName("{method}({params})")
-  public void redundantDataIsAvailableAfterRemovingOneDatastore(final RegionRemoval regionRemoval)
-      throws Exception {
+  public void redundantDataIsAvailableAfterRemovingOneDatastore(final RegionRemoval regionRemoval) {
     accessor.invoke("create accessor", () -> createAccessor());
     for (VM vm : datastores) {
       vm.invoke("create datastore", () -> createDataStore());
@@ -124,7 +125,7 @@ public class PartitionedRegionCloseDistributedTest implements Serializable {
    * This test case checks that a closed PR (accessor/datastore) can be recreated.
    */
   @Test
-  public void closeAndRecreateInAllHasNoData() throws Exception {
+  public void closeAndRecreateInAllHasNoData() {
     accessor.invoke("create accessor", () -> createAccessor());
     for (VM vm : datastores) {
       vm.invoke("create datastore", () -> createDataStore());
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java
index 113db1c..32b242d 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/PersistentRegionRecoveryDUnitTest.java
@@ -25,6 +25,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.Serializable;
 
+import org.apache.logging.log4j.Logger;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -48,14 +49,15 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 public class PersistentRegionRecoveryDUnitTest extends JUnit4DistributedTestCase
     implements Serializable {
 
-  // private String diskStoreName;
+  private static final Logger logger = LogService.getLogger();
+
   private String regionName;
 
   private VM vm0;
   private VM vm1;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -73,10 +75,8 @@ public class PersistentRegionRecoveryDUnitTest extends JUnit4DistributedTestCase
     regionName = getClass().getSimpleName() + "-" + testName.getMethodName();
   }
 
-  private static final org.apache.logging.log4j.Logger logger = LogService.getLogger();
-
   @Test
-  public void testRecoveryOfAsyncRegionAfterShutdownAfterGIIAndBeforeCrfWritten() throws Exception {
+  public void testRecoveryOfAsyncRegionAfterShutdownAfterGIIAndBeforeCrfWritten() {
     vm0.invoke(() -> createAsyncDiskRegion());
 
     vm0.invoke(() -> {
@@ -119,7 +119,7 @@ public class PersistentRegionRecoveryDUnitTest extends JUnit4DistributedTestCase
   }
 
   @Test
-  public void testRecoveryOfAsyncRegionAfterShutdownAndBeforeCrfWritten() throws Exception {
+  public void testRecoveryOfAsyncRegionAfterShutdownAndBeforeCrfWritten() {
     vm0.invoke(() -> createAsyncDiskRegion());
 
     vm1.invoke(() -> createAsyncDiskRegion(true));
@@ -158,7 +158,7 @@ public class PersistentRegionRecoveryDUnitTest extends JUnit4DistributedTestCase
   }
 
   @Test
-  public void testRecoveryOfAsyncRegionAfterShutdownUsingUntrustedRVV() throws Exception {
+  public void testRecoveryOfAsyncRegionAfterShutdownUsingUntrustedRVV() {
     vm0.invoke(() -> createAsyncDiskRegion());
 
     vm0.invoke(() -> {
@@ -355,8 +355,7 @@ public class PersistentRegionRecoveryDUnitTest extends JUnit4DistributedTestCase
   }
 
   @Test
-  public void testRecoveryFromBackupOfAsyncRegionAfterShutdownAfterGIIAndBeforeCrfWritten()
-      throws Exception {
+  public void testRecoveryFromBackupOfAsyncRegionAfterShutdownAfterGIIAndBeforeCrfWritten() {
     vm0.invoke(() -> createDiskRegion(false, false, "regionToGetDiskStoreCreated"));
     vm1.invoke(() -> createDiskRegion(false, true, "regionToGetDiskStoreCreated"));
 
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java
index 5cb537a..4ad8028 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/RegionListenerDistributedTest.java
@@ -14,6 +14,7 @@
  */
 package org.apache.geode.internal.cache;
 
+import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
 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;
@@ -22,7 +23,7 @@ import java.io.Serializable;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
-import org.junit.ClassRule;
+import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -33,15 +34,19 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 @SuppressWarnings("serial")
 public class RegionListenerDistributedTest implements Serializable {
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
-  public CacheRule cacheRule = CacheRule.builder().createCacheInAll().disconnectAfter().build();
+  public CacheRule cacheRule = new CacheRule();
+
+  @Before
+  public void setUp() {
+    invokeInEveryVM(() -> cacheRule.createCache());
+  }
 
   @Test
   public void testCleanupFailedInitializationInvoked() {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java
index cb14c45..fb8a248 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ReplicateEntryIdleExpirationDistributedTest.java
@@ -27,7 +27,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import com.google.common.base.Stopwatch;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 
@@ -42,32 +41,41 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
+@SuppressWarnings("serial")
 public class ReplicateEntryIdleExpirationDistributedTest implements Serializable {
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
-
   private static final AtomicBoolean KEEP_READING = new AtomicBoolean(true);
 
   private static final String KEY = "KEY";
   private static final String VALUE = "VALUE";
 
-  private final VM member1 = getVM(0);
-  private final VM member2 = getVM(1);
-  private final VM member3 = getVM(2);
-  private final String regionName = getClass().getSimpleName();
+  private String regionName;
+
+  private VM member1;
+  private VM member2;
+  private VM member3;
+  private VM member4;
 
   @Rule
-  public CacheRule cacheRule = CacheRule.builder().createCacheIn(member1).createCacheIn(member2)
-      .createCacheIn(member3).createCacheIn(getVM(3)).build();
+  public DistributedRule distributedRule = new DistributedRule();
+
+  @Rule
+  public CacheRule cacheRule = new CacheRule();
 
   @Before
   public void setUp() throws Exception {
+    member1 = getVM(0);
+    member2 = getVM(1);
+    member3 = getVM(2);
+    member4 = getVM(3);
+
+    regionName = getClass().getSimpleName();
+
     VM[] vms = new VM[] {member1, member2, member3};
     for (VM vm : vms) {
       vm.invoke(() -> {
         KEEP_READING.set(true);
+        cacheRule.createCache();
         ExpiryTask.suspendExpiration();
         createRegion();
       });
@@ -122,9 +130,9 @@ public class ReplicateEntryIdleExpirationDistributedTest implements Serializable
 
   @Test
   public void readsInNormalMemberShouldPreventExpiration() throws Exception {
-    VM member4 = getVM(3);
     member4.invoke(() -> {
       KEEP_READING.set(true);
+      cacheRule.createCache();
       ExpiryTask.suspendExpiration();
 
       RegionFactory<String, String> factory = cacheRule.getCache().createRegionFactory();
@@ -204,7 +212,7 @@ public class ReplicateEntryIdleExpirationDistributedTest implements Serializable
     memberReading.await();
   }
 
-  protected void createRegion() {
+  private void createRegion() {
     RegionFactory<String, String> factory = cacheRule.getCache().createRegionFactory(REPLICATE);
     factory.setEntryIdleTimeout(new ExpirationAttributes(1, DESTROY));
     factory.create(regionName);
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
index ab60bf1..97908b4 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/BackupDistributedTest.java
@@ -105,7 +105,6 @@ public class BackupDistributedTest extends JUnit4DistributedTestCase implements
 
   private static final int NUM_BUCKETS = 15;
 
-  private String uniqueName;
   private String regionName1;
   private String regionName2;
   private String regionName3;
@@ -121,7 +120,7 @@ public class BackupDistributedTest extends JUnit4DistributedTestCase implements
   private transient ProcessStreamReader processReader;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -142,7 +141,7 @@ public class BackupDistributedTest extends JUnit4DistributedTestCase implements
     vm2 = getVM(2);
     vm3 = getVM(3);
 
-    uniqueName = getClass().getSimpleName() + "_" + testName.getMethodName();
+    String uniqueName = getClass().getSimpleName() + "_" + testName.getMethodName();
     regionName1 = uniqueName + "_region1";
     regionName2 = uniqueName + "_region2";
     regionName3 = uniqueName + "_region3";
@@ -903,10 +902,6 @@ public class BackupDistributedTest extends JUnit4DistributedTestCase implements
     return cacheRule.getOrCreateCache();
   }
 
-  // private String getUniqueName() {
-  // return uniqueName;
-  // }
-
   private File getDiskStoreFor(final VM vm) {
     return new File(getDiskDirFor(vm), getUniqueName());
   }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
index 0f4d1a6..ada1ca9 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/IncrementalBackupDistributedTest.java
@@ -74,7 +74,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 /**
  * Distributed tests for incremental backup.
  */
-
 @SuppressWarnings("serial")
 public class IncrementalBackupDistributedTest implements Serializable {
   private static final Logger logger = LogService.getLogger();
@@ -85,7 +84,6 @@ public class IncrementalBackupDistributedTest implements Serializable {
   private int dataStart;
   private int dataEnd = dataStart + DATA_INCREMENT;
 
-  private String uniqueName;
   private String diskStoreName1;
   private String diskStoreName2;
   private String regionName1;
@@ -98,7 +96,7 @@ public class IncrementalBackupDistributedTest implements Serializable {
   private transient ProcessStreamReader processReader;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -117,7 +115,7 @@ public class IncrementalBackupDistributedTest implements Serializable {
     vm0 = getVM(0);
     vm1 = getVM(1);
 
-    uniqueName = getClass().getSimpleName() + "_" + testName.getMethodName();
+    String uniqueName = getClass().getSimpleName() + "_" + testName.getMethodName();
 
     diskStoreName1 = uniqueName + "_diskStore-1";
     diskStoreName2 = uniqueName + "_diskStore-2";
@@ -260,7 +258,7 @@ public class IncrementalBackupDistributedTest implements Serializable {
    * because its oplogs were missing in the performBackupBaseline.
    */
   @Test
-  public void testMissingMemberInBaseline() throws Exception {
+  public void testMissingMemberInBaseline() {
     // Simulate the missing member by forcing a persistent member to go offline.
     PersistentID missingMember = vm0.invoke(() -> getPersistentID(diskStoreName1));
     vm0.invoke(() -> cacheRule.getCache().close());
@@ -323,7 +321,7 @@ public class IncrementalBackupDistributedTest implements Serializable {
    * performBackupBaseline.
    */
   @Test
-  public void testIncompleteInBaseline() throws Exception {
+  public void testIncompleteInBaseline() {
     // Get the member ID for VM 1 and perform a performBackupBaseline.
     String memberId = vm1.invoke(() -> getModifiedMemberId());
     validateBackupStatus(vm1.invoke(() -> performBackup(getBaselinePath())));
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java
index d9e35ce..28ed17f 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/backup/PrepareAndFinishBackupDistributedTest.java
@@ -69,7 +69,7 @@ import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactor
 
 @RunWith(Parameterized.class)
 @UseParametersRunnerFactory(CategoryWithParameterizedRunnerFactory.class)
-@SuppressWarnings({"serial", "unused"})
+@SuppressWarnings("serial,unused")
 public class PrepareAndFinishBackupDistributedTest {
 
   private String uniqueName;
@@ -85,7 +85,7 @@ public class PrepareAndFinishBackupDistributedTest {
   }
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java
index 5f5f2dc..93c88bb 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/ClientFunctionTimeoutRegressionTest.java
@@ -32,7 +32,6 @@ import junitparams.JUnitParamsRunner;
 import junitparams.Parameters;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -70,36 +69,39 @@ import org.apache.geode.test.junit.categories.FunctionServiceTest;
  * TRAC #51193: The function execution connection on the server is never terminated even if the
  * gemfire.CLIENT_FUNCTION_TIMEOUT property is set
  */
-@Category({FunctionServiceTest.class})
+@Category(FunctionServiceTest.class)
 @RunWith(JUnitParamsRunner.class)
 @SuppressWarnings("serial")
 public class ClientFunctionTimeoutRegressionTest implements Serializable {
 
-  private static final String REGION_NAME = "TheRegion";
   private static final int TOTAL_NUM_BUCKETS = 4;
   private static final int REDUNDANT_COPIES = 1;
 
   private static InternalCache serverCache;
   private static InternalClientCache clientCache;
 
+  private String regionName;
+
   private VM server;
   private VM client;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public DistributedRestoreSystemProperties restoreSystemProperties =
       new DistributedRestoreSystemProperties();
 
   @Before
-  public void before() throws Exception {
+  public void setUp() throws Exception {
     server = getVM(0);
     client = getVM(1);
+
+    regionName = getClass().getSimpleName();
   }
 
   @After
-  public void after() throws Exception {
+  public void tearDown() throws Exception {
     invokeInEveryVM(() -> {
       if (clientCache != null) {
         clientCache.close();
@@ -116,7 +118,7 @@ public class ClientFunctionTimeoutRegressionTest implements Serializable {
   @Parameters({"SERVER,REPLICATE,0", "SERVER,REPLICATE,6000", "REGION,REPLICATE,0",
       "REGION,REPLICATE,6000", "REGION,PARTITION,0", "REGION,PARTITION,6000"})
   public void executeFunctionUsesClientTimeoutOnServer(final ExecutionTarget executionTarget,
-      final RegionType regionType, final int timeout) throws Exception {
+      final RegionType regionType, final int timeout) {
     int port = server.invoke(() -> createServerCache(regionType));
     client.invoke(() -> createClientCache(client.getHost().getHostName(), port, timeout));
 
@@ -140,7 +142,7 @@ public class ClientFunctionTimeoutRegressionTest implements Serializable {
     ClientRegionFactory<String, String> clientRegionFactory =
         clientCache.createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY);
 
-    clientRegionFactory.create(REGION_NAME);
+    clientRegionFactory.create(regionName);
   }
 
   private int createServerCache(final RegionType regionType) throws IOException {
@@ -167,7 +169,7 @@ public class ClientFunctionTimeoutRegressionTest implements Serializable {
       regionFactory = serverCache.createRegionFactory(RegionShortcut.REPLICATE);
     }
 
-    regionFactory.create(REGION_NAME);
+    regionFactory.create(regionName);
 
     CacheServer server = serverCache.addCacheServer();
     server.setPort(0);
@@ -185,7 +187,7 @@ public class ClientFunctionTimeoutRegressionTest implements Serializable {
 
     if (functionServiceTarget == ExecutionTarget.REGION) {
       execution =
-          FunctionService.onRegion(clientCache.getRegion(REGION_NAME)).setArguments(timeout);
+          FunctionService.onRegion(clientCache.getRegion(regionName)).setArguments(timeout);
     } else {
       execution = FunctionService.onServer(clientCache.getDefaultPool()).setArguments(timeout);
     }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java
index 6332574..316feb6 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/FunctionExecutionWithExceptionDistributedTest.java
@@ -32,7 +32,6 @@ import java.util.Set;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -51,7 +50,7 @@ import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.FunctionServiceTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
-@Category({FunctionServiceTest.class})
+@Category(FunctionServiceTest.class)
 @SuppressWarnings("serial")
 public class FunctionExecutionWithExceptionDistributedTest implements Serializable {
 
@@ -65,8 +64,8 @@ public class FunctionExecutionWithExceptionDistributedTest implements Serializab
 
   private Set<Integer> intKeys;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = CacheRule.builder()
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java
index 938f28f..85b26fe 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/execute/TransactionOnBehalfOfClientMemberDistributedTest.java
@@ -19,6 +19,7 @@ import static org.apache.geode.test.dunit.VM.getVM;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import java.io.IOException;
 import java.io.Serializable;
 import java.util.ArrayList;
 
@@ -45,17 +46,19 @@ import org.apache.geode.test.dunit.rules.ClientCacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
+@SuppressWarnings("serial")
 public class TransactionOnBehalfOfClientMemberDistributedTest implements Serializable {
+
   private String hostName;
   private String uniqueName;
   private String regionName;
+  private int port1;
+
   private VM server1;
   private VM server2;
 
-  private int port1;
-
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -88,7 +91,7 @@ public class TransactionOnBehalfOfClientMemberDistributedTest implements Seriali
     resumeAndCommitTransaction(true, txId);
   }
 
-  private int createServerRegion(int totalNumBuckets, boolean isAccessor) throws Exception {
+  private int createServerRegion(int totalNumBuckets, boolean isAccessor) throws IOException {
     PartitionAttributesFactory factory = new PartitionAttributesFactory();
     factory.setTotalNumBuckets(totalNumBuckets);
     if (isAccessor) {
@@ -169,5 +172,4 @@ public class TransactionOnBehalfOfClientMemberDistributedTest implements Seriali
     server2.invoke(() -> verifyOnBehalfOfClientMember(false));
     server1.invoke(() -> resumeAndCommitTransaction(false, txId));
   }
-
 }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java
index 162d7e0..eee10a2 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueSizeRegressionTest.java
@@ -40,7 +40,6 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.awaitility.Awaitility;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -66,7 +65,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #48571: CacheClientProxy.getQueueSizeStat() gives negative numbers when client goes down.
  */
-@Category({ClientSubscriptionTest.class})
+@Category(ClientSubscriptionTest.class)
 public class HARegionQueueSizeRegressionTest implements Serializable {
 
   private static final AtomicInteger numOfPuts = new AtomicInteger();
@@ -79,8 +78,8 @@ public class HARegionQueueSizeRegressionTest implements Serializable {
   private VM server;
   private VM client;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
index 4f30187..0a5e268 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/ha/HARegionQueueThreadIdExpiryRegressionTest.java
@@ -29,7 +29,6 @@ import java.io.IOException;
 import java.io.Serializable;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -55,7 +54,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * TRAC #48879: Leaking ThreadIdentifiers and DispatchedAndCurrentEvents objects when client uses
  * many short lived threads
  */
-@Category({ClientSubscriptionTest.class})
+@Category(ClientSubscriptionTest.class)
 @SuppressWarnings("serial")
 public class HARegionQueueThreadIdExpiryRegressionTest implements Serializable {
 
@@ -68,8 +67,8 @@ public class HARegionQueueThreadIdExpiryRegressionTest implements Serializable {
   private String regionName;
   private String hostName;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -99,7 +98,7 @@ public class HARegionQueueThreadIdExpiryRegressionTest implements Serializable {
   }
 
   @Test
-  public void testThreadIdentifiersExpiry() throws Exception {
+  public void testThreadIdentifiersExpiry() {
     int puts = 10;
 
     server1.invoke(() -> doPuts(puts));
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java
index 06ab046..84483dd 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketCreationCrashCompletesRegressionTest.java
@@ -15,6 +15,7 @@
 package org.apache.geode.internal.cache.partitioned;
 
 import static java.util.concurrent.TimeUnit.MINUTES;
+import static org.apache.geode.cache.RegionShortcut.PARTITION;
 import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_NETWORK_PARTITION_DETECTION;
 import static org.apache.geode.test.dunit.DistributedTestUtils.crashDistributedSystem;
 import static org.apache.geode.test.dunit.DistributedTestUtils.getAllDistributedSystemProperties;
@@ -34,10 +35,9 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 import org.apache.geode.CancelException;
-import org.apache.geode.cache.AttributesFactory;
-import org.apache.geode.cache.DataPolicy;
 import org.apache.geode.cache.PartitionAttributesFactory;
 import org.apache.geode.cache.Region;
+import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.distributed.internal.ClusterDistributionManager;
 import org.apache.geode.distributed.internal.DistributionMessage;
 import org.apache.geode.distributed.internal.DistributionMessageObserver;
@@ -58,7 +58,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #39356: Missing PR buckets with HA
  */
-@Category({RegionsTest.class})
+@Category(RegionsTest.class)
 @SuppressWarnings("serial")
 public class BucketCreationCrashCompletesRegressionTest implements Serializable {
 
@@ -69,7 +69,7 @@ public class BucketCreationCrashCompletesRegressionTest implements Serializable
   private VM vm2;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -130,27 +130,26 @@ public class BucketCreationCrashCompletesRegressionTest implements Serializable
   private void createPartitionedRegionWithObserver() {
     DistributionMessageObserver.setInstance(new MyRegionObserver());
 
-    PartitionAttributesFactory paf = new PartitionAttributesFactory();
-    paf.setRedundantCopies(1);
-    paf.setRecoveryDelay(0);
+    PartitionAttributesFactory<?, ?> partitionAttributesFactory = new PartitionAttributesFactory();
+    partitionAttributesFactory.setRedundantCopies(1);
+    partitionAttributesFactory.setRecoveryDelay(0);
 
-    AttributesFactory af = new AttributesFactory();
-    af.setDataPolicy(DataPolicy.PARTITION);
-    af.setPartitionAttributes(paf.create());
+    RegionFactory<?, ?> regionFactory = getCache().createRegionFactory(PARTITION);
+    regionFactory.setPartitionAttributes(partitionAttributesFactory.create());
 
-    getCache().createRegion(regionName, af.create());
+    regionFactory.create(regionName);
   }
 
   private void createAccessorAndCrash() {
-    PartitionAttributesFactory<String, String> paf = new PartitionAttributesFactory<>();
-    paf.setRedundantCopies(1);
-    paf.setLocalMaxMemory(0);
+    PartitionAttributesFactory<String, String> partitionAttributesFactory =
+        new PartitionAttributesFactory<>();
+    partitionAttributesFactory.setRedundantCopies(1);
+    partitionAttributesFactory.setLocalMaxMemory(0);
 
-    AttributesFactory<String, String> af = new AttributesFactory<>();
-    af.setDataPolicy(DataPolicy.PARTITION);
-    af.setPartitionAttributes(paf.create());
+    RegionFactory<String, String> regionFactory = getCache().createRegionFactory(PARTITION);
+    regionFactory.setPartitionAttributes(partitionAttributesFactory.create());
 
-    Region<String, String> region = getCache().createRegion(regionName, af.create());
+    Region<String, String> region = regionFactory.create(regionName);
 
     // trigger the creation of a bucket, which should trigger the destruction of this VM.
     assertThatThrownBy(() -> region.put("ping", "pong")).isInstanceOf(CancelException.class);
@@ -182,15 +181,15 @@ public class BucketCreationCrashCompletesRegressionTest implements Serializable
   }
 
   private void createPartitionedRegion() {
-    PartitionAttributesFactory paf = new PartitionAttributesFactory();
-    paf.setRedundantCopies(1);
-    paf.setRecoveryDelay(-1);
-    paf.setStartupRecoveryDelay(-1);
+    PartitionAttributesFactory<?, ?> partitionAttributesFactory = new PartitionAttributesFactory();
+    partitionAttributesFactory.setRedundantCopies(1);
+    partitionAttributesFactory.setRecoveryDelay(-1);
+    partitionAttributesFactory.setStartupRecoveryDelay(-1);
 
-    AttributesFactory af = new AttributesFactory();
-    af.setPartitionAttributes(paf.create());
+    RegionFactory<?, ?> regionFactory = getCache().createRegionFactory(PARTITION);
+    regionFactory.setPartitionAttributes(partitionAttributesFactory.create());
 
-    getCache().createRegion(regionName, af.create());
+    regionFactory.create(regionName);
   }
 
   private void createBucket() {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java
index bf0a9b0..ad6177f 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/BucketRebalanceStatRegressionTest.java
@@ -73,7 +73,7 @@ public class BucketRebalanceStatRegressionTest implements Serializable {
   private VM vm1;
 
   @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  public static DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java
index 8940e54..e2de1cd 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PRDiskConflictWithColocationDistributedTest.java
@@ -51,7 +51,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 /**
  * Extracted from {@link PersistentPartitionedRegionDistributedTest}.
  */
-
 @SuppressWarnings("serial")
 public class PRDiskConflictWithColocationDistributedTest implements Serializable {
 
@@ -61,7 +60,7 @@ public class PRDiskConflictWithColocationDistributedTest implements Serializable
   private VM vm0;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
index 5d38c96..274939f 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDistributedTest.java
@@ -21,6 +21,7 @@ import static org.apache.geode.admin.AdminDistributedSystemFactory.getDistribute
 import static org.apache.geode.cache.EvictionAction.OVERFLOW_TO_DISK;
 import static org.apache.geode.cache.EvictionAttributes.createLRUEntryAttributes;
 import static org.apache.geode.cache.Region.SEPARATOR;
+import static org.apache.geode.cache.RegionShortcut.PARTITION_OVERFLOW;
 import static org.apache.geode.cache.RegionShortcut.PARTITION_PERSISTENT;
 import static org.apache.geode.cache.RegionShortcut.PARTITION_PROXY;
 import static org.apache.geode.cache.RegionShortcut.REPLICATE;
@@ -63,7 +64,6 @@ import org.apache.geode.cache.DiskAccessException;
 import org.apache.geode.cache.PartitionAttributesFactory;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionFactory;
-import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.cache.execute.Function;
 import org.apache.geode.cache.execute.FunctionContext;
 import org.apache.geode.cache.execute.FunctionService;
@@ -100,9 +100,8 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 /**
  * Tests the basic use cases for PR persistence.
  */
-
 @RunWith(JUnitParamsRunner.class)
-@SuppressWarnings("deprecation,serial,unused")
+@SuppressWarnings("serial,unused")
 public class PersistentPartitionedRegionDistributedTest implements Serializable {
 
   private static final int NUM_BUCKETS = 15;
@@ -117,7 +116,7 @@ public class PersistentPartitionedRegionDistributedTest implements Serializable
   private VM vm3;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule =
@@ -206,11 +205,10 @@ public class PersistentPartitionedRegionDistributedTest implements Serializable
 
   @Test
   public void missingDiskStoreCanBeRevoked() throws Exception {
-    int numBuckets = 50;
-
     vm0.invoke(() -> createPartitionedRegion(1, -1, 113, true));
     vm1.invoke(() -> createPartitionedRegion(1, -1, 113, true));
 
+    int numBuckets = 50;
     vm0.invoke(() -> createData(0, numBuckets, "a"));
 
     Set<Integer> bucketsOnVM0 = vm0.invoke(() -> getBucketList());
@@ -854,7 +852,7 @@ public class PersistentPartitionedRegionDistributedTest implements Serializable
    */
   @Test
   public void doesNotLogSuspectStringDuringCacheClosure() {
-    RegionFactory regionFactory = getCache().createRegionFactory(RegionShortcut.PARTITION_OVERFLOW);
+    RegionFactory<?, ?> regionFactory = getCache().createRegionFactory(PARTITION_OVERFLOW);
     regionFactory.setEvictionAttributes(createLRUEntryAttributes(50, OVERFLOW_TO_DISK));
 
     regionFactory.create(partitionedRegionName);
@@ -864,12 +862,11 @@ public class PersistentPartitionedRegionDistributedTest implements Serializable
 
   @Test
   public void partitionedRegionsCanBeNested() throws Exception {
-    int numBuckets = 50;
-
     vm0.invoke(() -> createNestedPartitionedRegion());
     vm1.invoke(() -> createNestedPartitionedRegion());
     vm2.invoke(() -> createNestedPartitionedRegion());
 
+    int numBuckets = 50;
     vm0.invoke(() -> {
       createDataFor(0, numBuckets, "a", parentRegion1Name + SEPARATOR + partitionedRegionName);
       createDataFor(0, numBuckets, "b", parentRegion2Name + SEPARATOR + partitionedRegionName);
@@ -1357,7 +1354,7 @@ public class PersistentPartitionedRegionDistributedTest implements Serializable
     partitionAttributesFactory.setRedundantCopies(1);
 
     RegionFactory<?, ?> regionFactoryPR =
-        getCache().createRegionFactory(RegionShortcut.PARTITION_PERSISTENT);
+        getCache().createRegionFactory(PARTITION_PERSISTENT);
     regionFactoryPR.setPartitionAttributes(partitionAttributesFactory.create());
 
     regionFactoryPR.createSubregion(parentRegion1, partitionedRegionName);
@@ -1495,7 +1492,7 @@ public class PersistentPartitionedRegionDistributedTest implements Serializable
     partitionAttributesFactory.setLocalMaxMemory(500);
 
     RegionFactory<?, ?> regionFactory =
-        getCache().createRegionFactory(RegionShortcut.PARTITION_PERSISTENT);
+        getCache().createRegionFactory(PARTITION_PERSISTENT);
     regionFactory.setDiskSynchronous(synchronous);
     regionFactory.setPartitionAttributes(partitionAttributesFactory.create());
 
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java
index 22aac27..06007ff 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionRegressionTest.java
@@ -67,7 +67,6 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 /**
  * RegressionTests extracted from {@link PersistentPartitionedRegionDistributedTest}.
  */
-
 @SuppressWarnings("serial,unused")
 public class PersistentPartitionedRegionRegressionTest implements Serializable {
 
@@ -81,7 +80,7 @@ public class PersistentPartitionedRegionRegressionTest implements Serializable {
   private VM vm2;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -342,7 +341,7 @@ public class PersistentPartitionedRegionRegressionTest implements Serializable {
    * Controller VM sees unexpected PartitionOffLineException while doing ops)
    */
   @Test
-  public void doesNotWaitForPreviousInstanceOfOnlineServer() throws Exception {
+  public void doesNotWaitForPreviousInstanceOfOnlineServer() {
     // Add a hook to disconnect from the distributed system when the initial image message shows up.
     vm0.invoke(() -> {
       DistributionMessageObserver.setInstance(new DistributionMessageObserver() {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java
index db13012..737c344 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/QueueRemovalMessageProcessingDistributedTest.java
@@ -63,13 +63,12 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * The test ensures that the EXPIRE_DESTROY events are propagated to the subscriber client and the
  * secondary server does process the QRMs for the EXPIRE_DESTROY events.
  */
-@Category({RegionsTest.class})
+@Category(RegionsTest.class)
 @SuppressWarnings("serial")
 public class QueueRemovalMessageProcessingDistributedTest implements Serializable {
 
   private static final int TOTAL_NUM_BUCKETS = 4;
-
-  private static final AtomicInteger destroyedCount = new AtomicInteger();
+  private static final AtomicInteger DESTROYED_COUNT = new AtomicInteger();
 
   private String regionName;
   private String hostName;
@@ -83,7 +82,7 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
   private VM client2;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -113,24 +112,24 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
 
   @After
   public void tearDown() throws Exception {
-    destroyedCount.set(0);
+    DESTROYED_COUNT.set(0);
     invokeInEveryVM(() -> {
-      destroyedCount.set(0);
+      DESTROYED_COUNT.set(0);
     });
   }
 
   @Test
-  public void testQRMOfExpiredEventsProcessedSuccessfully() throws Exception {
+  public void testQRMOfExpiredEventsProcessedSuccessfully() {
     int putCount = 10;
 
-    // totalEvents = putCount * 2 [eviction-destroys] + 1 [marker message]
-    int totalEvents = putCount * 2 + 1;
-
     client2.invoke(() -> doPuts(putCount));
 
     identifyPrimaryServer();
 
-    client1.invoke(() -> await().atMost(1, MINUTES).until(() -> destroyedCount.get() == 10));
+    client1.invoke(() -> await().atMost(1, MINUTES).until(() -> DESTROYED_COUNT.get() == 10));
+
+    // totalEvents = putCount * 2 [eviction-destroys] + 1 [marker message]
+    int totalEvents = putCount * 2 + 1;
 
     primary.invoke(() -> verifyClientSubscriptionStatsOnPrimary(totalEvents));
     secondary.invoke(() -> verifyClientSubscriptionStatsOnSecondary(totalEvents));
@@ -139,22 +138,23 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
   private int createCacheServerWithPRDatastore() throws IOException {
     cacheRule.createCache();
 
-    PartitionAttributesFactory<String, String> paf = new PartitionAttributesFactory<>();
-    paf.setRedundantCopies(1);
-    paf.setTotalNumBuckets(TOTAL_NUM_BUCKETS);
+    PartitionAttributesFactory<String, String> partitionAttributesFactory =
+        new PartitionAttributesFactory<>();
+    partitionAttributesFactory.setRedundantCopies(1);
+    partitionAttributesFactory.setTotalNumBuckets(TOTAL_NUM_BUCKETS);
 
-    RegionFactory<String, String> rf =
+    RegionFactory<String, String> regionFactory =
         cacheRule.getCache().createRegionFactory(RegionShortcut.PARTITION);
-    rf.setConcurrencyChecksEnabled(false);
-    rf.setEntryTimeToLive(new ExpirationAttributes(3, ExpirationAction.DESTROY));
-    rf.setPartitionAttributes(paf.create());
+    regionFactory.setConcurrencyChecksEnabled(false);
+    regionFactory.setEntryTimeToLive(new ExpirationAttributes(3, ExpirationAction.DESTROY));
+    regionFactory.setPartitionAttributes(partitionAttributesFactory.create());
 
-    rf.create(regionName);
+    regionFactory.create(regionName);
 
-    CacheServer server = cacheRule.getCache().addCacheServer();
-    server.setPort(0);
-    server.start();
-    return server.getPort();
+    CacheServer cacheServer = cacheRule.getCache().addCacheServer();
+    cacheServer.setPort(0);
+    cacheServer.start();
+    return cacheServer.getPort();
   }
 
   private void createClientCacheWithRI(int port1, int port2, String durableClientId) {
@@ -162,26 +162,26 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
     config.setProperty(DURABLE_CLIENT_ID, durableClientId);
     config.setProperty(DURABLE_CLIENT_TIMEOUT, "300000");
 
-    ClientCacheFactory ccf = new ClientCacheFactory(config);
-    ccf.addPoolServer(hostName, port1);
-    ccf.addPoolServer(hostName, port2);
-    ccf.setPoolSubscriptionAckInterval(50);
-    ccf.setPoolSubscriptionEnabled(true);
-    ccf.setPoolSubscriptionRedundancy(1);
+    ClientCacheFactory clientCacheFactory = new ClientCacheFactory(config);
+    clientCacheFactory.addPoolServer(hostName, port1);
+    clientCacheFactory.addPoolServer(hostName, port2);
+    clientCacheFactory.setPoolSubscriptionAckInterval(50);
+    clientCacheFactory.setPoolSubscriptionEnabled(true);
+    clientCacheFactory.setPoolSubscriptionRedundancy(1);
 
-    clientCacheRule.createClientCache(ccf);
+    clientCacheRule.createClientCache(clientCacheFactory);
 
-    ClientRegionFactory<String, String> crf = clientCacheRule.getClientCache()
+    ClientRegionFactory<String, String> clientRegionFactory = clientCacheRule.getClientCache()
         .createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY);
 
-    crf.addCacheListener(new CacheListenerAdapter<String, String>() {
+    clientRegionFactory.addCacheListener(new CacheListenerAdapter<String, String>() {
       @Override
       public void afterDestroy(EntryEvent<String, String> event) {
-        destroyedCount.incrementAndGet();
+        DESTROYED_COUNT.incrementAndGet();
       }
     });
 
-    Region<String, String> region = crf.create(regionName);
+    Region<String, String> region = clientRegionFactory.create(regionName);
 
     region.registerInterest("ALL_KEYS", true);
     clientCacheRule.getClientCache().readyForEvents();
@@ -192,12 +192,12 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
     config.setProperty(DURABLE_CLIENT_ID, durableClientId);
     config.setProperty(DURABLE_CLIENT_TIMEOUT, "300000");
 
-    ClientCacheFactory ccf = new ClientCacheFactory(config);
-    ccf.setPoolSubscriptionAckInterval(50);
-    ccf.setPoolSubscriptionRedundancy(1);
-    ccf.addPoolServer(hostName, port);
+    ClientCacheFactory clientCacheFactory = new ClientCacheFactory(config);
+    clientCacheFactory.setPoolSubscriptionAckInterval(50);
+    clientCacheFactory.setPoolSubscriptionRedundancy(1);
+    clientCacheFactory.addPoolServer(hostName, port);
 
-    clientCacheRule.createClientCache(ccf);
+    clientCacheRule.createClientCache(clientCacheFactory);
 
     ClientRegionFactory<String, String> crf = clientCacheRule.getClientCache()
         .createClientRegionFactory(ClientRegionShortcut.CACHING_PROXY);
@@ -219,11 +219,8 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
 
   private boolean allEventsHaveBeenDispatched(final int eventsCount) {
     HARegionQueueStats stats = getCacheClientProxy().getHARegionQueue().getStatistics();
-
-    int numOfEvents = eventsCount;
     long dispatched = stats.getEventsDispatched();
-
-    return numOfEvents == dispatched;
+    return eventsCount == dispatched;
   }
 
   private void verifyClientSubscriptionStatsOnSecondary(final int eventsCount) {
@@ -234,7 +231,7 @@ public class QueueRemovalMessageProcessingDistributedTest implements Serializabl
 
       long qrmed = stats.getEventsRemovedByQrm();
 
-      return qrmed == numOfEvents || (qrmed + 1) == numOfEvents;
+      return qrmed == numOfEvents || qrmed + 1 == numOfEvents;
       // Why +1 above? Because sometimes(TODO: explain further) there may
       // not be any QRM sent to the secondary for the last event dispatched
       // at primary.
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java
index b89c2bf..6840c6c 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/partitioned/RegisterInterestKeysValuesDistributedTest.java
@@ -55,7 +55,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #43684: Register interest with policy KEYS_VALUES is inefficient
  */
-@Category({RegionsTest.class})
+@Category(RegionsTest.class)
 @SuppressWarnings("serial")
 public class RegisterInterestKeysValuesDistributedTest implements Serializable {
 
@@ -71,7 +71,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   private int port1;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -98,7 +98,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithSingleKeyOnRR() throws Exception {
+  public void testRIWithSingleKeyOnRR() {
     port1 = server1.invoke(() -> createServerCache(true, false));
     server2.invoke(() -> createServerCache(true, false));
     server3.invoke(() -> createServerCache(true, false));
@@ -107,7 +107,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithAllKeysOnRR() throws Exception {
+  public void testRIWithAllKeysOnRR() {
     port1 = server1.invoke(() -> createServerCache(true, false));
     server2.invoke(() -> createServerCache(true, false));
     server3.invoke(() -> createServerCache(true, false));
@@ -116,7 +116,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithKeyListOnRR() throws Exception {
+  public void testRIWithKeyListOnRR() {
     port1 = server1.invoke(() -> createServerCache(true, false));
     server2.invoke(() -> createServerCache(true, false));
     server3.invoke(() -> createServerCache(true, false));
@@ -134,7 +134,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithRegularExpressionOnRR() throws Exception {
+  public void testRIWithRegularExpressionOnRR() {
     port1 = server1.invoke(() -> createServerCache(true, false));
     server2.invoke(() -> createServerCache(true, false));
     server3.invoke(() -> createServerCache(true, false));
@@ -143,7 +143,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithSingleKeyOnPR() throws Exception {
+  public void testRIWithSingleKeyOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, false));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -152,7 +152,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithAllKeysOnPR() throws Exception {
+  public void testRIWithAllKeysOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, false));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -161,7 +161,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithKeyListOnPR() throws Exception {
+  public void testRIWithKeyListOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, false));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -179,7 +179,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithRegularExpressionOnPR() throws Exception {
+  public void testRIWithRegularExpressionOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, false));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -188,7 +188,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithMoreEntriesOnPR() throws Exception {
+  public void testRIWithMoreEntriesOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, false));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -197,7 +197,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithSingleKeyOnEmptyPrimaryOnPR() throws Exception {
+  public void testRIWithSingleKeyOnEmptyPrimaryOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, true));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -206,7 +206,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithAllKeysOnEmptyPrimaryOnPR() throws Exception {
+  public void testRIWithAllKeysOnEmptyPrimaryOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, true));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -215,7 +215,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithKeyListOnEmptyPrimaryOnPR() throws Exception {
+  public void testRIWithKeyListOnEmptyPrimaryOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, true));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -233,7 +233,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testRIWithRegularExpressionOnEmptyPrimaryOnPR() throws Exception {
+  public void testRIWithRegularExpressionOnEmptyPrimaryOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, true));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -242,7 +242,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   @Test
-  public void testNativeClientIssueOnPR() throws Exception {
+  public void testNativeClientIssueOnPR() {
     port1 = server1.invoke(() -> createServerCache(false, false));
     server2.invoke(() -> createServerCache(false, false));
     server3.invoke(() -> createServerCache(false, false));
@@ -268,7 +268,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
     doOps();
 
     client1.invoke(() -> {
-      Region region = clientCache().getRegion(regionName);
+      Region<Object, Object> region = clientCache().getRegion(regionName);
       region.registerInterest(keys);
       region.registerInterest("UNKNOWN_KEY");
     });
@@ -298,7 +298,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   private int getExpectedSize(Object keys, String regEx, int numOfPuts) {
-    return keys != null ? (keys instanceof List ? ((List) keys).size() : 1)
+    return keys != null ? keys instanceof List ? ((List) keys).size() : 1
         : regEx == null ? numOfPuts : regexCount;
   }
 
@@ -337,19 +337,19 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   private void registerInterest(Object keys, String regEx) {
-    Region region = clientCache().getRegion(regionName);
+    Region<Object, Object> region = clientCache().getRegion(regionName);
     if (keys == null && regEx == null) {
       region.registerInterest("ALL_KEYS");
     } else if (keys != null) {
       region.registerInterest(keys);
       region.registerInterest("UNKNOWN_KEY");
-    } else if (regEx != null) {
+    } else {
       region.registerInterestRegex(regEx);
     }
   }
 
   private void doPuts(int count, String regex, int regexNum) {
-    Region region = cache().getRegion(regionName);
+    Region<String, String> region = cache().getRegion(regionName);
     for (int i = 0; i < count; i++) {
       region.create("KEY_" + i, "VALUE__" + i);
     }
@@ -361,7 +361,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
   }
 
   private void doOps() {
-    Region region = clientCache().getRegion(regionName);
+    Region<String, String> region = clientCache().getRegion(regionName);
     for (int i = 0; i < 14; i++) {
       region.create("OPKEY_" + i, "OPVALUE__" + i);
     }
@@ -388,7 +388,7 @@ public class RegisterInterestKeysValuesDistributedTest implements Serializable {
     cacheRule.createCache();
   }
 
-  private void createClientCache(ClientCacheFactory ccf) {
-    clientCacheRule.createClientCache(ccf);
+  private void createClientCache(ClientCacheFactory clientCacheFactory) {
+    clientCacheRule.createClientCache(clientCacheFactory);
   }
 }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java
index 5b91847..bcbd0ac 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/DeltaPropagationFailureRegressionTest.java
@@ -14,6 +14,7 @@
  */
 package org.apache.geode.internal.cache.tier;
 
+import static org.apache.geode.cache.RegionShortcut.REPLICATE;
 import static org.apache.geode.internal.cache.tier.DeltaPropagationFailureRegressionTest.DeltaFailure.FROM_DELTA;
 import static org.apache.geode.internal.cache.tier.DeltaPropagationFailureRegressionTest.DeltaFailure.TO_DELTA;
 import static org.apache.geode.test.dunit.IgnoredException.addIgnoredException;
@@ -30,10 +31,8 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 import org.apache.geode.DeltaSerializationException;
-import org.apache.geode.cache.AttributesFactory;
-import org.apache.geode.cache.DataPolicy;
 import org.apache.geode.cache.Region;
-import org.apache.geode.cache.Scope;
+import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.cache.server.CacheServer;
 import org.apache.geode.internal.cache.tier.sockets.DeltaEOFException;
 import org.apache.geode.internal.cache.tier.sockets.FaultyDelta;
@@ -52,7 +51,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  *
  * @since GemFire 6.1
  */
-@Category({ClientServerTest.class})
+@Category(ClientServerTest.class)
 @SuppressWarnings("serial")
 public class DeltaPropagationFailureRegressionTest implements Serializable {
 
@@ -64,7 +63,7 @@ public class DeltaPropagationFailureRegressionTest implements Serializable {
   private VM server2;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -113,23 +112,19 @@ public class DeltaPropagationFailureRegressionTest implements Serializable {
   private int createServerCache() throws Exception {
     cacheRule.createCache();
 
-    AttributesFactory af = new AttributesFactory();
-    af.setCloningEnabled(false);
-    af.setDataPolicy(DataPolicy.REPLICATE);
-    af.setScope(Scope.DISTRIBUTED_ACK);
+    RegionFactory<?, ?> regionFactory = cacheRule.getCache().createRegionFactory(REPLICATE);
+    regionFactory.setCloningEnabled(false);
 
-    cacheRule.getCache().createRegion(regionName, af.create());
+    regionFactory.create(regionName);
 
-    CacheServer server = cacheRule.getCache().addCacheServer();
-    server.setPort(0);
-    // ensures updates to be sent instead of invalidates
-    server.setNotifyBySubscription(true);
-    server.start();
-    return server.getPort();
+    CacheServer cacheServer = cacheRule.getCache().addCacheServer();
+    cacheServer.setPort(0);
+    cacheServer.start();
+    return cacheServer.getPort();
   }
 
   private void putDelta(DeltaFailure deltaFailure) {
-    Region region = cacheRule.getCache().getRegion(regionName);
+    Region<String, FaultyDelta> region = cacheRule.getCache().getRegion(regionName);
     deltaFailure.putInRegion(region);
   }
 
@@ -142,7 +137,7 @@ public class DeltaPropagationFailureRegressionTest implements Serializable {
       this.value = value;
     }
 
-    void putInRegion(Region region) {
+    void putInRegion(Region<String, FaultyDelta> region) {
       for (int i = 0; i < PUT_COUNT; i++) {
         value.setIntVal(i);
         value.setBigObj(new byte[] {(byte) (i + 3), (byte) (i + 3)});
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java
index ffabb9e..eb45c7a 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/AcceptorImplClientQueueDistributedTest.java
@@ -22,14 +22,12 @@ import static org.assertj.core.api.Assertions.assertThat;
 import java.io.File;
 import java.io.IOException;
 import java.io.Serializable;
-import java.rmi.RemoteException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.awaitility.Awaitility;
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -59,7 +57,7 @@ import org.apache.geode.test.junit.categories.ClientServerTest;
 import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolder;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
-@Category({ClientServerTest.class})
+@Category(ClientServerTest.class)
 @SuppressWarnings("serial")
 public class AcceptorImplClientQueueDistributedTest implements Serializable {
 
@@ -67,11 +65,11 @@ public class AcceptorImplClientQueueDistributedTest implements Serializable {
 
   private String hostName;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
-  public CacheRule cacheRule = CacheRule.builder().createCacheIn(getVM(0)).createCacheIn(getVM(1))
+  public CacheRule cacheRule = CacheRule.builder()
       .addSystemProperty("BridgeServer.HANDSHAKE_POOL_SIZE", "1").build();
 
   @Rule
@@ -87,11 +85,14 @@ public class AcceptorImplClientQueueDistributedTest implements Serializable {
   @Before
   public void setUp() throws Exception {
     hostName = getHostName();
+
+    getVM(0).invoke(() -> cacheRule.createCache());
+    getVM(1).invoke(() -> cacheRule.createCache());
   }
 
   @After
-  public void tearDown() throws RemoteException {
-    getAllVMs().forEach((vm) -> vm.invoke(() -> {
+  public void tearDown() {
+    getAllVMs().forEach(vm -> vm.invoke(() -> {
       InitialImageOperation.slowImageProcessing = 0;
     }));
   }
@@ -176,17 +177,18 @@ public class AcceptorImplClientQueueDistributedTest implements Serializable {
               cache.createClientRegionFactory(ClientRegionShortcut.PROXY);
           AtomicInteger eventCount = new AtomicInteger(0);
 
-          Region region = clientRegionFactory.addCacheListener(new CacheListenerAdapter() {
-            @Override
-            public void afterCreate(EntryEvent event) {
-              eventCount.incrementAndGet();
-            }
-
-            @Override
-            public void afterUpdate(EntryEvent event) {
-              eventCount.incrementAndGet();
-            }
-          }).create("subscriptionRegion");
+          Region<?, ?> region =
+              clientRegionFactory.addCacheListener(new CacheListenerAdapter<Object, Object>() {
+                @Override
+                public void afterCreate(EntryEvent event) {
+                  eventCount.incrementAndGet();
+                }
+
+                @Override
+                public void afterUpdate(EntryEvent event) {
+                  eventCount.incrementAndGet();
+                }
+              }).create("subscriptionRegion");
 
           region.registerInterestRegex(".*", InterestResultPolicy.NONE, true);
           cache.readyForEvents();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java
index 8689c9a..6066626 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionNotificationRegressionTest.java
@@ -15,6 +15,8 @@
 package org.apache.geode.internal.cache.tier.sockets;
 
 import static java.util.concurrent.TimeUnit.MINUTES;
+import static org.apache.geode.cache.RegionShortcut.REPLICATE;
+import static org.apache.geode.cache.client.ClientRegionShortcut.LOCAL;
 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;
@@ -29,9 +31,7 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 import org.apache.geode.cache.RegionFactory;
-import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.cache.client.ClientRegionFactory;
-import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.cache.client.PoolManager;
 import org.apache.geode.cache.client.internal.Connection;
 import org.apache.geode.cache.client.internal.PoolImpl;
@@ -54,7 +54,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #36269: RegionDestroy operation may get sent to the originator
  */
-@Category({ClientServerTest.class})
+@Category(ClientServerTest.class)
 public class ClientDestroyRegionNotificationRegressionTest implements Serializable {
 
   private String hostName;
@@ -68,7 +68,7 @@ public class ClientDestroyRegionNotificationRegressionTest implements Serializab
   private VM server2;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -124,10 +124,10 @@ public class ClientDestroyRegionNotificationRegressionTest implements Serializab
       CacheServerTestUtil.enableShufflingOfEndpoints();
     }
 
-    ClientRegionFactory crf =
-        clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
-    crf.setPoolName(pool.getName());
-    crf.create(regionName);
+    ClientRegionFactory<?, ?> clientRegionFactory =
+        clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
+    clientRegionFactory.setPoolName(pool.getName());
+    clientRegionFactory.create(regionName);
 
     Connection connection = pool.acquireConnection(new ServerLocation(hostName, port2));
     EventID eventId = new EventID(new byte[] {1}, 1, 1);
@@ -139,13 +139,12 @@ public class ClientDestroyRegionNotificationRegressionTest implements Serializab
   private int createServerCache() throws IOException {
     cacheRule.createCache();
 
-    RegionFactory rf = cacheRule.getCache().createRegionFactory(RegionShortcut.REPLICATE);
-    rf.create(regionName);
+    RegionFactory<?, ?> regionFactory = cacheRule.getCache().createRegionFactory(REPLICATE);
+    regionFactory.create(regionName);
 
-    CacheServer server = cacheRule.getCache().addCacheServer();
-    server.setPort(0);
-    server.setNotifyBySubscription(true);
-    server.start();
-    return server.getPort();
+    CacheServer cacheServer = cacheRule.getCache().addCacheServer();
+    cacheServer.setPort(0);
+    cacheServer.start();
+    return cacheServer.getPort();
   }
 }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java
index 63dffb1..6c6fb3e 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientDestroyRegionUnregisterInterestRegressionTest.java
@@ -14,6 +14,8 @@
  */
 package org.apache.geode.internal.cache.tier.sockets;
 
+import static org.apache.geode.cache.RegionShortcut.REPLICATE;
+import static org.apache.geode.cache.client.ClientRegionShortcut.LOCAL;
 import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
 import static org.apache.geode.test.dunit.VM.getHostName;
 import static org.apache.geode.test.dunit.VM.getVM;
@@ -35,9 +37,7 @@ import org.junit.experimental.categories.Category;
 
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionFactory;
-import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.cache.client.ClientRegionFactory;
-import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.cache.client.Pool;
 import org.apache.geode.cache.client.PoolManager;
 import org.apache.geode.cache.client.internal.PoolImpl;
@@ -60,7 +60,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * TRAC #36457: Region Destroy results in unregister interest propagation to server resulting in
  * server being falsely marked dead
  */
-@Category({ClientServerTest.class})
+@Category(ClientServerTest.class)
 public class ClientDestroyRegionUnregisterInterestRegressionTest implements Serializable {
 
   private String uniqueName;
@@ -73,7 +73,7 @@ public class ClientDestroyRegionUnregisterInterestRegressionTest implements Seri
   private VM client2;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -119,10 +119,8 @@ public class ClientDestroyRegionUnregisterInterestRegressionTest implements Seri
 
     client1.invoke(() -> clientCacheRule.getClientCache().getRegion(regionName).destroyRegion());
 
-    client2.invoke(() -> {
-      verify(ClientServerObserverHolder.getInstance(), times(0))
-          .afterPrimaryIdentificationFromBackup(any());
-    });
+    client2.invoke(() -> verify(ClientServerObserverHolder.getInstance(), times(0))
+        .afterPrimaryIdentificationFromBackup(any()));
   }
 
   private void createClientCache(int port1, int port2) {
@@ -131,13 +129,13 @@ public class ClientDestroyRegionUnregisterInterestRegressionTest implements Seri
     Pool pool = PoolManager.createFactory().addServer(hostName, port1).addServer(hostName, port2)
         .setSubscriptionEnabled(true).setMinConnections(4).create(uniqueName);
 
-    ClientRegionFactory crf =
-        clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
-    crf.setPoolName(pool.getName());
+    ClientRegionFactory<Object, ?> clientRegionFactory =
+        clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
+    clientRegionFactory.setPoolName(pool.getName());
 
-    Region region = crf.create(regionName);
+    Region<Object, ?> region = clientRegionFactory.create(regionName);
 
-    List listOfKeys = new ArrayList();
+    List<String> listOfKeys = new ArrayList<>();
     listOfKeys.add("key-1");
     listOfKeys.add("key-2");
     listOfKeys.add("key-3");
@@ -150,13 +148,12 @@ public class ClientDestroyRegionUnregisterInterestRegressionTest implements Seri
   private int createServerCache() throws IOException {
     cacheRule.createCache();
 
-    RegionFactory rf = cacheRule.getCache().createRegionFactory(RegionShortcut.REPLICATE);
+    RegionFactory regionFactory = cacheRule.getCache().createRegionFactory(REPLICATE);
 
-    rf.create(regionName);
+    regionFactory.create(regionName);
 
     CacheServer cacheServer = cacheRule.getCache().addCacheServer();
     cacheServer.setPort(0);
-    cacheServer.setNotifyBySubscription(true);
     cacheServer.start();
     return cacheServer.getPort();
   }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java
index a7aa09e..91b75a3 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientProxyWithDeltaDistributedTest.java
@@ -15,11 +15,9 @@
 package org.apache.geode.internal.cache.tier.sockets;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.apache.geode.internal.AvailablePort.SOCKET;
-import static org.apache.geode.internal.AvailablePort.getRandomAvailablePort;
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 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.awaitility.Awaitility.await;
@@ -32,7 +30,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -61,7 +59,7 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
 
-@Category({ClientSubscriptionTest.class})
+@Category(ClientSubscriptionTest.class)
 @SuppressWarnings("serial")
 public class ClientProxyWithDeltaDistributedTest implements Serializable {
 
@@ -78,8 +76,8 @@ public class ClientProxyWithDeltaDistributedTest implements Serializable {
   private VM client1;
   private VM client2;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Before
   public void setUp() throws Exception {
@@ -87,7 +85,7 @@ public class ClientProxyWithDeltaDistributedTest implements Serializable {
     client1 = getVM(1);
     client2 = getVM(3);
 
-    hostName = getServerHostName(server.getHost());
+    hostName = getHostName();
 
     serverPort = server.invoke(() -> createServerCache());
 
@@ -113,7 +111,7 @@ public class ClientProxyWithDeltaDistributedTest implements Serializable {
    * Verifies that delta put arrives as delta object to client with CACHING_PROXY region
    */
   @Test
-  public void cachingClientReceivesDeltaUpdates() throws Exception {
+  public void cachingClientReceivesDeltaUpdates() {
     client1.invoke(() -> {
       clientCache.close();
       clientCache = null;
@@ -151,7 +149,7 @@ public class ClientProxyWithDeltaDistributedTest implements Serializable {
    * Verifies that delta put arrives as complete object to client with PROXY region
    */
   @Test
-  public void emptyClientReceivesFullUpdatesInsteadOfDeltaUpdates() throws Exception {
+  public void emptyClientReceivesFullUpdatesInsteadOfDeltaUpdates() {
     client2.invoke(() -> {
       CacheClientUpdater.isUsedByTest = true;
       clientCache.<Integer, DeltaEnabledObject>getRegion(PROXY_NAME).getAttributesMutator()
@@ -179,7 +177,7 @@ public class ClientProxyWithDeltaDistributedTest implements Serializable {
    * Verifies that reusing delta object as value does not use delta when putting with new key
    */
   @Test
-  public void reusingValueForCreatesDoesNotUseDelta() throws Exception {
+  public void reusingValueForCreatesDoesNotUseDelta() {
     client1.invoke(() -> {
       Region<Integer, DeltaEnabledObject> region = clientCache.getRegion(PROXY_NAME);
       DeltaEnabledObject objectWithDelta = new DeltaEnabledObject();
@@ -203,13 +201,13 @@ public class ClientProxyWithDeltaDistributedTest implements Serializable {
     regionFactory.setDataPolicy(DataPolicy.REPLICATE);
     regionFactory.setScope(Scope.DISTRIBUTED_ACK);
 
-    regionFactory.<Integer, DeltaEnabledObject>create(PROXY_NAME);
-    regionFactory.<Integer, DeltaEnabledObject>create(CACHING_PROXY_NAME);
+    regionFactory.create(PROXY_NAME);
+    regionFactory.create(CACHING_PROXY_NAME);
 
-    CacheServer server = cache.addCacheServer();
-    server.setPort(getRandomAvailablePort(SOCKET));
-    server.start();
-    return server.getPort();
+    CacheServer cacheServer = cache.addCacheServer();
+    cacheServer.setPort(0);
+    cacheServer.start();
+    return cacheServer.getPort();
   }
 
   private void createClientCacheWithProxyRegion(final String hostName, final int port) {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java
index 08d2078..0e15515 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/ClientWithInterestFailoverDistributedTest.java
@@ -15,8 +15,6 @@
 package org.apache.geode.internal.cache.tier.sockets;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.apache.geode.internal.AvailablePort.SOCKET;
-import static org.apache.geode.internal.AvailablePort.getRandomAvailablePort;
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
 import static org.apache.geode.test.dunit.NetworkUtils.getServerHostName;
@@ -31,7 +29,7 @@ import java.util.List;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -55,7 +53,7 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientServerTest;
 
-@Category({ClientServerTest.class})
+@Category(ClientServerTest.class)
 @SuppressWarnings("serial")
 public class ClientWithInterestFailoverDistributedTest implements Serializable {
 
@@ -74,8 +72,8 @@ public class ClientWithInterestFailoverDistributedTest implements Serializable {
   private VM server;
   private VM server2;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Before
   public void setUp() throws Exception {
@@ -99,7 +97,7 @@ public class ClientWithInterestFailoverDistributedTest implements Serializable {
   }
 
   @Test
-  public void clientWithSingleKeyInterestFailsOver() throws Exception {
+  public void clientWithSingleKeyInterestFailsOver() {
     client.invoke(() -> registerKey(PROXY_REGION_NAME, 1));
     client.invoke(() -> registerKey(CACHING_PROXY_REGION_NAME, 1));
 
@@ -107,7 +105,7 @@ public class ClientWithInterestFailoverDistributedTest implements Serializable {
   }
 
   @Test
-  public void clientWithKeyListInterestFailsOver() throws Exception {
+  public void clientWithKeyListInterestFailsOver() {
     client.invoke(() -> registerKeys(PROXY_REGION_NAME, 1, 2));
     client.invoke(() -> registerKeys(CACHING_PROXY_REGION_NAME, 1, 2));
 
@@ -115,7 +113,7 @@ public class ClientWithInterestFailoverDistributedTest implements Serializable {
   }
 
   @Test
-  public void clientWithRegexInterestFailsOver() throws Exception {
+  public void clientWithRegexInterestFailsOver() {
     client.invoke(() -> registerRegex(PROXY_REGION_NAME));
     client.invoke(() -> registerRegex(CACHING_PROXY_REGION_NAME));
 
@@ -146,13 +144,13 @@ public class ClientWithInterestFailoverDistributedTest implements Serializable {
     regionFactory.setDataPolicy(DataPolicy.REPLICATE);
     regionFactory.setScope(Scope.DISTRIBUTED_ACK);
 
-    regionFactory.<Integer, Object>create(PROXY_REGION_NAME);
-    regionFactory.<Integer, Object>create(CACHING_PROXY_REGION_NAME);
+    regionFactory.create(PROXY_REGION_NAME);
+    regionFactory.create(CACHING_PROXY_REGION_NAME);
 
-    CacheServer server = cache.addCacheServer();
-    server.setPort(getRandomAvailablePort(SOCKET));
-    server.start();
-    return server.getPort();
+    CacheServer cacheServer = cache.addCacheServer();
+    cacheServer.setPort(0);
+    cacheServer.start();
+    return cacheServer.getPort();
   }
 
   /**
@@ -222,7 +220,7 @@ public class ClientWithInterestFailoverDistributedTest implements Serializable {
   }
 
   private void registerKeys(final String regionName, final int... keys) {
-    Region region = clientCache.getRegion(regionName);
+    Region<Object, ?> region = clientCache.getRegion(regionName);
 
     List<Integer> list = new ArrayList<>();
     for (int key : keys) {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java
index 500aa99..1442d33 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/GetConnectedServerCountRegressionTest.java
@@ -56,7 +56,7 @@ public class GetConnectedServerCountRegressionTest implements Serializable {
   private VM server3;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -109,9 +109,9 @@ public class GetConnectedServerCountRegressionTest implements Serializable {
         .setSubscriptionRedundancy(-1).setSubscriptionMessageTrackingTimeout(54321)
         .setIdleTimeout(-1).setPingInterval(200).create(uniqueName);
 
-    ClientRegionFactory crf =
+    ClientRegionFactory clientRegionFactory =
         clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
-    crf.setPoolName(pool.getName());
+    clientRegionFactory.setPoolName(pool.getName());
   }
 
   private void stopServer() {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java
index 77eb3db..b63c7f6 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/HARegionQueueStatsCloseRegressionTest.java
@@ -15,6 +15,8 @@
 package org.apache.geode.internal.cache.tier.sockets;
 
 import static java.util.concurrent.TimeUnit.MINUTES;
+import static org.apache.geode.cache.RegionShortcut.REPLICATE;
+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.VM.getHostName;
 import static org.apache.geode.test.dunit.VM.getVM;
@@ -34,9 +36,7 @@ import org.junit.experimental.categories.Category;
 
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionFactory;
-import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.cache.client.ClientRegionFactory;
-import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.cache.client.Pool;
 import org.apache.geode.cache.client.PoolManager;
 import org.apache.geode.cache.server.CacheServer;
@@ -56,7 +56,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * <p>
  * TRAC #37210: HARegionQueueStats are never closed
  */
-@Category({ClientServerTest.class})
+@Category(ClientServerTest.class)
 public class HARegionQueueStatsCloseRegressionTest implements Serializable {
 
   private String uniqueName;
@@ -69,7 +69,7 @@ public class HARegionQueueStatsCloseRegressionTest implements Serializable {
   private VM client;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -102,7 +102,7 @@ public class HARegionQueueStatsCloseRegressionTest implements Serializable {
    * dispatchedMessagesMap.
    */
   @Test
-  public void haRegionQueueClosesStatsWhenClientProxyIsClosed() throws Exception {
+  public void haRegionQueueClosesStatsWhenClientProxyIsClosed() {
     addIgnoredException(SocketException.class);
     addIgnoredException(IOException.class);
 
@@ -118,8 +118,8 @@ public class HARegionQueueStatsCloseRegressionTest implements Serializable {
   private int createServerCache() throws IOException {
     cacheRule.createCache();
 
-    RegionFactory rf = cacheRule.getCache().createRegionFactory(RegionShortcut.REPLICATE);
-    rf.create(regionName);
+    RegionFactory<?, ?> regionFactory = cacheRule.getCache().createRegionFactory(REPLICATE);
+    regionFactory.create(regionName);
 
     CacheServer cacheServer = cacheRule.getCache().addCacheServer();
     cacheServer.setMaximumTimeBetweenPings(1000000);
@@ -137,11 +137,11 @@ public class HARegionQueueStatsCloseRegressionTest implements Serializable {
         .setThreadLocalConnections(true).setReadTimeout(10000).setSocketBufferSize(32768)
         .setMinConnections(3).setSubscriptionRedundancy(-1).create(uniqueName);
 
-    ClientRegionFactory crf =
-        clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
-    crf.setPoolName(pool.getName());
+    ClientRegionFactory<Object, ?> clientRegionFactory =
+        clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
+    clientRegionFactory.setPoolName(pool.getName());
 
-    Region region = crf.create(regionName);
+    Region<Object, ?> region = clientRegionFactory.create(regionName);
     region.registerInterest("ALL_KEYS");
   }
 
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java
index ecd1df0..d6d4d50 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/MessageTrackingTimeoutRegressionTest.java
@@ -26,8 +26,6 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
-import org.apache.geode.cache.client.ClientRegionFactory;
-import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.cache.client.PoolManager;
 import org.apache.geode.cache.client.internal.PoolImpl;
 import org.apache.geode.cache.server.CacheServer;
@@ -59,7 +57,7 @@ public class MessageTrackingTimeoutRegressionTest implements Serializable {
   private VM server3;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -114,25 +112,17 @@ public class MessageTrackingTimeoutRegressionTest implements Serializable {
   private void createClientCache() {
     clientCacheRule.createClientCache();
 
-    PoolImpl pool = (PoolImpl) PoolManager.createFactory().addServer(hostName, port1)
+    PoolManager.createFactory().addServer(hostName, port1)
         .addServer(hostName, port2).addServer(hostName, port3).setSubscriptionEnabled(true)
         .setSubscriptionRedundancy(-1).setSubscriptionMessageTrackingTimeout(54321)
         .setIdleTimeout(-1).setPingInterval(200).create(uniqueName);
-
-    ClientRegionFactory crf =
-        clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
-    crf.setPoolName(pool.getName());
   }
 
   private void createClientCacheWithDefaultMessageTrackingTimeout() {
     clientCacheRule.createClientCache();
 
-    PoolImpl pool = (PoolImpl) PoolManager.createFactory().addServer(hostName, port1)
+    PoolManager.createFactory().addServer(hostName, port1)
         .addServer(hostName, port2).addServer(hostName, port3).create(uniqueName);
-
-    ClientRegionFactory crf =
-        clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
-    crf.setPoolName(pool.getName());
   }
 
   private PoolImpl findPool(String name) {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java
index 047fcab..262149e 100755
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestOnServerWithoutRegionRegressionTest.java
@@ -15,6 +15,7 @@
 package org.apache.geode.internal.cache.tier.sockets;
 
 import static java.util.concurrent.TimeUnit.MINUTES;
+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.VM.getHostName;
 import static org.apache.geode.test.dunit.VM.getVM;
@@ -36,7 +37,6 @@ import org.junit.experimental.categories.Category;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionDestroyedException;
 import org.apache.geode.cache.client.ClientRegionFactory;
-import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.cache.client.PoolManager;
 import org.apache.geode.cache.client.ServerOperationException;
 import org.apache.geode.cache.client.internal.PoolImpl;
@@ -72,7 +72,7 @@ public class RegisterInterestOnServerWithoutRegionRegressionTest implements Seri
   private VM client;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -112,7 +112,6 @@ public class RegisterInterestOnServerWithoutRegionRegressionTest implements Seri
 
     CacheServer cacheServer = cacheRule.getCache().addCacheServer();
     cacheServer.setPort(0);
-    cacheServer.setNotifyBySubscription(true);
     cacheServer.start();
     return cacheServer.getPort();
   }
@@ -124,18 +123,18 @@ public class RegisterInterestOnServerWithoutRegionRegressionTest implements Seri
         .setSubscriptionEnabled(true).setMinConnections(4).create(uniqueName);
 
     ClientRegionFactory crf =
-        clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
+        clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
     crf.setPoolName(pool.getName());
 
     crf.create(regionName);
   }
 
-  private void registerInterest() throws Exception {
+  private void registerInterest() {
     try (IgnoredException ie = addIgnoredException(RegionDestroyedException.class)) {
-      Region region = clientCacheRule.getClientCache().getRegion(regionName);
+      Region<Object, ?> region = clientCacheRule.getClientCache().getRegion(regionName);
       assertNotNull(region);
 
-      List listOfKeys = new ArrayList<>();
+      List<String> listOfKeys = new ArrayList<>();
       listOfKeys.add("key-1");
       listOfKeys.add("key-2");
       listOfKeys.add("key-3");
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java
index fbfd154..31e3a11 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RegisterInterestServerMetaDataDistributedTest.java
@@ -15,8 +15,7 @@
 package org.apache.geode.internal.cache.tier.sockets;
 
 import static java.util.concurrent.TimeUnit.SECONDS;
-import static org.apache.geode.internal.AvailablePort.SOCKET;
-import static org.apache.geode.internal.AvailablePort.getRandomAvailablePort;
+import static org.apache.geode.cache.Region.SEPARATOR;
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
 import static org.apache.geode.test.dunit.Invoke.invokeInEveryVM;
 import static org.apache.geode.test.dunit.NetworkUtils.getServerHostName;
@@ -31,7 +30,7 @@ import java.util.List;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -54,7 +53,7 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.categories.ClientSubscriptionTest;
 
-@Category({ClientSubscriptionTest.class})
+@Category(ClientSubscriptionTest.class)
 @SuppressWarnings("serial")
 public class RegisterInterestServerMetaDataDistributedTest implements Serializable {
 
@@ -70,8 +69,8 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
   private VM server;
   private VM client;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Before
   public void setUp() throws Exception {
@@ -96,7 +95,7 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
   }
 
   @Test
-  public void registerInterestSingleKeyCanBeInvokedMultipleTimes() throws Exception {
+  public void registerInterestSingleKeyCanBeInvokedMultipleTimes() {
     client.invoke(() -> registerKey(PROXY_REGION_NAME, 1));
     client.invoke(() -> registerKey(CACHING_PROXY_REGION_NAME, 1));
 
@@ -115,7 +114,7 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
   }
 
   @Test
-  public void registerInterestRegexCanBeInvokedMultipleTimes() throws Exception {
+  public void registerInterestRegexCanBeInvokedMultipleTimes() {
     client.invoke(() -> registerRegex(PROXY_REGION_NAME, ".*"));
     client.invoke(() -> registerRegex(CACHING_PROXY_REGION_NAME, ".*"));
 
@@ -134,7 +133,7 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
   }
 
   @Test
-  public void registerInterestKeyListCanBeInvokedMultipleTimes() throws Exception {
+  public void registerInterestKeyListCanBeInvokedMultipleTimes() {
     client.invoke(() -> registerKeys(PROXY_REGION_NAME, 1, 2));
     client.invoke(() -> registerKeys(CACHING_PROXY_REGION_NAME, 1, 2));
 
@@ -159,13 +158,13 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
     regionFactory.setDataPolicy(DataPolicy.REPLICATE);
     regionFactory.setScope(Scope.DISTRIBUTED_ACK);
 
-    regionFactory.<Integer, Object>create(PROXY_REGION_NAME);
-    regionFactory.<Integer, Object>create(CACHING_PROXY_REGION_NAME);
+    regionFactory.create(PROXY_REGION_NAME);
+    regionFactory.create(CACHING_PROXY_REGION_NAME);
 
-    CacheServer server = cache.addCacheServer();
-    server.setPort(getRandomAvailablePort(SOCKET));
-    server.start();
-    return server.getPort();
+    CacheServer cacheServer = cache.addCacheServer();
+    cacheServer.setPort(0);
+    cacheServer.start();
+    return cacheServer.getPort();
   }
 
   private void createClientCacheWithTwoRegions(final String host, final int port) {
@@ -226,7 +225,7 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
    * Register list of keys on given region
    */
   private void registerKeys(final String regionName, final int... keys) {
-    Region region = clientCache.getRegion(regionName);
+    Region<Object, ?> region = clientCache.getRegion(regionName);
 
     List<Integer> list = new ArrayList<>();
     for (int key : keys) {
@@ -251,7 +250,7 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
     assertThat(proxy).isNotNull();
 
     await().atMost(30, SECONDS).until(() -> getClientProxy().isAlive() && getClientProxy()
-        .getRegionsWithEmptyDataPolicy().containsKey(Region.SEPARATOR + PROXY_REGION_NAME));
+        .getRegionsWithEmptyDataPolicy().containsKey(SEPARATOR + PROXY_REGION_NAME));
   }
 
   private void validateServerMetaDataKnowsThatClientRegisteredInterest() {
@@ -261,12 +260,11 @@ public class RegisterInterestServerMetaDataDistributedTest implements Serializab
 
   private void validateServerMetaDataKnowsWhichClientRegionIsEmpty() {
     CacheClientProxy proxy = getClientProxy();
+    assertThat(proxy.getRegionsWithEmptyDataPolicy()).containsKey(SEPARATOR + PROXY_REGION_NAME);
     assertThat(proxy.getRegionsWithEmptyDataPolicy())
-        .containsKey(Region.SEPARATOR + PROXY_REGION_NAME);
-    assertThat(proxy.getRegionsWithEmptyDataPolicy())
-        .doesNotContainKey(Region.SEPARATOR + CACHING_PROXY_REGION_NAME);
+        .doesNotContainKey(SEPARATOR + CACHING_PROXY_REGION_NAME);
     assertThat(proxy.getRegionsWithEmptyDataPolicy()).hasSize(1);
-    assertThat(proxy.getRegionsWithEmptyDataPolicy())
-        .containsEntry(Region.SEPARATOR + PROXY_REGION_NAME, 0);
+    assertThat(proxy.getRegionsWithEmptyDataPolicy()).containsEntry(SEPARATOR + PROXY_REGION_NAME,
+        0);
   }
 }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java
index 9904e4e..a9eadf1 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RootRegionsExcludesHARegionsRegressionTest.java
@@ -69,7 +69,7 @@ public class RootRegionsExcludesHARegionsRegressionTest implements Serializable
   private VM client;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -101,13 +101,12 @@ public class RootRegionsExcludesHARegionsRegressionTest implements Serializable
   private int createServer() throws IOException {
     cacheRule.createCache();
 
-    RegionFactory rf = cacheRule.getCache().createRegionFactory(REPLICATE);
-    rf.setEnableSubscriptionConflation(true);
-    rf.create(regionName);
+    RegionFactory<?, ?> regionFactory = cacheRule.getCache().createRegionFactory(REPLICATE);
+    regionFactory.setEnableSubscriptionConflation(true);
+    regionFactory.create(regionName);
 
     CacheServer cacheServer = cacheRule.getCache().addCacheServer();
     cacheServer.setPort(port);
-    cacheServer.setNotifyBySubscription(true);
     cacheServer.start();
     return cacheServer.getPort();
   }
@@ -119,13 +118,14 @@ public class RootRegionsExcludesHARegionsRegressionTest implements Serializable
 
     clientCacheRule.createClientCache(config);
 
-    PoolFactoryImpl pf = (PoolFactoryImpl) PoolManager.createFactory();
-    pf.addServer(hostName, port).setSubscriptionEnabled(true).setSubscriptionRedundancy(0);
+    PoolFactoryImpl poolFactory = (PoolFactoryImpl) PoolManager.createFactory();
+    poolFactory.addServer(hostName, port).setSubscriptionEnabled(true).setSubscriptionRedundancy(0);
 
-    ClientRegionFactory crf = clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
-    crf.setPoolName(pf.create(uniqueName).getName());
+    ClientRegionFactory<?, ?> clientRegionFactory =
+        clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
+    clientRegionFactory.setPoolName(poolFactory.create(uniqueName).getName());
 
-    crf.create(regionName);
+    clientRegionFactory.create(regionName);
 
     clientCacheRule.getClientCache().readyForEvents();
   }
@@ -133,7 +133,7 @@ public class RootRegionsExcludesHARegionsRegressionTest implements Serializable
   private void validateRootRegions() {
     Set<Region<?, ?>> regions = cacheRule.getCache().rootRegions();
     if (regions != null) {
-      for (Region region : regions) {
+      for (Region<?, ?> region : regions) {
         assertThat(region).isNotInstanceOf(HARegion.class);
       }
     }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java
index 79bf74e..b2a50cd 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDistributedTest.java
@@ -83,7 +83,7 @@ public class AsyncEventListenerDistributedTest implements Serializable {
   }
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java
index 3c8711d..0747748 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithCacheLoaderDistributedTest.java
@@ -74,11 +74,11 @@ public class AsyncEventListenerWithCacheLoaderDistributedTest implements Seriali
 
   @Parameters(name = "dispatcherThreadCount={0}")
   public static Iterable<Integer> dispatcherThreadCounts() {
-    return Arrays.asList(1, 3); // used to include 3, 5 as well
+    return Arrays.asList(1, 3);
   }
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java
index 39105ab..5b9fe12 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerWithFilterDistributedTest.java
@@ -95,11 +95,11 @@ public class AsyncEventListenerWithFilterDistributedTest implements Serializable
 
   @Parameters(name = "dispatcherThreadCount={0}")
   public static Iterable<Integer> dispatcherThreadCounts() {
-    return Arrays.asList(1, 3); // used to include 3, 5 as well
+    return Arrays.asList(1, 3);
   }
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java
index fbac68c..55d2905 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ConcurrentAsyncEventListenerDistributedTest.java
@@ -71,7 +71,7 @@ public class ConcurrentAsyncEventListenerDistributedTest implements Serializable
   private static final String SUBSTITUTION_PREFIX = "substituted_";
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java
index 7e5e3fb..c5a3503 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/ParallelAsyncEventListenerDistributedTest.java
@@ -117,7 +117,7 @@ public class ParallelAsyncEventListenerDistributedTest implements Serializable {
   }
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java
index 03b8063..54166b4 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/cache/wan/asyncqueue/SerialEventListenerDistributedTest.java
@@ -66,7 +66,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTemporaryFolde
 public class SerialEventListenerDistributedTest implements Serializable {
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java
index f019c06..cb6be25 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/internal/jta/ClientServerJTAFailoverDistributedTest.java
@@ -15,6 +15,8 @@
 
 package org.apache.geode.internal.jta;
 
+import static org.apache.geode.cache.RegionShortcut.PARTITION;
+import static org.apache.geode.cache.client.ClientRegionShortcut.LOCAL;
 import static org.apache.geode.test.dunit.VM.getHostName;
 import static org.apache.geode.test.dunit.VM.getVM;
 import static org.junit.Assert.assertEquals;
@@ -29,13 +31,11 @@ import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
 
-import org.apache.geode.cache.PartitionAttributes;
 import org.apache.geode.cache.PartitionAttributesFactory;
 import org.apache.geode.cache.Region;
-import org.apache.geode.cache.RegionShortcut;
+import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.cache.TransactionId;
 import org.apache.geode.cache.client.ClientRegionFactory;
-import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.cache.client.PoolFactory;
 import org.apache.geode.cache.client.PoolManager;
 import org.apache.geode.cache.client.internal.InternalClientCache;
@@ -55,7 +55,13 @@ import org.apache.geode.test.dunit.rules.ClientCacheRule;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
+@SuppressWarnings("serial")
 public class ClientServerJTAFailoverDistributedTest implements Serializable {
+
+  private final int key = 1;
+  private final String value = "value1";
+  private final String newValue = "value2";
+
   private String hostName;
   private String uniqueName;
   private String regionName;
@@ -66,12 +72,8 @@ public class ClientServerJTAFailoverDistributedTest implements Serializable {
   private int port1;
   private int port2;
 
-  private final int key = 1;
-  private final String value = "value1";
-  private final String newValue = "value2";
-
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -118,14 +120,15 @@ public class ClientServerJTAFailoverDistributedTest implements Serializable {
   }
 
   private int createServerRegion(int totalNumBuckets, boolean isAccessor) throws Exception {
-    PartitionAttributesFactory factory = new PartitionAttributesFactory();
-    factory.setTotalNumBuckets(totalNumBuckets);
+    PartitionAttributesFactory<?, ?> partitionAttributesFactory = new PartitionAttributesFactory();
+    partitionAttributesFactory.setTotalNumBuckets(totalNumBuckets);
     if (isAccessor) {
-      factory.setLocalMaxMemory(0);
+      partitionAttributesFactory.setLocalMaxMemory(0);
     }
-    PartitionAttributes partitionAttributes = factory.create();
-    cacheRule.getOrCreateCache().createRegionFactory(RegionShortcut.PARTITION)
-        .setPartitionAttributes(partitionAttributes).create(regionName);
+
+    RegionFactory regionFactory = cacheRule.getOrCreateCache().createRegionFactory(PARTITION);
+    regionFactory.setPartitionAttributes(partitionAttributesFactory.create());
+    regionFactory.create(regionName);
 
     CacheServer server = cacheRule.getCache().addCacheServer();
     server.setPort(0);
@@ -144,10 +147,10 @@ public class ClientServerJTAFailoverDistributedTest implements Serializable {
       CacheServerTestUtil.enableShufflingOfEndpoints();
     }
 
-    ClientRegionFactory crf =
-        clientCacheRule.getClientCache().createClientRegionFactory(ClientRegionShortcut.LOCAL);
-    crf.setPoolName(pool.getName());
-    crf.create(regionName);
+    ClientRegionFactory<?, ?> clientRegionFactory =
+        clientCacheRule.getClientCache().createClientRegionFactory(LOCAL);
+    clientRegionFactory.setPoolName(pool.getName());
+    clientRegionFactory.create(regionName);
 
     if (ports.length > 1) {
       pool.acquireConnection(new ServerLocation(hostName, port1));
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java
index 220ae72..f5b7257 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/management/JMXMBeanDUnitTest.java
@@ -33,22 +33,23 @@ import static org.apache.geode.distributed.ConfigurationProperties.SSL_KEYSTORE_
 import static org.apache.geode.distributed.ConfigurationProperties.SSL_PROTOCOLS;
 import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE;
 import static org.apache.geode.distributed.ConfigurationProperties.SSL_TRUSTSTORE_PASSWORD;
-import static org.apache.geode.test.dunit.Host.getHost;
+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 static org.junit.Assert.assertEquals;
 
+import java.io.IOException;
 import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Properties;
 
+import javax.management.MalformedObjectNameException;
 import javax.rmi.ssl.SslRMIClientSocketFactory;
 
 import com.google.common.collect.Maps;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -63,16 +64,25 @@ import org.apache.geode.test.junit.categories.JMXTest;
 import org.apache.geode.test.junit.rules.MBeanServerConnectionRule;
 import org.apache.geode.util.test.TestUtil;
 
-
 /**
  * All the non-ssl enabled locators need to be in a different VM than the ssl enabled locators in
  * these tests, otherwise, some tests would fail. Seems like dunit vm tear down did not clean up the
  * ssl settings cleanly.
  */
-@Category({JMXTest.class})
+@Category(JMXTest.class)
 @SuppressWarnings("serial")
 public class JMXMBeanDUnitTest implements Serializable {
 
+  private final ClusterStartupRule clusterStartupRule = new ClusterStartupRule();
+  private final transient MBeanServerConnectionRule mBeanServerConnectionRule =
+      new MBeanServerConnectionRule();
+
+  @Rule
+  public transient RuleChain ruleChain =
+      RuleChain.outerRule(new DistributedRule()).around(new CleanupDUnitVMsRule())
+          .around(clusterStartupRule).around(
+              mBeanServerConnectionRule);
+
   private static Properties legacySSLProperties;
   private static Properties sslProperties;
   private static Properties sslPropertiesWithMultiKey;
@@ -83,17 +93,6 @@ public class JMXMBeanDUnitTest implements Serializable {
   private int jmxPort;
   private Properties locatorProperties;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
-
-  private transient CleanupDUnitVMsRule cleanupDUnitVMsRule = new CleanupDUnitVMsRule();
-  private ClusterStartupRule lsRule = new ClusterStartupRule();
-  private transient MBeanServerConnectionRule jmxConnector = new MBeanServerConnectionRule();
-
-  @Rule
-  public transient RuleChain ruleChain =
-      RuleChain.outerRule(cleanupDUnitVMsRule).around(lsRule).around(jmxConnector);
-
   @BeforeClass
   public static void beforeClass() {
     singleKeystore = TestUtil.getResourcePath(JMXMBeanDUnitTest.class, "/ssl/trusted.keystore");
@@ -141,46 +140,46 @@ public class JMXMBeanDUnitTest implements Serializable {
 
   @Test
   public void testJMXOverNonSSL() throws Exception {
-    lsRule.startLocatorVM(0, locatorProperties);
-    jmxConnector.connect(jmxPort);
-    validateJmxConnection(jmxConnector);
+    clusterStartupRule.startLocatorVM(0, locatorProperties);
+    mBeanServerConnectionRule.connect(jmxPort);
+    validateJmxConnection(mBeanServerConnectionRule);
   }
 
   @Test
-  public void testJMXOverNonSSLWithClientUsingIncorrectPort() throws Exception {
+  public void testJMXOverNonSSLWithClientUsingIncorrectPort() {
     assertThat(jmxPort).isNotEqualTo(9999);
-    lsRule.startLocatorVM(0, locatorProperties);
+    clusterStartupRule.startLocatorVM(0, locatorProperties);
 
-    assertThatThrownBy(() -> jmxConnector.connect(9999))
+    assertThatThrownBy(() -> mBeanServerConnectionRule.connect(9999))
         .hasRootCauseExactlyInstanceOf(java.net.ConnectException.class);
   }
 
   @Test
-  public void testJMXOverSSL() throws Exception {
+  public void testJMXOverSSL() {
     locatorProperties.putAll(Maps.fromProperties(sslProperties));
 
-    lsRule.startLocatorVM(0, locatorProperties);
+    clusterStartupRule.startLocatorVM(0, locatorProperties);
     remotelyValidateJmxConnection(false);
   }
 
   @Test
-  public void testJMXOverSSLWithMultiKey() throws Exception {
+  public void testJMXOverSSLWithMultiKey() {
     locatorProperties.putAll(Maps.fromProperties(sslPropertiesWithMultiKey));
-    lsRule.startLocatorVM(0, locatorProperties);
+    clusterStartupRule.startLocatorVM(0, locatorProperties);
 
     remotelyValidateJmxConnection(true);
   }
 
   @Test
-  public void testJMXOverLegacySSL() throws Exception {
+  public void testJMXOverLegacySSL() {
     locatorProperties.putAll(Maps.fromProperties(legacySSLProperties));
-    lsRule.startLocatorVM(0, locatorProperties);
+    clusterStartupRule.startLocatorVM(0, locatorProperties);
 
     remotelyValidateJmxConnection(false);
   }
 
   private void remotelyValidateJmxConnection(boolean withAlias) {
-    getHost(0).getVM(2).invoke(() -> {
+    getVM(2).invoke(() -> {
       beforeClass();
       MBeanServerConnectionRule jmx = new MBeanServerConnectionRule();
       Map<String, Object> env = getClientEnvironment(withAlias);
@@ -202,7 +201,7 @@ public class JMXMBeanDUnitTest implements Serializable {
   }
 
   private void validateJmxConnection(MBeanServerConnectionRule mBeanServerConnectionRule)
-      throws Exception {
+      throws IOException, MalformedObjectNameException {
     // Get MBean proxy instance that will be used to make calls to registered MBean
     DistributedSystemMXBean distributedSystemMXBean =
         mBeanServerConnectionRule.getProxyMXBean(DistributedSystemMXBean.class);
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java
index 234afab..ce94265 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetCurrentVmNumDistributedTest.java
@@ -26,11 +26,10 @@ import org.junit.Test;
 
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 public class GetCurrentVmNumDistributedTest {
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
   public void returnsNegativeOneInController() {
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java
index 33c3932..c0f3c9b 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdAfterBounceDistributedTest.java
@@ -24,17 +24,16 @@ import org.junit.Test;
 
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 public class GetPidAndIdAfterBounceDistributedTest {
 
   private int[] idsBefore;
   private int[] pidsBefore;
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Before
-  public void setUp() throws Exception {
+  public void setUp() {
     idsBefore = new int[getVMCount()];
     pidsBefore = new int[getVMCount()];
 
@@ -46,14 +45,14 @@ public class GetPidAndIdAfterBounceDistributedTest {
   }
 
   @Test
-  public void getIdShouldReturnSameValueAfterBounce() throws Exception {
+  public void getIdShouldReturnSameValueAfterBounce() {
     for (int i = 0; i < getVMCount(); i++) {
       assertThat(getVM(i).getId()).isEqualTo(idsBefore[i]);
     }
   }
 
   @Test
-  public void getPidShouldReturnDifferentValueAfterBounce() throws Exception {
+  public void getPidShouldReturnDifferentValueAfterBounce() {
     for (int i = 0; i < getVMCount(); i++) {
       assertThat(getVM(i).getPid()).isNotEqualTo(pidsBefore[i]);
     }
diff --git a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java
index df76d50..afcf27c 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/test/dunit/tests/GetPidAndIdDistributedTest.java
@@ -25,14 +25,13 @@ import org.apache.geode.internal.process.ProcessUtils;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 public class GetPidAndIdDistributedTest {
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
-  public void getId_returnsVMSequentialId() throws Exception {
+  public void getId_returnsVMSequentialId() {
     for (int i = 0; i < getVMCount(); i++) {
       VM vm = getVM(i);
       assertThat(vm.getId()).isEqualTo(i);
@@ -40,7 +39,7 @@ public class GetPidAndIdDistributedTest {
   }
 
   @Test
-  public void getPid_returnsVMProcessId() throws Exception {
+  public void getPid_returnsVMProcessId() {
     for (int i = 0; i < getVMCount(); i++) {
       VM vm = getVM(i);
       int remotePid = vm.invoke(() -> ProcessUtils.identifyPid());
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java
index 2ed8b8c..1f21cbb 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeCallableExampleTest.java
@@ -14,46 +14,38 @@
  */
 package org.apache.geode.test.dunit.examples;
 
+import static java.util.concurrent.TimeUnit.MINUTES;
 import static org.apache.geode.test.dunit.VM.getVM;
 import static org.assertj.core.api.Assertions.assertThat;
 
-import java.util.concurrent.TimeUnit;
-
-import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
-@SuppressWarnings("serial")
 public class AsyncInvokeCallableExampleTest {
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
   public void invokeAsyncAsFuture() throws Exception {
-    VM workerVM = getVM(0);
-    boolean success = workerVM.invokeAsync(() -> longRunningWorkWithResult()).get();
+    boolean success = getVM(0).invokeAsync(() -> longRunningWorkWithResult()).get();
     assertThat(success).isTrue();
   }
 
   @Test
   public void invokeAsyncAsFutureWithTimeout() throws Exception {
-    VM workerVM = getVM(0);
-    boolean success =
-        workerVM.invokeAsync(() -> longRunningWorkWithResult()).get(1, TimeUnit.MINUTES);
+    boolean success = getVM(0).invokeAsync(() -> longRunningWorkWithResult()).get(1, MINUTES);
     assertThat(success).isTrue();
   }
 
   @Test
   public void invokeAsyncWithExceptionOccurred() throws Exception {
-    VM workerVM = getVM(0);
-
     AsyncInvocation<Boolean> asyncInvocation =
-        workerVM.invokeAsync(() -> longRunningWorkThatThrowsException());
+        getVM(0).invokeAsync(() -> longRunningWorkThatThrowsException());
     asyncInvocation.join();
 
     assertThat(asyncInvocation.exceptionOccurred()).isTrue();
@@ -75,7 +67,7 @@ public class AsyncInvokeCallableExampleTest {
    */
   @Test(expected = AssertionError.class)
   public void invokeAsyncWithAwaitWithTimeout() throws Exception {
-    getVM(0).invokeAsync(() -> longRunningWorkThatThrowsException()).await(1, TimeUnit.MINUTES);
+    getVM(0).invokeAsync(() -> longRunningWorkThatThrowsException()).await(1, MINUTES);
   }
 
   private static boolean longRunningWorkWithResult() {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java
index 9cc4e7a..02fae7d 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/AsyncInvokeRunnableExampleTest.java
@@ -19,22 +19,20 @@ import static org.apache.geode.test.dunit.VM.getAllVMs;
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.geode.test.dunit.AsyncInvocation;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
-@SuppressWarnings("serial")
 public class AsyncInvokeRunnableExampleTest {
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
-  public void invokeAsyncHelloWorldInEachVM() throws Exception {
+  public void invokeAsyncHelloWorldInEachVM() {
     for (VM vm : getAllVMs()) {
       vm.invokeAsync(() -> System.out.println(vm + " says Hello World!"));
     }
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java
index be07b3b..8bb58d4 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/CatchingUnexpectedExceptionExampleTest.java
@@ -32,18 +32,17 @@ import org.apache.geode.internal.cache.LocalRegion;
 import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 @SuppressWarnings("serial")
 public class CatchingUnexpectedExceptionExampleTest implements Serializable {
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   /**
    * Don't do this! Catch Exception and invoke fail => anti-pattern
    */
   @Test
-  public void createRegion_withTryCatch_DO_NOT_DO_THIS() throws Exception {
+  public void createRegion_withTryCatch_DO_NOT_DO_THIS() {
     getVM(0).invoke(new SerializableRunnable("Create Region") {
       @Override
       public void run() {
@@ -63,10 +62,10 @@ public class CatchingUnexpectedExceptionExampleTest implements Serializable {
    * Use "throws Exception" is better!
    */
   @Test
-  public void createRegion_withThrowsException_THIS_IS_BETTER() throws Exception {
+  public void createRegion_withThrowsException_THIS_IS_BETTER() {
     getVM(0).invoke(new SerializableRunnable("Create Region") {
       @Override
-      public void run() throws Exception {
+      public void run() {
         Cache cache = new CacheFactory().create();
         RegionFactory regionFactory = cache.createRegionFactory(new AttributesFactory().create());
         LocalRegion region = (LocalRegion) regionFactory.create("region1");
@@ -79,7 +78,7 @@ public class CatchingUnexpectedExceptionExampleTest implements Serializable {
    * Use lambda without having to specify run() with throws Exception -- best!
    */
   @Test
-  public void createRegion_withLambda_THIS_IS_BEST() throws Exception {
+  public void createRegion_withLambda_THIS_IS_BEST() {
     getVM(0).invoke("Create Region", () -> {
       Cache cache = new CacheFactory().create();
       RegionFactory regionFactory = cache.createRegionFactory(new AttributesFactory().create());
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java
index d6a1757..3badbb9 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/InvokeRunnableExampleTest.java
@@ -18,27 +18,26 @@ import static org.apache.geode.test.dunit.VM.getAllVMs;
 import static org.apache.geode.test.dunit.VM.getVM;
 import static org.apache.geode.test.dunit.VM.getVMCount;
 
-import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 public class InvokeRunnableExampleTest {
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
-  public void invokeHelloWorldForEachVMInGetAllVMs() throws Exception {
+  public void invokeHelloWorldForEachVMInGetAllVMs() {
     for (VM vm : getAllVMs()) {
       vm.invoke(() -> System.out.println(vm + " says Hello World!"));
     }
   }
 
   @Test
-  public void invokeHelloWorldInEachVMInOrder() throws Exception {
+  public void invokeHelloWorldInEachVMInOrder() {
     for (int whichVM = 0; whichVM < getVMCount(); whichVM++) {
       VM vm = getVM(whichVM);
       vm.invoke(() -> System.out.println(vm + " says Hello World!"));
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java
index 2ee0d24..d01bb4d 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/LocatorPortClusterExampleTest.java
@@ -34,12 +34,11 @@ import org.apache.geode.internal.cache.InternalCache;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
 @SuppressWarnings("serial")
 public class LocatorPortClusterExampleTest implements Serializable {
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   private static InternalCache cache;
 
@@ -68,7 +67,7 @@ public class LocatorPortClusterExampleTest implements Serializable {
   }
 
   @Test
-  public void clusterHasDUnitVMCountPlusTwoByDefault() throws Exception {
+  public void clusterHasDUnitVMCountPlusTwoByDefault() {
     int dunitVMCount = getVMCount();
     assertThat(cache.getDistributionManager().getViewMembers()).hasSize(dunitVMCount + 2);
   }
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java
index ed501d6..aab0f9b 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/examples/ReplaceTryFinallyExampleTest.java
@@ -16,17 +16,15 @@ package org.apache.geode.test.dunit.examples;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.ClassRule;
+import org.junit.Rule;
 import org.junit.Test;
 
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
-@SuppressWarnings("serial")
 public class ReplaceTryFinallyExampleTest {
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
   public void doNotUseTryFinallyInTest() {
@@ -49,11 +47,11 @@ public class ReplaceTryFinallyExampleTest {
   }
 
   @Test
-  public void useBeforeAndAfterInstead() throws Exception {
+  public void useBeforeAndAfterInstead() {
     // perform testing that needs behaveSlowly
   }
 
   public static class Bar {
-    static boolean behaveSlowly = false;
+    static boolean behaveSlowly;
   }
 }
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java
index 12b342b..7cd7ba8 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleBuilderDistributedTest.java
@@ -36,7 +36,7 @@ import org.apache.geode.test.dunit.rules.DistributedRule;
 public class CacheRuleBuilderDistributedTest {
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
   public void defaultDoesNothing() {
@@ -85,11 +85,14 @@ public class CacheRuleBuilderDistributedTest {
 
   /**
    * Used by test {@link #defaultDoesNothing()}.
+   *
+   * <p>
+   * NOTE: please keep the use of deprecated GemFireCacheImpl.getInstance().
    */
   public static class DefaultDoesNothing implements Serializable {
 
     @Rule
-    public CacheRule cacheRule = CacheRule.builder().build();
+    public CacheRule cacheRule = new CacheRule();
 
     @Test
     public void getCache_returnsNullInAllVMs() {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java
index f561857..fa36e74 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/CacheRuleDistributedTest.java
@@ -36,7 +36,7 @@ import org.apache.geode.test.dunit.rules.DistributedRule;
 public class CacheRuleDistributedTest {
 
   @Rule
-  public DistributedRule distributedTestRule = new DistributedRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Test
   public void defaultDoesNothing() {
diff --git a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java
index 479c31b..373b120 100644
--- a/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java
+++ b/geode-dunit/src/distributedTest/java/org/apache/geode/test/dunit/rules/tests/DistributedRestoreSystemPropertiesDistributedTest.java
@@ -31,7 +31,7 @@ import org.junit.Test;
 import org.apache.geode.test.dunit.rules.DistributedRestoreSystemProperties;
 import org.apache.geode.test.dunit.rules.DistributedRule;
 
-
+@SuppressWarnings("serial")
 public class DistributedRestoreSystemPropertiesDistributedTest {
 
   private static final String NULL_PROPERTY = "NULL_PROPERTY";
@@ -39,7 +39,7 @@ public class DistributedRestoreSystemPropertiesDistributedTest {
   private static final String PREEXISTING_VALUE = "PREEXISTING_VALUE";
 
   @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  public static DistributedRule distributedRule = new DistributedRule();
 
   @BeforeClass
   public static void assertPreconditions() {
@@ -74,7 +74,7 @@ public class DistributedRestoreSystemPropertiesDistributedTest {
   }
 
   @Test
-  public void nullPropertyWithDifferentValues() throws Exception {
+  public void nullPropertyWithDifferentValues() {
     runTestWithValidation(NullPropertyWithDifferentValues.class);
 
     assertThat(System.getProperty(NULL_PROPERTY)).isNull();
@@ -86,7 +86,7 @@ public class DistributedRestoreSystemPropertiesDistributedTest {
   }
 
   @Test
-  public void preexistingPropertyWithDifferentValues() throws Exception {
+  public void preexistingPropertyWithDifferentValues() {
     runTestWithValidation(NullPropertyWithDifferentValues.class);
 
     assertThat(System.getProperty(PREEXISTING_PROPERTY)).isEqualTo(PREEXISTING_VALUE);
@@ -107,7 +107,7 @@ public class DistributedRestoreSystemPropertiesDistributedTest {
         new DistributedRestoreSystemProperties();
 
     @Test
-    public void nullPropertyWithDifferentValues() throws Exception {
+    public void nullPropertyWithDifferentValues() {
       System.setProperty(NULL_PROPERTY, "controller");
       getVM(0).invoke(() -> System.setProperty(NULL_PROPERTY, "vm0"));
       getVM(1).invoke(() -> System.setProperty(NULL_PROPERTY, "vm1"));
@@ -126,7 +126,7 @@ public class DistributedRestoreSystemPropertiesDistributedTest {
         new DistributedRestoreSystemProperties();
 
     @Test
-    public void preexistingPropertyWithDifferentValues() throws Exception {
+    public void preexistingPropertyWithDifferentValues() {
       System.setProperty(PREEXISTING_PROPERTY, "controller");
       getVM(0).invoke(() -> System.setProperty(PREEXISTING_PROPERTY, "vm0"));
       getVM(1).invoke(() -> System.setProperty(PREEXISTING_PROPERTY, "vm1"));
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java
index a75c22f..7b6ce63 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/CacheRule.java
@@ -15,6 +15,7 @@
 package org.apache.geode.test.dunit.rules;
 
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
+import static org.apache.geode.test.dunit.VM.DEFAULT_VM_COUNT;
 import static org.apache.geode.test.dunit.standalone.DUnitLauncher.getDistributedSystemProperties;
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -107,7 +108,12 @@ public class CacheRule extends AbstractDistributedRule {
     this(new Builder());
   }
 
+  public CacheRule(final int vmCount) {
+    this(new Builder().vmCount(vmCount));
+  }
+
   CacheRule(final Builder builder) {
+    super(builder.vmCount);
     createCacheInAll = builder.createCacheInAll;
     createCache = builder.createCache;
     disconnectAfter = builder.disconnectAfter;
@@ -262,14 +268,16 @@ public class CacheRule extends AbstractDistributedRule {
    */
   public static class Builder {
 
+    private final List<VM> createCacheInVMs = new ArrayList<>();
+    private final Properties systemProperties = new Properties();
+
     private boolean createCacheInAll;
     private boolean createCache;
     private boolean disconnectAfter;
     private boolean destroyRegions;
     private boolean replaceConfig;
-    private List<VM> createCacheInVMs = new ArrayList<>();
     private Properties config = new Properties();
-    private Properties systemProperties = new Properties();
+    private int vmCount = DEFAULT_VM_COUNT;
 
     public Builder() {
       // nothing
@@ -346,6 +354,11 @@ public class CacheRule extends AbstractDistributedRule {
       return this;
     }
 
+    public Builder vmCount(final int vmCount) {
+      this.vmCount = vmCount;
+      return this;
+    }
+
     public CacheRule build() {
       return new CacheRule(this);
     }
diff --git a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java
index 824b55b..ad7b452 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/dunit/rules/ClientCacheRule.java
@@ -15,6 +15,7 @@
 package org.apache.geode.test.dunit.rules;
 
 import static org.apache.geode.test.dunit.Disconnect.disconnectAllFromDS;
+import static org.apache.geode.test.dunit.VM.DEFAULT_VM_COUNT;
 import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.ArrayList;
@@ -81,6 +82,10 @@ public class ClientCacheRule extends AbstractDistributedRule {
     this(new Builder());
   }
 
+  public ClientCacheRule(final int vmCount) {
+    this(new Builder());
+  }
+
   ClientCacheRule(final Builder builder) {
     createClientCache = builder.createClientCache;
     disconnectAfter = builder.disconnectAfter;
@@ -166,11 +171,13 @@ public class ClientCacheRule extends AbstractDistributedRule {
    */
   public static class Builder {
 
+    private final List<VM> createClientCacheInVMs = new ArrayList<>();
+    private final Properties systemProperties = new Properties();
+
     private boolean createClientCache;
     private boolean disconnectAfter;
-    private List<VM> createClientCacheInVMs = new ArrayList<>();
     private Properties config = new Properties();
-    private Properties systemProperties = new Properties();
+    private int vmCount = DEFAULT_VM_COUNT;
 
     public Builder() {
       // nothing
@@ -228,6 +235,11 @@ public class ClientCacheRule extends AbstractDistributedRule {
       return this;
     }
 
+    public Builder vmCount(final int vmCount) {
+      this.vmCount = vmCount;
+      return this;
+    }
+
     public ClientCacheRule build() {
       return new ClientCacheRule(this);
     }
diff --git a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java
index 3bc4880..e0243ad 100644
--- a/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java
+++ b/geode-wan/src/distributedTest/java/org/apache/geode/internal/cache/wan/GatewayLegacyAuthenticationRegressionTest.java
@@ -38,7 +38,6 @@ import java.util.UUID;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import org.junit.Before;
-import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -95,8 +94,8 @@ public class GatewayLegacyAuthenticationRegressionTest implements Serializable {
   private int londonReceiverPort;
   private int newYorkReceiverPort;
 
-  @ClassRule
-  public static DistributedRule distributedTestRule = new DistributedRule();
+  @Rule
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -327,11 +326,6 @@ public class GatewayLegacyAuthenticationRegressionTest implements Serializable {
       }
       return new TestPrincipal(userName);
     }
-
-    @Override
-    public void close() {
-      // nothing
-    }
   }
 
   public static class TestPeerAuthInitialize implements AuthInitialize {
@@ -371,11 +365,6 @@ public class GatewayLegacyAuthenticationRegressionTest implements Serializable {
 
       return newProps;
     }
-
-    @Override
-    public void close() {
-      // nothing
-    }
   }
 
   public static class TestClientOrReceiverAuthenticator implements Authenticator {
@@ -410,10 +399,5 @@ public class GatewayLegacyAuthenticationRegressionTest implements Serializable {
       }
       return new TestPrincipal(userName);
     }
-
-    @Override
-    public void close() {
-      // nothing
-    }
   }
 }


[geode] 03/03: GEODE-5614: update RegionManagementDUnitTest usage of DistributedRule

Posted by kl...@apache.org.
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

commit f91c2dfa319073ddb1222c3f50c26735d19332fe
Author: Kirk Lund <kl...@apache.org>
AuthorDate: Fri Aug 24 10:53:15 2018 -0700

    GEODE-5614: update RegionManagementDUnitTest usage of DistributedRule
---
 .../apache/geode/management/RegionManagementDUnitTest.java    | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/geode-core/src/distributedTest/java/org/apache/geode/management/RegionManagementDUnitTest.java b/geode-core/src/distributedTest/java/org/apache/geode/management/RegionManagementDUnitTest.java
index c12052a..2a75128 100644
--- a/geode-core/src/distributedTest/java/org/apache/geode/management/RegionManagementDUnitTest.java
+++ b/geode-core/src/distributedTest/java/org/apache/geode/management/RegionManagementDUnitTest.java
@@ -85,7 +85,7 @@ import org.apache.geode.management.internal.MBeanJMXAdapter;
 import org.apache.geode.management.internal.SystemManagementService;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.rules.CacheRule;
-import org.apache.geode.test.dunit.rules.DistributedTestRule;
+import org.apache.geode.test.dunit.rules.DistributedRule;
 import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
 
 /**
@@ -99,7 +99,7 @@ import org.apache.geode.test.junit.rules.serializable.SerializableTestName;
  * Goal of the Test : RegionMBean gets created once region is created. Data like Region Attributes
  * data and stats are of proper value
  */
-@SuppressWarnings("serial,unused")
+@SuppressWarnings("serial")
 public class RegionManagementDUnitTest implements Serializable {
 
   private static final AtomicReference<List<Notification>> MEMBER_NOTIFICATIONS =
@@ -116,7 +116,7 @@ public class RegionManagementDUnitTest implements Serializable {
   private VM[] memberVMs;
 
   @Rule
-  public DistributedTestRule distributedTestRule = new DistributedTestRule();
+  public DistributedRule distributedRule = new DistributedRule();
 
   @Rule
   public CacheRule cacheRule = new CacheRule();
@@ -692,6 +692,11 @@ public class RegionManagementDUnitTest implements Serializable {
     // Destroyed/Closed With Name /MANAGEMENT_TEST_REGION]]>
   }
 
+  /**
+   * Please don't delete verifySystemNotifications. We need to improve verification in this test
+   * class and fix whatever flakiness is in this method.
+   */
+  @SuppressWarnings("unused")
   private void verifySystemNotifications(final String regionName, final int expectedMembers) {
     assertThat(SYSTEM_NOTIFICATIONS.get()).isNotNull();
     assertThat(SYSTEM_NOTIFICATIONS.get()).hasSize(expectedMembers + 2); // 2 for the manager