You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ab...@apache.org on 2016/10/04 14:29:51 UTC

[1/4] incubator-geode git commit: Add FlakyTest category to tests with open bugs

Repository: incubator-geode
Updated Branches:
  refs/heads/develop e04519dc3 -> 8929e93bd


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DurableClientCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DurableClientCommandsDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DurableClientCommandsDUnitTest.java
index ef29961..ded6a60 100644
--- a/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DurableClientCommandsDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/management/internal/cli/commands/DurableClientCommandsDUnitTest.java
@@ -35,6 +35,7 @@ import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.SerializableCallable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -120,6 +121,7 @@ public class DurableClientCommandsDUnitTest extends CliCommandTestBase {
     assertTrue(resultAsString.contains(errorMessage));
   }
 
+  @Category(FlakyTest.class) // GEODE-1705
   @Test
   public void testCloseDurableCQ() throws Exception{
     setupSystem();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesPeerPRRedundancyDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesPeerPRRedundancyDUnitTest.java b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesPeerPRRedundancyDUnitTest.java
index 6366298..af7dffa 100644
--- a/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesPeerPRRedundancyDUnitTest.java
+++ b/geode-lucene/src/test/java/org/apache/geode/cache/lucene/LuceneQueriesPeerPRRedundancyDUnitTest.java
@@ -36,6 +36,8 @@ import org.apache.geode.internal.cache.partitioned.BecomePrimaryBucketMessage.Be
 import org.apache.geode.test.dunit.SerializableRunnableIF;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
+
 import com.jayway.awaitility.Awaitility;
 
 import org.junit.Test;
@@ -66,6 +68,7 @@ public class LuceneQueriesPeerPRRedundancyDUnitTest extends LuceneQueriesPRBase
     putEntriesAndValidateResultsWithRedundancy();
   }
 
+  @Category(FlakyTest.class) // GEODE-1956
   @Test
   public void returnCorrectResultsWhenCloseCacheHappensOnIndexUpdate() throws InterruptedException {
     dataStore1.invoke(() -> {
@@ -80,6 +83,7 @@ public class LuceneQueriesPeerPRRedundancyDUnitTest extends LuceneQueriesPRBase
     dataStore1.invoke(() -> Awaitility.await().atMost(60, TimeUnit.SECONDS).until(basicGetCache()::isClosed));
   }
 
+  @Category(FlakyTest.class) // GEODE-1824
   @Test
   public void returnCorrectResultsWhenCloseCacheHappensOnPartialIndexWrite() throws InterruptedException {
     final DistributedMember member2 = dataStore2.invoke(() -> getCache().getDistributedSystem().getDistributedMember());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderDUnitTest.java
index 0ecf810..8adc68c 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderDUnitTest.java
@@ -25,7 +25,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.cache.EntryExistsException;
 import org.apache.geode.cache.client.ServerOperationException;
 import org.apache.geode.cache.wan.GatewaySender.OrderPolicy;
@@ -586,6 +586,7 @@ public class ConcurrentParallelGatewaySenderDUnitTest extends WANTestBase {
         getTestMethodName(), 1000 ));
   }
   
+  @Category(FlakyTest.class) // GEODE-1731
   @Test
   public void testPartitionedParallelPropagationHA() throws Exception {
     IgnoredException.addIgnoredException(SocketException.class.getName()); // for Connection reset

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderOperation_1_DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderOperation_1_DUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderOperation_1_DUnitTest.java
index 6b1d6ae..1b02772 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderOperation_1_DUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/concurrent/ConcurrentParallelGatewaySenderOperation_1_DUnitTest.java
@@ -290,6 +290,7 @@ public class ConcurrentParallelGatewaySenderOperation_1_DUnitTest extends WANTes
    * 
    * @throws Exception
    */
+  @Category(FlakyTest.class) // GEODE-1772
   @Test
   public void testParallelPropagationSenderResumeNegativeScenario() throws Exception {
     Integer lnPort = (Integer)vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId( 1 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/PDXNewWanDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/PDXNewWanDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/PDXNewWanDUnitTest.java
index df06c49..17ee8d3 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/PDXNewWanDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/PDXNewWanDUnitTest.java
@@ -25,7 +25,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.internal.cache.wan.WANTestBase;
 import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.dunit.Wait;
@@ -639,6 +639,7 @@ public class PDXNewWanDUnitTest extends WANTestBase{
   }
   
   
+  @Category(FlakyTest.class) // GEODE-1319
   @Test
   public void testWANPDX_RR_SerialSenderWithFilter() {
     Integer lnPort = (Integer)vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId( 1 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/WanAutoDiscoveryDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/WanAutoDiscoveryDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/WanAutoDiscoveryDUnitTest.java
index ed22ee9..8956d51 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/WanAutoDiscoveryDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/misc/WanAutoDiscoveryDUnitTest.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.net.InetSocketAddress;
 import java.util.ArrayList;
@@ -227,6 +228,7 @@ public class WanAutoDiscoveryDUnitTest extends WANTestBase {
     vm2.invoke(() -> WANTestBase.checkAllSiteMetaData( dsVsPort ));
   }
   
+  @Category(FlakyTest.class) // GEODE-1920
   @Test
   public void test_NY_Recognises_TK_AND_HK_Simultaneously() {
     Map<Integer, Set<InetSocketAddress>> dsVsPort = new HashMap<>();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPersistenceEnabledGatewaySenderDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPersistenceEnabledGatewaySenderDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPersistenceEnabledGatewaySenderDUnitTest.java
index 11465c4..45de562 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPersistenceEnabledGatewaySenderDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPersistenceEnabledGatewaySenderDUnitTest.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.io.IOException;
 
@@ -140,6 +141,7 @@ public class ParallelWANPersistenceEnabledGatewaySenderDUnitTest extends WANTest
   /**
    * Enable persistence for the GatewaySender but not the region
    */
+  @Category(FlakyTest.class) // GEODE-1670
   @Test
   public void testPartitionedRegionWithPersistentGatewaySender() {
     Integer lnPort = (Integer)vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId( 1 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPropagationDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPropagationDUnitTest.java
index af35fc0..3836098 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPropagationDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANPropagationDUnitTest.java
@@ -498,7 +498,7 @@ public class ParallelWANPropagationDUnitTest extends WANTestBase {
       getTestMethodName()+"_child2", 0 ));
   }
 
-  
+  @Category(FlakyTest.class) // GEODE-1312  
   @Test
   public void testParallelPropagationWithOverflow() throws Exception {
     Integer lnPort = (Integer)vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId( 1 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
index 69ff931..4a68608 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/parallel/ParallelWANStatsDUnitTest.java
@@ -224,6 +224,7 @@ public class ParallelWANStatsDUnitTest extends WANTestBase{
     vm3.invoke(() -> WANTestBase.checkGatewayReceiverStats(10, NUM_PUTS, NUM_PUTS ));
   }
   
+  @Category(FlakyTest.class) // GEODE-1384
   @Test
   public void testParallelPropagationHA() throws Exception {
     Integer lnPort = (Integer)vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId( 1 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java
index 2a683cf..52cd25f 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationDUnitTest.java
@@ -527,6 +527,7 @@ public class SerialWANPropagationDUnitTest extends WANTestBase {
         getTestMethodName() + "_RR_1", 1000 ));
   }
 
+  @Category(FlakyTest.class) // GEODE-1804
   @Test
   public void testReplicatedSerialPropagationWithRemoteRegionDestroy3()
       throws Exception {
@@ -624,6 +625,7 @@ public class SerialWANPropagationDUnitTest extends WANTestBase {
    * receiver configured on remote site. Puts to the local region are in progress.
    * Receiver on remote site is stopped in the middle by closing remote site cache.
    */
+  @Category(FlakyTest.class) // GEODE-1552
   @Test
   public void testReplicatedSerialPropagationWithRemoteReceiverStopped() throws Exception {
     Integer lnPort = (Integer)vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId( 1 ));
@@ -962,7 +964,8 @@ public class SerialWANPropagationDUnitTest extends WANTestBase {
     vm3.invoke(() -> WANTestBase.checkMinimumGatewayReceiverStats( 1, 1 ));
     vm3.invoke(() -> WANTestBase.validateRegionSize(getTestMethodName() + "_RR_1", 8000));
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-1364, 1478
   @Test
   public void testReplicatedSerialPropagationToTwoWanSites() throws Exception {
     Integer lnPort = createFirstLocatorWithDSId(1);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationLoopBackDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationLoopBackDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationLoopBackDUnitTest.java
index c140f41..42062af 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationLoopBackDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagationLoopBackDUnitTest.java
@@ -134,6 +134,7 @@ public class SerialWANPropagationLoopBackDUnitTest extends WANTestBase {
     assertEquals(1, createList2.size());
   }
 
+  @Category(FlakyTest.class) // GEODE-1148
   @Test
   public void testReplicatedSerialPropagationLoopBack3SitesLoop() throws Exception {
     Integer lnPort = (Integer)vm0.invoke(() -> WANTestBase.createFirstLocatorWithDSId( 1 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagation_PartitionedRegionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagation_PartitionedRegionDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagation_PartitionedRegionDUnitTest.java
index 0b361fa..db2dcfe 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagation_PartitionedRegionDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANPropagation_PartitionedRegionDUnitTest.java
@@ -368,6 +368,7 @@ public class SerialWANPropagation_PartitionedRegionDUnitTest extends WANTestBase
         getTestMethodName() + "_PR", 1000 ));
   }
 
+  @Category(FlakyTest.class) // GEODE-1147
   @Test
   public void testPartitionedSerialPropagationWithParallelThreads() throws Exception {
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANStatsDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
index 8872341..4db4890 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/serial/SerialWANStatsDUnitTest.java
@@ -22,6 +22,7 @@ import org.junit.Test;
 import static org.junit.Assert.*;
 
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import static org.apache.geode.test.dunit.Wait.*;
 import static org.apache.geode.test.dunit.IgnoredException.*;
@@ -381,6 +382,7 @@ public class SerialWANStatsDUnitTest extends WANTestBase {
    * 
    * @throws Exception
    */
+  @Category(FlakyTest.class) // GEODE-1353
   @Test
   public void testReplicatedSerialPropagationWithRemoteRegionDestroy() throws Exception {
   int numEntries = 20000;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandCreateGatewayReceiverDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandCreateGatewayReceiverDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandCreateGatewayReceiverDUnitTest.java
index e280863..30184f5 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandCreateGatewayReceiverDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandCreateGatewayReceiverDUnitTest.java
@@ -25,6 +25,7 @@ import org.apache.geode.management.internal.cli.result.TabularResultData;
 import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -398,6 +399,7 @@ public class WanCommandCreateGatewayReceiverDUnitTest extends WANCommandTestBase
   /**
    * GatewayReceiver with given attributes on multiple members.
    */
+  @Category(FlakyTest.class) // GEODE-1355
   @Test
   public void testCreateGatewayReceiver_onMultipleMembers() {
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStartDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStartDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStartDUnitTest.java
index 3c875d9..0e330c6 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStartDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStartDUnitTest.java
@@ -24,6 +24,7 @@ import org.apache.geode.management.internal.cli.result.TabularResultData;
 import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -78,6 +79,7 @@ public class WanCommandGatewayReceiverStartDUnitTest extends WANCommandTestBase
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1448
   @Test
   public void testStartGatewayReceiver() {
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStopDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStopDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStopDUnitTest.java
index 5bb3b59..8441bcc 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStopDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandGatewayReceiverStopDUnitTest.java
@@ -24,6 +24,7 @@ import org.apache.geode.management.internal.cli.result.TabularResultData;
 import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -79,6 +80,7 @@ public class WanCommandGatewayReceiverStopDUnitTest extends WANCommandTestBase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1418
   @Test
   public void testStopGatewayReceiver() {
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandStatusDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandStatusDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandStatusDUnitTest.java
index deae963..55beb71 100644
--- a/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandStatusDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/internal/cache/wan/wancommand/WanCommandStatusDUnitTest.java
@@ -23,6 +23,7 @@ import org.apache.geode.management.internal.cli.result.CommandResult;
 import org.apache.geode.management.internal.cli.result.CompositeResultData;
 import org.apache.geode.management.internal.cli.result.TabularResultData;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -402,6 +403,7 @@ public class WanCommandStatusDUnitTest extends WANCommandTestBase{
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1395
   @Test
   public void testGatewayReceiverStatus_OnMember(){
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
index a2fb68a..76c1abb 100644
--- a/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/management/WANManagementDUnitTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.util.Map;
 
@@ -118,6 +119,7 @@ public class WANManagementDUnitTest extends ManagementTestBase {
 
   }
   
+  @Category(FlakyTest.class) // GEODE-1603
   @Test
   public void testReceiverMBean() throws Exception {
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigurationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigurationDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigurationDUnitTest.java
index 432525f..7740f0b 100644
--- a/geode-wan/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigurationDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/management/internal/configuration/ClusterConfigurationDUnitTest.java
@@ -51,6 +51,7 @@ import org.apache.geode.test.dunit.SerializableCallable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -113,6 +114,7 @@ public class ClusterConfigurationDUnitTest extends CliCommandTestBase {
     jarFileNames.clear();
   }
 
+  @Category(FlakyTest.class) // GEODE-1335
   @Test
   public void testConfigDistribution() throws Exception {
     addIgnoredException("could not get remote locator");

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-wan/src/test/java/org/apache/geode/management/internal/pulse/TestRemoteClusterDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-wan/src/test/java/org/apache/geode/management/internal/pulse/TestRemoteClusterDUnitTest.java b/geode-wan/src/test/java/org/apache/geode/management/internal/pulse/TestRemoteClusterDUnitTest.java
index ff12811..723d7f8 100644
--- a/geode-wan/src/test/java/org/apache/geode/management/internal/pulse/TestRemoteClusterDUnitTest.java
+++ b/geode-wan/src/test/java/org/apache/geode/management/internal/pulse/TestRemoteClusterDUnitTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.util.Map;
 
@@ -68,6 +69,7 @@ public class TestRemoteClusterDUnitTest extends ManagementTestBase {
     super();
   }
 
+  @Category(FlakyTest.class) // GEODE-1629
   @Test
   public void testMBeanCallback() throws Exception {
 


[4/4] incubator-geode git commit: Add FlakyTest category to tests with open bugs

Posted by ab...@apache.org.
Add FlakyTest category to tests with open bugs

Annotate test methods with FlakyTest category if there is an open
bug for that test. This will improve the signal/noise ratio for
unit/integration/distributed tests.  Flaky tests are still run
as part of precheckin and flakyTest targets.


Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/8929e93b
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/8929e93b
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/8929e93b

Branch: refs/heads/develop
Commit: 8929e93bd129b303aae8f9e1b13daf3c3991d1a4
Parents: e04519d
Author: Anthony Baker <ab...@apache.org>
Authored: Sat Oct 1 16:55:44 2016 -0700
Committer: Anthony Baker <ab...@apache.org>
Committed: Tue Oct 4 07:28:36 2016 -0700

----------------------------------------------------------------------
 .../SessionReplicationIntegrationJUnitTest.java |    1 +
 .../SharedConfigurationEndToEndDUnitTest.java   |    2 +
 ...tAPIsOnGroupsFunctionExecutionDUnitTest.java |    2 +
 .../geode/cache/ConnectionPoolDUnitTest.java    |    2 +
 .../MemoryThresholdsOffHeapDUnitTest.java       |   17 +-
 .../cache/query/dunit/CompiledInDUnitTest.java  |    3 +
 .../QueryUsingFunctionContextDUnitTest.java     |    3 +-
 ...ndexOperationsOnOverflowRegionDUnitTest.java |    5 +-
 .../partitioned/PRQueryCacheCloseDUnitTest.java |    3 +
 .../PRQueryRegionCloseDUnitTest.java            |    2 +
 .../distributed/DistributedSystemDUnitTest.java |    3 +-
 .../geode/distributed/LocatorDUnitTest.java     |    1 +
 .../geode/distributed/LocatorLauncherTest.java  |    2 +
 .../geode/distributed/ServerLauncherTest.java   |    2 +
 .../geode/distributed/SystemAdminDUnitTest.java |  254 +-
 .../ConsoleDistributionManagerDUnitTest.java    |    2 +
 .../membership/MembershipJUnitTest.java         |    2 +
 .../cache/FixedPRSinglehopDUnitTest.java        |    1 +
 .../PartitionedRegionSingleHopDUnitTest.java    |    1 +
 .../ClientServerFunctionExecutionDUnitTest.java |    3 +-
 .../cache/execute/FunctionServiceBase.java      |    4 +-
 ...tServerRegionFunctionExecutionDUnitTest.java |    2 +
 ...egionFunctionExecutionFailoverDUnitTest.java |    2 +
 ...onExecutionSelectorNoSingleHopDUnitTest.java |    2 +
 .../cache/execute/PRColocationDUnitTest.java    |    2 +
 .../PersistentPartitionedRegionDUnitTest.java   |    1 +
 .../fixed/FixedPartitioningDUnitTest.java       |    1 +
 .../cache/tier/sockets/Bug36805DUnitTest.java   |    2 +
 .../sockets/DurableRegistrationDUnitTest.java   |   17 +-
 .../asyncqueue/AsyncEventListenerDUnitTest.java |    2 +-
 .../management/CompositeTypeTestDUnitTest.java  |    3 +-
 .../MemberMBeanAttributesDUnitTest.java         |    2 +
 .../geode/management/QueryDataDUnitTest.java    |   24 +-
 .../RegionCreateDestroyDUnitTest.java           |    3 +
 .../management/RegionManagementDUnitTest.java   |    2 +
 ...ersalMembershipListenerAdapterDUnitTest.java |    2 +
 .../cli/commands/ConfigCommandsDUnitTest.java   |    3 +
 .../commands/DiskStoreCommandsDUnitTest.java    |   27 +-
 .../commands/GemfireDataCommandsDUnitTest.java  |    7 +
 .../cli/commands/IndexCommandsDUnitTest.java    |    3 +
 .../MiscellaneousCommandsDUnitTest.java         |    4 +-
 ...laneousCommandsExportLogsPart1DUnitTest.java |    3 +-
 ...laneousCommandsExportLogsPart4DUnitTest.java |    3 +-
 .../cli/commands/QueueCommandsDUnitTest.java    |    2 +
 .../SharedConfigurationCommandsDUnitTest.java   |    2 +
 .../cli/commands/ShowMetricsDUnitTest.java      |    2 +
 .../CacheServerMBeanAuthorizationJUnitTest.java |    3 +-
 .../internal/security/MultiUserDUnitTest.java   |    2 +
 .../org/apache/geode/redis/HashesJUnitTest.java |    2 +
 .../apache/geode/redis/RedisDistDUnitTest.java  |    1 +
 .../security/ClientAuthenticationDUnitTest.java |    1 +
 .../DeltaClientPostAuthorizationDUnitTest.java  |    2 +
 .../security/IntegratedClientAuthDUnitTest.java |    3 +
 ...tedClientRegionClearAuthDistributedTest.java |    2 +
 ...edSecurityCacheLifecycleDistributedTest.java |    2 +
 ...edSecurityCacheLifecycleIntegrationTest.java |   10 +-
 .../security/PDXPostProcessorDUnitTest.java     |    2 +
 .../cq/dunit/CqResultSetUsingPoolDUnitTest.java |    2 +
 .../query/cq/dunit/PrCqUsingPoolDUnitTest.java  |    2 +-
 .../geode/internal/cache/PutAllCSDUnitTest.java |    2 +
 .../sockets/DurableClientSimpleDUnitTest.java   | 6689 +++++++++---------
 .../DurableClientCommandsDUnitTest.java         |    2 +
 .../LuceneQueriesPeerPRRedundancyDUnitTest.java |    4 +
 ...oncurrentParallelGatewaySenderDUnitTest.java |    3 +-
 ...allelGatewaySenderOperation_1_DUnitTest.java |    1 +
 .../cache/wan/misc/PDXNewWanDUnitTest.java      |    3 +-
 .../wan/misc/WanAutoDiscoveryDUnitTest.java     |    2 +
 ...ersistenceEnabledGatewaySenderDUnitTest.java |    2 +
 .../ParallelWANPropagationDUnitTest.java        |    2 +-
 .../wan/parallel/ParallelWANStatsDUnitTest.java |    1 +
 .../serial/SerialWANPropagationDUnitTest.java   |    5 +-
 .../SerialWANPropagationLoopBackDUnitTest.java  |    1 +
 ...NPropagation_PartitionedRegionDUnitTest.java |    1 +
 .../wan/serial/SerialWANStatsDUnitTest.java     |    2 +
 ...anCommandCreateGatewayReceiverDUnitTest.java |    2 +
 ...WanCommandGatewayReceiverStartDUnitTest.java |    2 +
 .../WanCommandGatewayReceiverStopDUnitTest.java |    2 +
 .../wancommand/WanCommandStatusDUnitTest.java   |    2 +
 .../management/WANManagementDUnitTest.java      |    2 +
 .../ClusterConfigurationDUnitTest.java          |    2 +
 .../pulse/TestRemoteClusterDUnitTest.java       |    2 +
 81 files changed, 3684 insertions(+), 3522 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/extensions/geode-modules-session/src/test/java/org/apache/geode/modules/session/internal/filter/SessionReplicationIntegrationJUnitTest.java
----------------------------------------------------------------------
diff --git a/extensions/geode-modules-session/src/test/java/org/apache/geode/modules/session/internal/filter/SessionReplicationIntegrationJUnitTest.java b/extensions/geode-modules-session/src/test/java/org/apache/geode/modules/session/internal/filter/SessionReplicationIntegrationJUnitTest.java
index 7333c9f..bda2036 100644
--- a/extensions/geode-modules-session/src/test/java/org/apache/geode/modules/session/internal/filter/SessionReplicationIntegrationJUnitTest.java
+++ b/extensions/geode-modules-session/src/test/java/org/apache/geode/modules/session/internal/filter/SessionReplicationIntegrationJUnitTest.java
@@ -783,6 +783,7 @@ public class SessionReplicationIntegrationJUnitTest {
   /**
    * Test that invalidating a session throws an exception on subsequent access.
    */
+  @Category(FlakyTest.class) // GEODE-1943
   @Test
   public void testInvalidateSession9() throws Exception {
     Callback c_1 = new Callback() {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-assembly/src/test/java/org/apache/geode/management/internal/configuration/SharedConfigurationEndToEndDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/org/apache/geode/management/internal/configuration/SharedConfigurationEndToEndDUnitTest.java b/geode-assembly/src/test/java/org/apache/geode/management/internal/configuration/SharedConfigurationEndToEndDUnitTest.java
index 0862fde..1b9f103 100644
--- a/geode-assembly/src/test/java/org/apache/geode/management/internal/configuration/SharedConfigurationEndToEndDUnitTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/management/internal/configuration/SharedConfigurationEndToEndDUnitTest.java
@@ -36,6 +36,7 @@ import org.apache.geode.test.dunit.SerializableCallable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.commons.io.FileUtils;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
@@ -113,6 +114,7 @@ public class SharedConfigurationEndToEndDUnitTest extends CliCommandTestBase {
     jarFileNames = null;
   }
 
+  @Category(FlakyTest.class) // GEODE-1606
   @Test
   public void testStartServerAndExecuteCommands() throws Exception {
     final HeadlessGfsh gfsh = new HeadlessGfsh("gfsh2", 300, this.gfshDir);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java b/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
index e8e81cc..75eedd5 100644
--- a/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
+++ b/geode-assembly/src/test/java/org/apache/geode/rest/internal/web/controllers/RestAPIsOnGroupsFunctionExecutionDUnitTest.java
@@ -35,6 +35,7 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
 import org.apache.geode.rest.internal.web.RestFunctionTemplate;
 import org.apache.geode.test.dunit.LogWriterUtils;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
 
 @Category(DistributedTest.class)
@@ -80,6 +81,7 @@ public class RestAPIsOnGroupsFunctionExecutionDUnitTest extends RestAPITestBase
     restURLs.clear();
   }
 
+  @Category(FlakyTest.class) // GEODE-1924
   @Test
   public void testonGroupsExecutionOnAllMembersWithFilter() {
     setupCacheWithGroupsAndFunction();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/cache/ConnectionPoolDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/ConnectionPoolDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/ConnectionPoolDUnitTest.java
index 6e5019a..acb954a 100755
--- a/geode-core/src/test/java/org/apache/geode/cache/ConnectionPoolDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/ConnectionPoolDUnitTest.java
@@ -73,6 +73,7 @@ import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 /**
  * This class tests the client connection pool in GemFire.
@@ -5749,6 +5750,7 @@ public class ConnectionPoolDUnitTest extends JUnit4CacheTestCase {
    * Now confirm that a tx done in a peer of a server (the server having
    * an empty region and wanting all events) sends the tx to its clients
    */
+  @Category(FlakyTest.class) // GEODE-1717
   @Test
   public void test038Bug39526part2() throws CacheException, InterruptedException {
     disconnectAllFromDS();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/cache/management/MemoryThresholdsOffHeapDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/management/MemoryThresholdsOffHeapDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/management/MemoryThresholdsOffHeapDUnitTest.java
index a243977..c1a845c 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/management/MemoryThresholdsOffHeapDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/management/MemoryThresholdsOffHeapDUnitTest.java
@@ -16,8 +16,15 @@
  */
 package org.apache.geode.cache.management;
 
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.apache.geode.test.dunit.Assert.*;
+import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
+import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.OFF_HEAP_MEMORY_SIZE;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -29,9 +36,6 @@ import java.util.Properties;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
 import org.apache.geode.cache.AttributesFactory;
 import org.apache.geode.cache.AttributesMutator;
 import org.apache.geode.cache.CacheException;
@@ -87,6 +91,8 @@ import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
 import org.apache.geode.test.junit.categories.FlakyTest;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
 
 /**
  * Tests the Off-Heap Memory thresholds of {@link ResourceManager}
@@ -1297,6 +1303,7 @@ public class MemoryThresholdsOffHeapDUnitTest extends ClientServerTestCase {
     verifyProfiles(server3, 2);
   }
 
+  @Category(FlakyTest.class) // GEODE-1602
   @Test
   public void testPRClientPutRejection() throws Exception {
     doClientServerTest("parRegReject", true/*createPR*/);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/CompiledInDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/CompiledInDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/CompiledInDUnitTest.java
index b4593ad..ab38423 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/CompiledInDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/CompiledInDUnitTest.java
@@ -51,6 +51,7 @@ import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 @Category(DistributedTest.class)
 public class CompiledInDUnitTest extends JUnit4CacheTestCase {
@@ -135,6 +136,7 @@ public class CompiledInDUnitTest extends JUnit4CacheTestCase {
   }
 
 
+  @Category(FlakyTest.class) // GEODE-1771
   @Test
   public void whenMultipleEnumBindParametersAreUsedWithInQueryAndMapIndexIsPresentReturnCorrectResults()
     throws CacheException {
@@ -441,6 +443,7 @@ public class CompiledInDUnitTest extends JUnit4CacheTestCase {
     vm1.invoke(executeQueryWithIndexOnReplicateRegion(numExpectedResults, queryString, bindArguments, "myIndex", "ts.getMapField[*]", regName + " ts"));
   }
 
+  @Category(FlakyTest.class) // GEODE-1765
   @Test
   public void whenInSetCollectionContainsNonUniqueValuesMatchingSetShouldNotBeDuplicated() throws CacheException {
     final int numberOfEntries = 10;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryUsingFunctionContextDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryUsingFunctionContextDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryUsingFunctionContextDUnitTest.java
index 126677a..ed4223d 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryUsingFunctionContextDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/query/dunit/QueryUsingFunctionContextDUnitTest.java
@@ -558,7 +558,8 @@ public class QueryUsingFunctionContextDUnitTest extends JUnit4CacheTestCase {
    
  }
  
-  @Test
+  @Category(FlakyTest.class) // GEODE-1345
+ @Test
   public void testJoinQueryPRWithMultipleIndexes(){
    
    server1.invoke(new CacheSerializableRunnable("Test query with indexes") {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/ConcurrentIndexOperationsOnOverflowRegionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/ConcurrentIndexOperationsOnOverflowRegionDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/ConcurrentIndexOperationsOnOverflowRegionDUnitTest.java
index 6125dc0..2316c55 100644
--- a/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/ConcurrentIndexOperationsOnOverflowRegionDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/query/internal/index/ConcurrentIndexOperationsOnOverflowRegionDUnitTest.java
@@ -27,6 +27,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.util.Collection;
 import java.util.Set;
@@ -73,9 +74,7 @@ public class ConcurrentIndexOperationsOnOverflowRegionDUnitTest extends
 
   public static volatile boolean hooked = false;
 
-  /**
-   *
-   */
+  @Category(FlakyTest.class) // GEODE-1828
   @Test
   public void testAsyncIndexInitDuringEntryDestroyAndQueryOnRR() {
     Host host = Host.getHost(0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryCacheCloseDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryCacheCloseDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryCacheCloseDUnitTest.java
index e827ab7..484afe2 100755
--- a/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryCacheCloseDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryCacheCloseDUnitTest.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 /**
  * This test tests the PR query behaviour with respect to cache closure
@@ -99,6 +100,7 @@ public class PRQueryCacheCloseDUnitTest extends PartitionedRegionDUnitTestCase
    * 6. then recreates the PR on the same VM <br>
    * 7. Verfies the size , type , contents of both the resultSets Obtained <br>
    */
+  @Category(FlakyTest.class) // GEODE-1689
   @Test
   public void testPRWithCacheCloseInOneDatastoreWithDelay() throws Exception
   {
@@ -233,6 +235,7 @@ public class PRQueryCacheCloseDUnitTest extends PartitionedRegionDUnitTestCase
    * 6. then recreates the PR on the same VM <br>
    * 7. Verfies the size , type , contents of both the resultSets Obtained <br>
    */
+  @Category(FlakyTest.class) // GEODE-1239
   @Test
   public void testPRWithCacheCloseInOneDatastoreWithoutDelay() throws Exception
   {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryRegionCloseDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryRegionCloseDUnitTest.java b/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryRegionCloseDUnitTest.java
index 0bc5fc0..575c79a 100755
--- a/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryRegionCloseDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/cache/query/partitioned/PRQueryRegionCloseDUnitTest.java
@@ -25,6 +25,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 /**
  * This test creates partition regions with one Accessor node & two Datastores
@@ -98,6 +99,7 @@ public class PRQueryRegionCloseDUnitTest extends PartitionedRegionDUnitTestCase
    * 6. then recreates the PR on the same VM <br>
    * 7. Verfies the size , type , contents of both the resultSets Obtained <br>
    */
+  @Category(FlakyTest.class) // GEODE-1720
   @Test
   public void testPRWithRegionCloseInOneDatastoreWithoutDelay()
       throws Exception

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
index 6108562..33c2410 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/DistributedSystemDUnitTest.java
@@ -35,7 +35,7 @@ import org.apache.geode.internal.net.SocketCreator;
 import org.apache.geode.test.dunit.*;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.*;
 import org.junit.experimental.categories.Category;
 
@@ -357,6 +357,7 @@ public class DistributedSystemDUnitTest extends JUnit4DistributedTestCase {
     assertTrue(idm.getDirectChannelPort() >= portStartRange);
   }
 
+  @Category(FlakyTest.class) // GEODE-1198
   @Test
   public void testConflictingUDPPort() throws Exception {
     final Properties config = new Properties();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/distributed/LocatorDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/LocatorDUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/LocatorDUnitTest.java
index 08aecdd..b073d87 100755
--- a/geode-core/src/test/java/org/apache/geode/distributed/LocatorDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/LocatorDUnitTest.java
@@ -273,6 +273,7 @@ public class LocatorDUnitTest extends JUnit4DistributedTestCase {
    * simultaneously and shows that they find each other and form a single system.
    * @throws Exception
    */
+  @Category(FlakyTest.class) // GEODE-1931
   @Test
   public void testStartTwoLocators() throws Exception {
     disconnectAllFromDS();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/distributed/LocatorLauncherTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/LocatorLauncherTest.java b/geode-core/src/test/java/org/apache/geode/distributed/LocatorLauncherTest.java
index f969ed1..8d6acc9 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/LocatorLauncherTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/LocatorLauncherTest.java
@@ -20,6 +20,7 @@ import org.apache.geode.distributed.LocatorLauncher.Builder;
 import org.apache.geode.distributed.LocatorLauncher.Command;
 import org.apache.geode.distributed.internal.DistributionConfig;
 import org.apache.geode.internal.i18n.LocalizedStrings;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.UnitTest;
 import joptsimple.OptionException;
 import org.junit.Rule;
@@ -128,6 +129,7 @@ public class LocatorLauncherTest {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1308
   @Test(expected = IllegalArgumentException.class)
   public void testSetBindAddressToNonLocalHost() {
     try {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherTest.java b/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherTest.java
index d6f97dd..7135737 100755
--- a/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/ServerLauncherTest.java
@@ -23,6 +23,7 @@ import org.apache.geode.distributed.ServerLauncher.Command;
 import org.apache.geode.distributed.internal.DistributionConfig;
 import org.apache.geode.distributed.support.DistributedSystemAdapter;
 import org.apache.geode.internal.i18n.LocalizedStrings;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.UnitTest;
 import edu.umd.cs.mtc.MultithreadedTestCase;
 import edu.umd.cs.mtc.TestFramework;
@@ -248,6 +249,7 @@ public class ServerLauncherTest {
     }
   }
   
+  @Category(FlakyTest.class) // GEODE-1309
   @Test(expected = IllegalArgumentException.class)
   public void testSetServerBindAddressToNonLocalHost() {
     try {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/distributed/SystemAdminDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/SystemAdminDUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/SystemAdminDUnitTest.java
index 5be363f..6e2c170 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/SystemAdminDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/SystemAdminDUnitTest.java
@@ -1,126 +1,128 @@
-/*
- * 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.distributed;
-
-import static org.junit.Assert.*;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Properties;
-
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-import org.apache.geode.distributed.internal.DistributionManager;
-import org.apache.geode.distributed.internal.InternalDistributedSystem;
-import org.apache.geode.internal.SystemAdmin;
-import org.apache.geode.test.dunit.DistributedTestUtils;
-import org.apache.geode.test.dunit.LogWriterUtils;
-import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
-import org.apache.geode.test.junit.categories.DistributedTest;
-
-@Category(DistributedTest.class)
-public class SystemAdminDUnitTest extends JUnit4DistributedTestCase {
-
-  @Override
-  public final void postSetUp() throws Exception {
-    disconnect();
-  }
-  
-  @Override
-  public final void preTearDown() throws Exception {
-    disconnect();
-  }
-  
-  public void disconnect() {
-    // get rid of the command-line distributed system created by SystemAdmin
-    nullSystem();
-    InternalDistributedSystem sys = InternalDistributedSystem.getAnyInstance();
-    if (sys != null && sys.isConnected()) {
-      LogWriterUtils.getLogWriter().info("disconnecting(3)");
-      sys.disconnect();
-    }
-  }
-
-  @Test
-  public void testPrintStacks() throws Exception {
-
-    // create a gemfire.properties that lets SystemAdmin find the dunit locator
-    Properties p = DistributedTestUtils.getAllDistributedSystemProperties(getDistributedSystemProperties());
-    try {
-      
-      SystemAdmin.setDistributedSystemProperties(p);
-      
-      String filename2 = getUniqueName()+"2.txt";
-      List<String> options = new ArrayList<String>(1);
-      options.add(filename2);
-      SystemAdmin.printStacks(options, true);
-      checkStackDumps(filename2, false);
-  
-      disconnect();
-      
-      String filename1 = getUniqueName()+"1.txt";
-      options.clear();
-      options.add(filename1);
-      SystemAdmin.printStacks(options, false);
-      checkStackDumps(filename1, true);
-      
-    } finally {
-      // SystemAdmin calls methods that set these static variables
-      DistributionManager.isDedicatedAdminVM = false;
-      DistributionManager.isCommandLineAdminVM = false;
-      SystemAdmin.setDistributedSystemProperties(null);
-    }
-  }
-
-  private void checkStackDumps(String filename, boolean isPruned) throws IOException {
-    File file = new File(filename);
-    if (!file.exists()) {
-      fail("printStacks did not create a stack dump");
-    }
-    BufferedReader in = new BufferedReader(new FileReader(file));
-    // look for some threads that shouldn't be there
-    boolean setting = !isPruned;
-    boolean foundManagementTask = setting;
-    boolean foundGCThread = setting;
-    boolean foundFunctionThread = setting;
-    String line;
-    do {
-      line = in.readLine();
-      if (line != null) {
-        if (line.contains("GemFire Garbage Collection")) foundGCThread = true;
-        else if (line.contains("Management Task")) foundManagementTask = true;
-        else if (line.contains("Function Execution Processor")) foundFunctionThread = true;
-      }
-    } while (line != null);
-
-    if (isPruned) {
-      assertFalse("found a GemFire Garbage Collection thread in stack dump in "+filename, foundGCThread);
-      assertFalse("found a Management Task thread in stack dump in " + filename, foundManagementTask);
-      assertFalse("found a Function Excecution Processor thread in stack dump in "+filename, foundFunctionThread);
-    } else {
-      assertTrue("found no GemFire Garbage Collection thread in stack dump in "+filename, foundGCThread);
-      assertTrue("found no Management Task thread in stack dump in " + filename, foundManagementTask);
-      assertTrue("found no Function Excecution Processor thread in stack dump in "+filename, foundFunctionThread);
-   }
-   file.delete();
-  }
-}
+/*
+ * 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.distributed;
+
+import static org.junit.Assert.*;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Properties;
+
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import org.apache.geode.distributed.internal.DistributionManager;
+import org.apache.geode.distributed.internal.InternalDistributedSystem;
+import org.apache.geode.internal.SystemAdmin;
+import org.apache.geode.test.dunit.DistributedTestUtils;
+import org.apache.geode.test.dunit.LogWriterUtils;
+import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
+import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
+
+@Category(DistributedTest.class)
+public class SystemAdminDUnitTest extends JUnit4DistributedTestCase {
+
+  @Override
+  public final void postSetUp() throws Exception {
+    disconnect();
+  }
+  
+  @Override
+  public final void preTearDown() throws Exception {
+    disconnect();
+  }
+  
+  public void disconnect() {
+    // get rid of the command-line distributed system created by SystemAdmin
+    nullSystem();
+    InternalDistributedSystem sys = InternalDistributedSystem.getAnyInstance();
+    if (sys != null && sys.isConnected()) {
+      LogWriterUtils.getLogWriter().info("disconnecting(3)");
+      sys.disconnect();
+    }
+  }
+
+  @Category(FlakyTest.class) // GEODE-1585
+  @Test
+  public void testPrintStacks() throws Exception {
+
+    // create a gemfire.properties that lets SystemAdmin find the dunit locator
+    Properties p = DistributedTestUtils.getAllDistributedSystemProperties(getDistributedSystemProperties());
+    try {
+      
+      SystemAdmin.setDistributedSystemProperties(p);
+      
+      String filename2 = getUniqueName()+"2.txt";
+      List<String> options = new ArrayList<String>(1);
+      options.add(filename2);
+      SystemAdmin.printStacks(options, true);
+      checkStackDumps(filename2, false);
+  
+      disconnect();
+      
+      String filename1 = getUniqueName()+"1.txt";
+      options.clear();
+      options.add(filename1);
+      SystemAdmin.printStacks(options, false);
+      checkStackDumps(filename1, true);
+      
+    } finally {
+      // SystemAdmin calls methods that set these static variables
+      DistributionManager.isDedicatedAdminVM = false;
+      DistributionManager.isCommandLineAdminVM = false;
+      SystemAdmin.setDistributedSystemProperties(null);
+    }
+  }
+
+  private void checkStackDumps(String filename, boolean isPruned) throws IOException {
+    File file = new File(filename);
+    if (!file.exists()) {
+      fail("printStacks did not create a stack dump");
+    }
+    BufferedReader in = new BufferedReader(new FileReader(file));
+    // look for some threads that shouldn't be there
+    boolean setting = !isPruned;
+    boolean foundManagementTask = setting;
+    boolean foundGCThread = setting;
+    boolean foundFunctionThread = setting;
+    String line;
+    do {
+      line = in.readLine();
+      if (line != null) {
+        if (line.contains("GemFire Garbage Collection")) foundGCThread = true;
+        else if (line.contains("Management Task")) foundManagementTask = true;
+        else if (line.contains("Function Execution Processor")) foundFunctionThread = true;
+      }
+    } while (line != null);
+
+    if (isPruned) {
+      assertFalse("found a GemFire Garbage Collection thread in stack dump in "+filename, foundGCThread);
+      assertFalse("found a Management Task thread in stack dump in " + filename, foundManagementTask);
+      assertFalse("found a Function Excecution Processor thread in stack dump in "+filename, foundFunctionThread);
+    } else {
+      assertTrue("found no GemFire Garbage Collection thread in stack dump in "+filename, foundGCThread);
+      assertTrue("found no Management Task thread in stack dump in " + filename, foundManagementTask);
+      assertTrue("found no Function Excecution Processor thread in stack dump in "+filename, foundFunctionThread);
+   }
+   file.delete();
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/distributed/internal/ConsoleDistributionManagerDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/ConsoleDistributionManagerDUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/ConsoleDistributionManagerDUnitTest.java
index 28d8f5f..5f3b48e 100644
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/ConsoleDistributionManagerDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/ConsoleDistributionManagerDUnitTest.java
@@ -55,6 +55,7 @@ import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 /**
  * This class tests the functionality of the {@linkplain org.apache.geode.internal.admin internal
@@ -178,6 +179,7 @@ public class ConsoleDistributionManagerDUnitTest extends JUnit4CacheTestCase imp
     assertTrue("agent should have been disconnected", !agent.isConnected());
   }
 
+  @Category(FlakyTest.class) // GEODE-1688
   @Test
   public void testApplications() throws Exception {
     {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java
index df0ca21..d9cff42 100755
--- a/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/distributed/internal/membership/MembershipJUnitTest.java
@@ -49,6 +49,7 @@ import org.apache.geode.distributed.internal.membership.gms.mgr.GMSMembershipMan
 import org.apache.geode.internal.AvailablePortHelper;
 import org.apache.geode.internal.net.SocketCreator;
 import org.apache.geode.internal.admin.remote.RemoteTransportConfig;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.IntegrationTest;
 
 import org.apache.logging.log4j.Level;
@@ -99,6 +100,7 @@ public class MembershipJUnitTest {
    * the membership view, closes one of the managers
    * and makes more assertions.
    */
+  @Category(FlakyTest.class) // GEODE-1550
   @Test
   public void testMultipleManagersInSameProcess() throws Exception {
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java
index 86b95ca..04ca596 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/FixedPRSinglehopDUnitTest.java
@@ -264,6 +264,7 @@ public class FixedPRSinglehopDUnitTest extends JUnit4CacheTestCase {
    * the metadata are fetched and then later up one more partition and do some operations on them. It should
    * fetch new fpa. 
    */
+  @Category(FlakyTest.class) // GEODE-1923
   @Test
   public void test_FPAmetadataFetch() {
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
index 16737e2..2b0f925 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/PartitionedRegionSingleHopDUnitTest.java
@@ -726,6 +726,7 @@ public class PartitionedRegionSingleHopDUnitTest extends JUnit4CacheTestCase {
     Awaitility.waitAtMost(60, TimeUnit.SECONDS).until(() -> (prMetaData.getBucketServerLocationsMap_TEST_ONLY().size() == 4));
   }
 
+  @Category(FlakyTest.class) // GEODE-1763
   @Test
   public void testMetadataIsSameOnAllServersAndClients() {
     Integer port0 = (Integer)member0.invoke(() -> PartitionedRegionSingleHopDUnitTest.createServer( 3, 4 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/ClientServerFunctionExecutionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/ClientServerFunctionExecutionDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/ClientServerFunctionExecutionDUnitTest.java
index fe247d8..41addc3 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/ClientServerFunctionExecutionDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/ClientServerFunctionExecutionDUnitTest.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.cache.AttributesFactory;
 import org.apache.geode.cache.DataPolicy;
 import org.apache.geode.cache.Region;
@@ -384,6 +384,7 @@ public class ClientServerFunctionExecutionDUnitTest extends PRClientServerTestBa
    * As this is the case of HA then system should retry the function execution. After 5th attempt
    * function will send Boolean as last result.
    */
+  @Category(FlakyTest.class) // GEODE-1932
   @Test
   public void testOnServerExecution_FunctionInvocationTargetException() {
     createScenario();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/FunctionServiceBase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/FunctionServiceBase.java b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/FunctionServiceBase.java
index 177d180..5cd1327 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/FunctionServiceBase.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/FunctionServiceBase.java
@@ -37,11 +37,12 @@ import org.apache.geode.distributed.internal.InternalDistributedSystem;
 import org.apache.geode.distributed.internal.membership.InternalDistributedMember;
 import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.experimental.categories.Category;
 import org.junit.rules.ExpectedException;
 
 /*
@@ -245,6 +246,7 @@ public abstract class FunctionServiceBase extends JUnit4CacheTestCase {
     assertEquals(result, customCollector.getResult());
   }
 
+  @Category(FlakyTest.class) // GEODE-1827
   @Test
   public void customCollectorReturnsResultOfSendFunctionException() {
     ResultCollector rc = getExecution().withCollector(customCollector).execute((context) -> {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionDUnitTest.java
index ca390f2..2d8cfe3 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionDUnitTest.java
@@ -66,6 +66,7 @@ import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 @Category(DistributedTest.class)
 public class PRClientServerRegionFunctionExecutionDUnitTest extends PRClientServerTestBase {
@@ -359,6 +360,7 @@ public class PRClientServerRegionFunctionExecutionDUnitTest extends PRClientServ
     client.invoke(() -> PRClientServerRegionFunctionExecutionDUnitTest.serverMultiKeyExecution_SendException( isByName));
   }
   
+  @Category(FlakyTest.class) // GEODE-1595
   @Test
   public void testserverMultiKeyExecution_ThrowException(){
     createScenario();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionFailoverDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionFailoverDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionFailoverDUnitTest.java
index 68f88e0..23b09f7 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionFailoverDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionFailoverDUnitTest.java
@@ -59,6 +59,7 @@ import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.ThreadUtils;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 @Category(DistributedTest.class)
 public class PRClientServerRegionFunctionExecutionFailoverDUnitTest extends PRClientServerTestBase {
@@ -183,6 +184,7 @@ public class PRClientServerRegionFunctionExecutionFailoverDUnitTest extends PRCl
   }
 
   // retry attempts is 2
+  @Category(FlakyTest.class) // GEODE-1806
   @Test
   public void testOnRegionFailoverWithOneServerDownHA()
       throws InterruptedException {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionSelectorNoSingleHopDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionSelectorNoSingleHopDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionSelectorNoSingleHopDUnitTest.java
index dcb59a4..d7327de 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionSelectorNoSingleHopDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRClientServerRegionFunctionExecutionSelectorNoSingleHopDUnitTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.io.EOFException;
 import java.io.IOException;
@@ -273,6 +274,7 @@ public class PRClientServerRegionFunctionExecutionSelectorNoSingleHopDUnitTest e
    * Ensure that the while executing the function if the servers is down then
    * the execution is failover to other available server
    */
+  @Category(FlakyTest.class) // GEODE-1497
   @Test
   public void testServerFailoverWithTwoServerAliveHA()
       throws InterruptedException {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRColocationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRColocationDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRColocationDUnitTest.java
index 6b71aef..1b8d2d1 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRColocationDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/execute/PRColocationDUnitTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.io.DataInput;
 import java.io.DataOutput;
@@ -1301,6 +1302,7 @@ public class PRColocationDUnitTest extends JUnit4CacheTestCase {
    * 
    * @throws Throwable
    */
+  @Category(FlakyTest.class) // GEODE-1698
   @Test
   public void testColocationPartitionedRegionWithNullColocationSpecifiedOnOneNode()
       throws Throwable {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
index 2ba7ecc..afdec0c 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
@@ -1467,6 +1467,7 @@ public class PersistentPartitionedRegionDUnitTest extends PersistentPartitionedR
   /**
    * Test for bug 41336
    */
+  @Category(FlakyTest.class) // GEODE-1738
   @Test
   public void testCrashDuringBucketCreation() throws Throwable {
     Host host = Host.getHost(0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
index 99ee13c..667d3ee 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
@@ -995,6 +995,7 @@ public class FixedPartitioningDUnitTest extends FixedPartitioningTestBase {
    * datastores.
    */
   
+  @Category(FlakyTest.class) // GEODE-1704
   @Test
   public void testPut_ValidateDataOnMember_PrimarySecondary_Datastore() {
     member1.invoke(() -> FixedPartitioningTestBase.createCacheOnMember());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/Bug36805DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/Bug36805DUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/Bug36805DUnitTest.java
index b6771dd..fd94b07 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/Bug36805DUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/Bug36805DUnitTest.java
@@ -45,6 +45,7 @@ import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import static org.apache.geode.distributed.ConfigurationProperties.*;
 
@@ -155,6 +156,7 @@ public class Bug36805DUnitTest extends JUnit4DistributedTestCase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1581
   @Test
   public void testBug36805()
   {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
index 40b9591..37ad8dd 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
@@ -16,17 +16,20 @@
  */
 package org.apache.geode.internal.cache.tier.sockets;
 
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.junit.Assert.*;
+import static org.apache.geode.distributed.ConfigurationProperties.DURABLE_CLIENT_ID;
+import static org.apache.geode.distributed.ConfigurationProperties.DURABLE_CLIENT_TIMEOUT;
+import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
+import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
 
 import java.util.Collections;
 import java.util.Iterator;
 import java.util.Properties;
 import java.util.Set;
 
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
 import org.apache.geode.cache.Cache;
 import org.apache.geode.cache.CacheException;
 import org.apache.geode.cache.InterestResultPolicy;
@@ -51,6 +54,9 @@ import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
 
 /**
  * We have 2 servers and One client which registers some keys with durable
@@ -382,6 +388,7 @@ public class DurableRegistrationDUnitTest extends JUnit4DistributedTestCase {
 
   }
 
+  @Category(FlakyTest.class) // GEODE-1537
   @Test
   public void testDurableClientWithRegistrationHA() {
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
index 3dad5bc..8020479 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
@@ -1425,7 +1425,7 @@ private void waitForAsyncQueueToGetEmpty() {
    * killed and subsequently vm3 is brought up. Buckets are now rebalanced
    * between vm1 & vm3.
    */
-  @Category(FlakyTest.class) // GEODE-688 & GEODE-713: random ports, thread sleeps, async actions
+  @Category(FlakyTest.class) // GEODE-688: random ports, thread sleeps, async actions
   @Test
   public void testParallelAsyncEventQueueHA_Scenario2() {
     Integer lnPort = (Integer)vm0.invoke(() -> AsyncEventQueueTestBase.createFirstLocatorWithDSId( 1 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/CompositeTypeTestDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/CompositeTypeTestDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/CompositeTypeTestDUnitTest.java
index 4c3627e..914aef0 100644
--- a/geode-core/src/test/java/org/apache/geode/management/CompositeTypeTestDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/CompositeTypeTestDUnitTest.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
@@ -53,6 +53,7 @@ public class CompositeTypeTestDUnitTest extends ManagementTestBase {
   
   private static ObjectName objectName;
 
+  @Category(FlakyTest.class) // GEODE-1492
   @Test
   public void testCompositeTypeGetters() throws Exception{
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/MemberMBeanAttributesDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/MemberMBeanAttributesDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/MemberMBeanAttributesDUnitTest.java
index 074234f..d1d6fff 100644
--- a/geode-core/src/test/java/org/apache/geode/management/MemberMBeanAttributesDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/MemberMBeanAttributesDUnitTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.lang.management.ManagementFactory;
 
@@ -105,6 +106,7 @@ public class MemberMBeanAttributesDUnitTest extends ManagementTestBase {
     isOSRelatedAttrsOK(managedNodeList.get(0));
   }
   
+  @Category(FlakyTest.class) // GEODE-1482
   @Test
   public void testConfigAttributes() throws Exception {
     initManagement(false);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/QueryDataDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/QueryDataDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/QueryDataDUnitTest.java
index 5efc47a..f4b135e 100644
--- a/geode-core/src/test/java/org/apache/geode/management/QueryDataDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/QueryDataDUnitTest.java
@@ -16,19 +16,13 @@
  */
 package org.apache.geode.management;
 
-import org.junit.experimental.categories.Category;
-import org.junit.Test;
-
-import static org.junit.Assert.*;
-
-import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
-import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
-import org.apache.geode.test.junit.categories.DistributedTest;
-
 import static org.apache.geode.cache.query.Utils.createPortfoliosAndPositions;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.IOException;
-import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
@@ -38,17 +32,13 @@ import org.apache.geode.cache.Cache;
 import org.apache.geode.cache.CacheException;
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.DataPolicy;
-import org.apache.geode.cache.EntryOperation;
 import org.apache.geode.cache.FixedPartitionAttributes;
 import org.apache.geode.cache.PartitionAttributesFactory;
-import org.apache.geode.cache.PartitionResolver;
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.RegionFactory;
 import org.apache.geode.cache.RegionShortcut;
 import org.apache.geode.cache.query.data.Portfolio;
-import org.apache.geode.cache.query.dunit.QueryAPITestPartitionResolver;
 import org.apache.geode.cache.query.dunit.QueryUsingFunctionContextDUnitTest;
-import org.apache.geode.cache.query.partitioned.PRQueryDUnitHelper;
 import org.apache.geode.cache30.CacheSerializableRunnable;
 import org.apache.geode.distributed.DistributedMember;
 import org.apache.geode.internal.cache.BucketRegion;
@@ -68,10 +58,13 @@ import org.apache.geode.test.dunit.LogWriterUtils;
 import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
-
+import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.json.JSONArray;
 import org.json.JSONException;
 import org.json.JSONObject;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
 
 /**
  * 
@@ -428,6 +421,7 @@ public class QueryDataDUnitTest extends ManagementTestBase {
     });
   }
   
+  @Category(FlakyTest.class) // GEODE-1539
   @Test
   public void testMemberWise() throws Exception {
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/RegionCreateDestroyDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/RegionCreateDestroyDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/RegionCreateDestroyDUnitTest.java
index 897fef5..905ae14 100644
--- a/geode-core/src/test/java/org/apache/geode/management/RegionCreateDestroyDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/RegionCreateDestroyDUnitTest.java
@@ -41,6 +41,7 @@ import org.apache.geode.test.dunit.RMIException;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 
 @Category({ DistributedTest.class, SecurityTest.class })
@@ -92,6 +93,7 @@ public class RegionCreateDestroyDUnitTest extends JUnit4CacheTestCase {
     return props;
   }
 
+  @Category(FlakyTest.class) // GEODE-1922
   @Test
   public void testCreateDestroyValidRegion() throws InterruptedException {
     Cache serverCache = getCache();
@@ -139,6 +141,7 @@ public class RegionCreateDestroyDUnitTest extends JUnit4CacheTestCase {
     });
   }
 
+  @Category(FlakyTest.class) // GEODE-1878
   @Test
   public void testCreateDestroyReservedRegion() throws InterruptedException {
     Cache serverCache = getCache();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/RegionManagementDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/RegionManagementDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/RegionManagementDUnitTest.java
index 347d08d..f042f2c 100644
--- a/geode-core/src/test/java/org/apache/geode/management/RegionManagementDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/RegionManagementDUnitTest.java
@@ -61,6 +61,7 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 /**
  * This class checks and verifies various data and operations exposed through
@@ -123,6 +124,7 @@ public class RegionManagementDUnitTest extends ManagementTestBase {
    * @throws Exception
    */
 
+  @Category(FlakyTest.class) // GEODE-1538
   @Test
   public void testDistributedRegion() throws Exception {
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java
index 128bef1..ddc37df 100644
--- a/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/UniversalMembershipListenerAdapterDUnitTest.java
@@ -60,6 +60,7 @@ import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 /**
  * Tests the UniversalMembershipListenerAdapter.
@@ -1409,6 +1410,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends ClientServerTes
    * Tests notification of events for bridge server in system bridge client
    * process.
    */
+  @Category(FlakyTest.class) // GEODE-1879
   @Test
   public void testServerEventsInPeerSystem() throws Exception {
     try {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ConfigCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ConfigCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ConfigCommandsDUnitTest.java
index 20455f5..f2f7154 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ConfigCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ConfigCommandsDUnitTest.java
@@ -34,6 +34,7 @@ import org.apache.geode.management.internal.cli.result.CommandResult;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.test.dunit.*;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -156,6 +157,7 @@ public class ConfigCommandsDUnitTest extends CliCommandTestBase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1449
   @Test
   public void testExportConfig() throws Exception {
     Properties localProps = new Properties();
@@ -296,6 +298,7 @@ public class ConfigCommandsDUnitTest extends CliCommandTestBase {
     Result result = commandProcessor.createCommandStatement("alter runtime", Collections.EMPTY_MAP).process();
   }
 
+  @Category(FlakyTest.class) // GEODE-1313
   @Test
   public void testAlterRuntimeConfigRandom() throws Exception {
     final String member1 = "VM1";

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
index fdf8e73..34031a1 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
@@ -16,10 +16,23 @@
  */
 package org.apache.geode.management.internal.cli.commands;
 
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.apache.geode.test.dunit.Assert.*;
-import static org.apache.geode.test.dunit.LogWriterUtils.*;
-import static org.apache.geode.test.dunit.Wait.*;
+import static org.apache.geode.distributed.ConfigurationProperties.ENABLE_CLUSTER_CONFIGURATION;
+import static org.apache.geode.distributed.ConfigurationProperties.GROUPS;
+import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
+import static org.apache.geode.distributed.ConfigurationProperties.LOG_LEVEL;
+import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.NAME;
+import static org.apache.geode.distributed.ConfigurationProperties.START_LOCATOR;
+import static org.apache.geode.distributed.ConfigurationProperties.USE_CLUSTER_CONFIGURATION;
+import static org.apache.geode.test.dunit.Assert.fail;
+import static org.apache.geode.test.dunit.LogWriterUtils.getLogWriter;
+import static org.apache.geode.test.dunit.Wait.waitForCriterion;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 
 import java.io.File;
 import java.io.IOException;
@@ -32,9 +45,6 @@ import java.util.StringTokenizer;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.TimeUnit;
 
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
 import org.apache.geode.cache.Cache;
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.DataPolicy;
@@ -75,6 +85,8 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
 import org.apache.geode.test.junit.categories.FlakyTest;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
 
 /**
  * The DiskStoreCommandsDUnitTest class is a distributed test suite of test cases for testing the disk store commands
@@ -676,6 +688,7 @@ public class DiskStoreCommandsDUnitTest extends CliCommandTestBase {
   /**
    * Asserts that creating and destroying disk stores correctly updates the shared configuration.
    */
+  @Category(FlakyTest.class) // GEODE-1406
   @Test
   public void testCreateDestroyUpdatesSharedConfig() {
     disconnectAllFromDS();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
index 429b675..5417ccb 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
@@ -832,6 +832,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
   }
 
   @Test
+  @Category(FlakyTest.class) // GEODE-1249
   public void testSimplePutIfAbsentCommand() {
     final String keyPrefix = "testKey";
     final String valuePrefix = "testValue";
@@ -892,6 +893,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
 
   }
 
+  @Category(FlakyTest.class) // GEODE-1496 (http)
   @Test
   public void testSimpleRemoveCommand() {
     final String keyPrefix = "testKey";
@@ -1120,6 +1122,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1822
   @Test
   public void testGetLocateEntryLocationsForPR() {
     final String keyPrefix = "testKey";
@@ -1334,6 +1337,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1430
   @Test
   public void testPutJsonKeys() {
     final String keyPrefix = "testKey";
@@ -1534,6 +1538,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
     return regionFactory.create(regionName);
   }
 
+  @Category(FlakyTest.class) // GEODE-1404
   @Test
   public void testImportExportData() throws InterruptedException, IOException {
     final String regionName = "Region1";
@@ -1832,6 +1837,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1561
   @Test
   public void testSimulateForEntireDS() {
     setupTestRebalanceForEntireDS();
@@ -1880,6 +1886,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1487
   @Test
   public void testRebalanceForEntireDS() {
     setupTestRebalanceForEntireDS();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/IndexCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/IndexCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/IndexCommandsDUnitTest.java
index 16b887e..fb8435e 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/IndexCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/IndexCommandsDUnitTest.java
@@ -333,6 +333,7 @@ public class IndexCommandsDUnitTest extends CliCommandTestBase {
     assertFalse(resultAsString.contains(VM1Name));
   }
 
+  @Category(FlakyTest.class) // GEODE-1684
   @Test
   public void testCreateAndDestroyIndexOnGroup() {
     setupSystem();
@@ -520,6 +521,7 @@ public class IndexCommandsDUnitTest extends CliCommandTestBase {
     assertTrue(commandResult.getStatus().equals(Status.ERROR));
   }
 
+  @Category(FlakyTest.class) // GEODE-1315
   @Test
   public void testDestroyIndexWithoutIndexName() {
     setupSystem();
@@ -582,6 +584,7 @@ public class IndexCommandsDUnitTest extends CliCommandTestBase {
   /**
    * Asserts that creating and destroying indexes correctly updates the shared configuration.
    */
+  @Category(FlakyTest.class) // GEODE-1954
   @Test
   public void testCreateDestroyUpdatesSharedConfig() {
     disconnectAllFromDS();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
index db427c0..093ac2e 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
@@ -220,6 +220,7 @@ public class MiscellaneousCommandsDUnitTest extends CliCommandTestBase {
     });
   }
 
+  @Category(FlakyTest.class) // GEODE-1706
   @Test
   public void testShutDownWithoutTimeout() {
 
@@ -289,7 +290,7 @@ public class MiscellaneousCommandsDUnitTest extends CliCommandTestBase {
     assertFalse(defaultShell.isConnectedAndReady());
   }
 
-  @Category(FlakyTest.class) // GEODE-1385: time sensitive, HeadlessGfsh
+  @Category(FlakyTest.class) // GEODE-1385, 1518: time sensitive, HeadlessGfsh
   @Test
   public void testShutDownForTIMEOUT() {
     setupForShutDown();
@@ -393,6 +394,7 @@ public class MiscellaneousCommandsDUnitTest extends CliCommandTestBase {
     assertTrue(Boolean.FALSE.equals(vm0.invoke(connectedChecker)));
   }
 
+  @Category(FlakyTest.class) // GEODE-1605
   @Test
   public void testChangeLogLevelForMembers() {
     final VM vm0 = Host.getHost(0).getVM(0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart1DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart1DUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart1DUnitTest.java
index 4577eda..9f270f9 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart1DUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart1DUnitTest.java
@@ -36,7 +36,7 @@ import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -104,6 +104,7 @@ public class MiscellaneousCommandsExportLogsPart1DUnitTest extends CliCommandTes
     FileUtil.delete(new File("./testExportLogs" + dir));
   }
 
+  @Category(FlakyTest.class) // GEODE-1477 (http)
   @Test
   public void testExportLogsForMerge() throws IOException {
     setupForExportLogs();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart4DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart4DUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart4DUnitTest.java
index 75fd18a..9fdbedf 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart4DUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart4DUnitTest.java
@@ -36,7 +36,7 @@ import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
-
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -104,6 +104,7 @@ public class MiscellaneousCommandsExportLogsPart4DUnitTest extends CliCommandTes
     FileUtil.delete(new File("testExportLogsForTimeRange1" + dir));
   }
 
+  @Category(FlakyTest.class) // GEODE-1500 (http)
   @Test
   public void testExportLogsForTimeRangeForOnlyStartTime() throws IOException {
     setupForExportLogs();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueueCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueueCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueueCommandsDUnitTest.java
index 9a742ff..3a6a31a 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueueCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/QueueCommandsDUnitTest.java
@@ -35,6 +35,7 @@ import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -69,6 +70,7 @@ public class QueueCommandsDUnitTest extends CliCommandTestBase {
     disconnectAllFromDS();
   }
 
+  @Category(FlakyTest.class) // GEODE-1429
   @Test
   public void testAsyncEventQueue() throws IOException {
     final String queue1Name = "testAsyncEventQueue1";

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
index bb4596c..a92e2d6 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/SharedConfigurationCommandsDUnitTest.java
@@ -35,6 +35,7 @@ import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -122,6 +123,7 @@ public class SharedConfigurationCommandsDUnitTest extends CliCommandTestBase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1519
   @Test
   public void testExportImportSharedConfiguration() throws IOException {
     // Start the Locator and wait for shared configuration to be available

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsDUnitTest.java
index 0ccfe60..c27a9c8 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/cli/commands/ShowMetricsDUnitTest.java
@@ -31,6 +31,7 @@ import org.apache.geode.management.internal.cli.remote.CommandProcessor;
 import org.apache.geode.management.internal.cli.result.CommandResult;
 import org.apache.geode.test.dunit.*;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -206,6 +207,7 @@ public class ShowMetricsDUnitTest extends CliCommandTestBase {
     return waitCriterion;
   }
 
+  @Category(FlakyTest.class) // GEODE-1764
   @Test
   public void testShowMetricsMember() throws ClassNotFoundException, IOException, InterruptedException {
     systemSetUp();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthorizationJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthorizationJUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthorizationJUnitTest.java
index 30ce8a2..7bbfbcc 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthorizationJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/security/CacheServerMBeanAuthorizationJUnitTest.java
@@ -26,10 +26,11 @@ import org.junit.experimental.categories.Category;
 
 import org.apache.geode.internal.AvailablePort;
 import org.apache.geode.management.CacheServerMXBean;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.IntegrationTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 
-@Category({ IntegrationTest.class, SecurityTest.class })
+@Category({ IntegrationTest.class, SecurityTest.class, FlakyTest.class }) // GEODE-1953
 public class CacheServerMBeanAuthorizationJUnitTest {
 
   private static int jmxManagerPort = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/management/internal/security/MultiUserDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/management/internal/security/MultiUserDUnitTest.java b/geode-core/src/test/java/org/apache/geode/management/internal/security/MultiUserDUnitTest.java
index adbd0cf..e269938 100644
--- a/geode-core/src/test/java/org/apache/geode/management/internal/security/MultiUserDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/management/internal/security/MultiUserDUnitTest.java
@@ -42,11 +42,13 @@ import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 
 @Category({ DistributedTest.class, SecurityTest.class })
 public class MultiUserDUnitTest extends CliCommandTestBase {
 
+  @Category(FlakyTest.class) // GEODE-1579
   @Test
   public void testMultiUser() throws IOException, JSONException, InterruptedException {
     Properties properties = new Properties();



[3/4] incubator-geode git commit: Add FlakyTest category to tests with open bugs

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java b/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java
index ddfac6a..2db84b8 100755
--- a/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/redis/HashesJUnitTest.java
@@ -19,6 +19,7 @@ package org.apache.geode.redis;
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.cache.GemFireCache;
 import org.apache.geode.internal.AvailablePortHelper;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.IntegrationTest;
 
 import org.apache.geode.redis.GeodeRedisServer;
@@ -131,6 +132,7 @@ public class HashesJUnitTest {
     assertTrue(retSet.containsAll(keys));
   }
 
+  @Category(FlakyTest.class) // GEODE-1942
   @Test
   public void testHIncrBy() {
     String key = randString();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/redis/RedisDistDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/redis/RedisDistDUnitTest.java b/geode-core/src/test/java/org/apache/geode/redis/RedisDistDUnitTest.java
index 4e42b1f..165e269 100644
--- a/geode-core/src/test/java/org/apache/geode/redis/RedisDistDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/redis/RedisDistDUnitTest.java
@@ -204,6 +204,7 @@ public class RedisDistDUnitTest extends JUnit4DistributedTestCase {
   /**
    * Just make sure there are no unexpected server crashes
    */
+  @Category(FlakyTest.class) // GEODE-1697
   @Test
   public void testConcOps() throws Exception {
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationDUnitTest.java b/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationDUnitTest.java
index 94d1526..053bb2e 100644
--- a/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/ClientAuthenticationDUnitTest.java
@@ -51,6 +51,7 @@ public class ClientAuthenticationDUnitTest extends ClientAuthenticationTestCase
     doTestInvalidCredentials(false);
   }
 
+  @Category(FlakyTest.class) // GEODE-1683
   @Test
   public void testInvalidAuthInit() throws Exception {
     doTestInvalidAuthInit(false);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/security/DeltaClientPostAuthorizationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/DeltaClientPostAuthorizationDUnitTest.java b/geode-core/src/test/java/org/apache/geode/security/DeltaClientPostAuthorizationDUnitTest.java
index ba27840..61708c8 100644
--- a/geode-core/src/test/java/org/apache/geode/security/DeltaClientPostAuthorizationDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/DeltaClientPostAuthorizationDUnitTest.java
@@ -40,6 +40,7 @@ import org.apache.geode.security.generator.AuthzCredentialGenerator;
 import org.apache.geode.security.generator.CredentialGenerator;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 
 /**
@@ -64,6 +65,7 @@ public class DeltaClientPostAuthorizationDUnitTest extends ClientAuthorizationTe
     closeCache();
   }
 
+  @Category(FlakyTest.class) // GEODE-1502
   @Test
   public void testPutPostOpNotifications() throws Exception {
     OperationWithAction[] allOps = allOps();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/security/IntegratedClientAuthDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/IntegratedClientAuthDUnitTest.java b/geode-core/src/test/java/org/apache/geode/security/IntegratedClientAuthDUnitTest.java
index 6809942..2aa633c 100644
--- a/geode-core/src/test/java/org/apache/geode/security/IntegratedClientAuthDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/IntegratedClientAuthDUnitTest.java
@@ -28,11 +28,13 @@ import org.apache.geode.cache.client.ClientRegionFactory;
 import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.test.dunit.IgnoredException;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 
 @Category({ DistributedTest.class, SecurityTest.class })
 public class IntegratedClientAuthDUnitTest extends AbstractSecureServerDUnitTest {
 
+  @Category(FlakyTest.class) // GEODE-1877
   @Test
   public void authWithCorrectPasswordShouldPass() {
     client1.invoke("logging in super-user with correct password", () -> {
@@ -46,6 +48,7 @@ public class IntegratedClientAuthDUnitTest extends AbstractSecureServerDUnitTest
     });
   }
 
+  @Category(FlakyTest.class) // GEODE-1875
   @Test
   public void authWithIncorrectPasswordShouldFail() {
     IgnoredException.addIgnoredException(AuthenticationFailedException.class.getName());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/security/IntegratedClientRegionClearAuthDistributedTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/IntegratedClientRegionClearAuthDistributedTest.java b/geode-core/src/test/java/org/apache/geode/security/IntegratedClientRegionClearAuthDistributedTest.java
index eda16b7..4c4112d 100644
--- a/geode-core/src/test/java/org/apache/geode/security/IntegratedClientRegionClearAuthDistributedTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/IntegratedClientRegionClearAuthDistributedTest.java
@@ -25,11 +25,13 @@ import org.apache.geode.cache.client.ClientCacheFactory;
 import org.apache.geode.cache.client.ClientRegionShortcut;
 import org.apache.geode.test.dunit.SerializableRunnable;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 
 @Category({ DistributedTest.class, SecurityTest.class })
 public class IntegratedClientRegionClearAuthDistributedTest extends AbstractSecureServerDUnitTest {
 
+  @Category(FlakyTest.class) // GEODE-1876
   @Test
   public void testRegionClear() throws InterruptedException {
     // Verify that an unauthorized user can't clear the region

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleDistributedTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleDistributedTest.java b/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleDistributedTest.java
index 040bbf0..dc2ab8f 100644
--- a/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleDistributedTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleDistributedTest.java
@@ -34,6 +34,7 @@ import org.apache.geode.test.dunit.NetworkUtils;
 import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -78,6 +79,7 @@ public class IntegratedSecurityCacheLifecycleDistributedTest extends JUnit4Cache
     });
   }
 
+  @Category(FlakyTest.class) // GEODE-1662
   @Test
   public void initAndCloseTest() throws Exception {
     connect();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleIntegrationTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleIntegrationTest.java b/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleIntegrationTest.java
index 0411580..2295552 100644
--- a/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleIntegrationTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/IntegratedSecurityCacheLifecycleIntegrationTest.java
@@ -16,9 +16,10 @@
  */
 package org.apache.geode.security;
 
-import static org.apache.geode.distributed.ConfigurationProperties.*;
-import static org.assertj.core.api.Assertions.*;
-import static org.mockito.Mockito.*;
+import static org.apache.geode.distributed.ConfigurationProperties.LOCATORS;
+import static org.apache.geode.distributed.ConfigurationProperties.MCAST_PORT;
+import static org.apache.geode.distributed.ConfigurationProperties.SECURITY_MANAGER;
+import static org.assertj.core.api.Assertions.assertThat;
 
 import java.util.Properties;
 
@@ -26,9 +27,9 @@ import org.apache.geode.cache.Cache;
 import org.apache.geode.cache.CacheFactory;
 import org.apache.geode.internal.security.IntegratedSecurityService;
 import org.apache.geode.internal.security.SecurityService;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.IntegrationTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -63,6 +64,7 @@ public class IntegratedSecurityCacheLifecycleIntegrationTest {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1661
   @Test
   public void initAndCloseTest () {
     SpySecurityManager ssm = (SpySecurityManager)securityService.getSecurityManager();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-core/src/test/java/org/apache/geode/security/PDXPostProcessorDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/security/PDXPostProcessorDUnitTest.java b/geode-core/src/test/java/org/apache/geode/security/PDXPostProcessorDUnitTest.java
index db9f717..cf0df1b 100644
--- a/geode-core/src/test/java/org/apache/geode/security/PDXPostProcessorDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/security/PDXPostProcessorDUnitTest.java
@@ -50,6 +50,7 @@ import org.apache.geode.management.internal.cli.result.CommandResult;
 import org.apache.geode.management.internal.cli.util.CommandStringBuilder;
 import org.apache.geode.pdx.SimpleClass;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 import org.apache.geode.test.junit.categories.SecurityTest;
 import org.apache.geode.test.junit.runners.CategoryWithParameterizedRunnerFactory;
 
@@ -179,6 +180,7 @@ public class PDXPostProcessorDUnitTest extends AbstractSecureServerDUnitTest {
     assertEquals(pp.getCount(), 2);
   }
 
+  @Category(FlakyTest.class) // GEODE-1719
   @Test
   public void testGfshCommand(){
     // have client2 input some domain data into the region

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqResultSetUsingPoolDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqResultSetUsingPoolDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqResultSetUsingPoolDUnitTest.java
index 6e2fc74..d939de7 100644
--- a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqResultSetUsingPoolDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/CqResultSetUsingPoolDUnitTest.java
@@ -24,6 +24,7 @@ import static org.junit.Assert.*;
 import org.apache.geode.test.dunit.cache.internal.JUnit4CacheTestCase;
 import org.apache.geode.test.dunit.internal.JUnit4DistributedTestCase;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 import java.util.Collection;
 import java.util.HashSet;
@@ -961,6 +962,7 @@ public class CqResultSetUsingPoolDUnitTest extends JUnit4CacheTestCase {
    * 
    * @throws Exception
    */
+  @Category(FlakyTest.class) // GEODE-1251
   @Test
   public void testCqResultsCachingWithFailOver() throws Exception
   {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/PrCqUsingPoolDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/PrCqUsingPoolDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/PrCqUsingPoolDUnitTest.java
index 45a43af..c6d3cdf 100644
--- a/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/PrCqUsingPoolDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/cache/query/cq/dunit/PrCqUsingPoolDUnitTest.java
@@ -1274,7 +1274,7 @@ public class PrCqUsingPoolDUnitTest extends JUnit4CacheTestCase {
    * thus making the query data and region data inconsistent.
    * @throws Exception
    */
-  @Category(FlakyTest.class) // GEODE-1181: random ports, eats exceptions (fixed some), async behavior
+  @Category(FlakyTest.class) // GEODE-1181, 1253: random ports, eats exceptions (fixed some), async behavior
   @Test
   public void testEventsDuringQueryExecution() throws Exception {
     final Host host = Host.getHost(0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-cq/src/test/java/org/apache/geode/internal/cache/PutAllCSDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/org/apache/geode/internal/cache/PutAllCSDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/internal/cache/PutAllCSDUnitTest.java
index ef82cd5..9d0ed09 100755
--- a/geode-cq/src/test/java/org/apache/geode/internal/cache/PutAllCSDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/internal/cache/PutAllCSDUnitTest.java
@@ -93,6 +93,7 @@ import org.apache.geode.test.dunit.VM;
 import org.apache.geode.test.dunit.Wait;
 import org.apache.geode.test.dunit.WaitCriterion;
 import org.apache.geode.test.junit.categories.DistributedTest;
+import org.apache.geode.test.junit.categories.FlakyTest;
 
 /**
  * Tests putAll for c/s. Also tests removeAll
@@ -3508,6 +3509,7 @@ public class PutAllCSDUnitTest extends ClientServerTestCase {
   /**
    * basically same test as testVersionsOnClientsWithNotificationsOnly but also do a removeAll
    */
+  @Category(FlakyTest.class) // GEODE-1419
   @Test
   public void testRAVersionsOnClientsWithNotificationsOnly() {
     final String title = "testRAVersionsInClients";


[2/4] incubator-geode git commit: Add FlakyTest category to tests with open bugs

Posted by ab...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8929e93b/geode-cq/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java b/geode-cq/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
index 4362ce1..166d23b 100644
--- a/geode-cq/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
+++ b/geode-cq/src/test/java/org/apache/geode/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
@@ -1,3342 +1,3347 @@
-/*
- * 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.internal.cache.tier.sockets;
-
-import static org.apache.geode.internal.cache.tier.sockets.CacheServerTestUtil.TYPE_CREATE;
-import static org.apache.geode.test.dunit.Assert.*;
-
-import java.util.Iterator;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.geode.cache.ClientSession;
-import org.apache.geode.internal.cache.ha.HARegionQueue;
-import org.apache.geode.internal.cache.ha.HARegionQueueStats;
-import com.jayway.awaitility.Awaitility;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-import org.apache.geode.cache.CacheException;
-import org.apache.geode.cache.InterestResultPolicy;
-import org.apache.geode.cache.Region;
-import org.apache.geode.cache.client.Pool;
-import org.apache.geode.cache.client.PoolManager;
-import org.apache.geode.cache.client.ServerRefusedConnectionException;
-import org.apache.geode.cache.client.internal.PoolImpl;
-import org.apache.geode.cache.query.CqAttributes;
-import org.apache.geode.cache.query.CqAttributesFactory;
-import org.apache.geode.cache.query.CqException;
-import org.apache.geode.cache.query.CqExistsException;
-import org.apache.geode.cache.query.CqListener;
-import org.apache.geode.cache.query.CqQuery;
-import org.apache.geode.cache.query.QueryService;
-import org.apache.geode.cache.query.RegionNotFoundException;
-import org.apache.geode.cache30.CacheSerializableRunnable;
-import org.apache.geode.distributed.internal.DistributionConfig;
-import org.apache.geode.internal.cache.ClientServerObserver;
-import org.apache.geode.internal.cache.ClientServerObserverAdapter;
-import org.apache.geode.internal.cache.ClientServerObserverHolder;
-import org.apache.geode.internal.cache.PoolFactoryImpl;
-import org.apache.geode.internal.i18n.LocalizedStrings;
-import org.apache.geode.test.dunit.Assert;
-import org.apache.geode.test.dunit.AsyncInvocation;
-import org.apache.geode.test.dunit.IgnoredException;
-import org.apache.geode.test.dunit.LogWriterUtils;
-import org.apache.geode.test.dunit.NetworkUtils;
-import org.apache.geode.test.dunit.VM;
-import org.apache.geode.test.dunit.Wait;
-import org.apache.geode.test.dunit.WaitCriterion;
-import org.apache.geode.test.junit.categories.DistributedTest;
-import org.apache.geode.test.junit.categories.FlakyTest;
-
-@Category(DistributedTest.class)
-public class DurableClientSimpleDUnitTest extends DurableClientTestCase {
-
-  /**
-   * Test that a durable client correctly receives updates.
-   */
-  @Test
-  public void testSimpleDurableClientUpdate() {
-    // Start a server
-    int serverPort = ((Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-
-    // Start a durable client that is not kept alive on the server when it stops
-    // normally
-    final String durableClientId = getName() + "_client";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Have the durable client register interest in all keys
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Register interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.NONE, true);
-      }
-    });
-
-    // Start normal publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), serverPort, false), regionName));
-
-    // Publish some entries
-    final int numberOfEntries = 10;
-    publishEntries(numberOfEntries);
-
-    // Verify the durable client received the updates
-    verifyDurableClientEvents(this.durableClientVM, numberOfEntries);
-
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-
-  /**
-   * Test that a durable client VM with multiple BridgeClients correctly
-   * registers on the server.
-   */
-  @Test
-  public void testMultipleBridgeClientsInSingleDurableVM() {
-    // Start a server
-    int serverPort = ((Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-
-    // Start a durable client with 2 regions (and 2 BridgeClients) that is not
-    // kept alive on the server when it stops normally
-    final String durableClientId = getName() + "_client";
-    final String regionName1 = regionName + "1";
-    final String regionName2 = regionName + "2";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClients(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), serverPort, true), regionName1, regionName2, getClientDistributedSystemProperties(durableClientId)));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        assertEquals(2, PoolManager.getAll().size());
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Verify durable clients on server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {       
-        // Get the CacheClientNotifier
-        CacheClientNotifier notifier = getBridgeServer().getAcceptor()
-            .getCacheClientNotifier();
-        
-        // Iterate the CacheClientProxies
-        checkNumberOfClientProxies(2);
-        String firstProxyRegionName = null;
-        for (Iterator i = notifier.getClientProxies().iterator(); i.hasNext();) {
-          CacheClientProxy proxy = (CacheClientProxy) i.next();
-          assertTrue(proxy.isDurable());
-          assertEquals(durableClientId, proxy.getDurableId());
-          assertEquals(DistributionConfig.DEFAULT_DURABLE_CLIENT_TIMEOUT, proxy.getDurableTimeout());
-          
-          // Verify the two HA region names aren't the same
-          if (firstProxyRegionName == null) {
-            firstProxyRegionName = proxy.getHARegionName();
-          } else {
-            assertTrue(!firstProxyRegionName.equals(proxy.getHARegionName()));
-          }
-        }
-      }
-    });
-    
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Verify the durable client is no longer on the server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(0);
-      }
-    });
-    
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-  
-  /**
-   * Test that a second VM with the same durable id cannot connect to the server
-   * while the first VM is connected. Also, verify that the first client is not
-   * affected by the second one attempting to connect.
-   */
-  @Ignore("TODO: test is disabled")
-  @Test
-  public void testMultipleVMsWithSameDurableId() {
-    // Start a server
-    final int serverPort = ((Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-
-    // Start a durable client that is not kept alive on the server when it
-    // stops normally
-    final String durableClientId = getName() + "_client";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Have the durable client register interest in all keys
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Register interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.NONE);
-      }
-    });
-
-    // Attempt to start another durable client VM with the same id.
-    this.publisherClientVM.invoke(new CacheSerializableRunnable("Create another durable client") {
-      @Override
-      public void run2() throws CacheException {
-        getSystem(getClientDistributedSystemProperties(durableClientId));
-        PoolFactoryImpl pf = (PoolFactoryImpl)PoolManager.createFactory();
-        pf.init(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), serverPort, true));
-        try {
-          pf.create("uncreatablePool");
-          fail("Should not have been able to create the pool");
-        } catch (ServerRefusedConnectionException expected) {
-          // expected exception
-          disconnectFromDS();
-        } catch (Exception e) {
-          Assert.fail("Should not have gotten here", e);
-        }
-      }
-    });
-
-    // Verify durable client on server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-        
-        // Verify that it is durable and its properties are correct
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-        assertEquals(DistributionConfig.DEFAULT_DURABLE_CLIENT_TIMEOUT, proxy.getDurableTimeout());
-      }
-    });
-    
-    // Start normal publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), serverPort, false), regionName));
-
-    // Publish some entries
-    final int numberOfEntries = 10;
-    publishEntries(numberOfEntries);
-      
-    // Verify the durable client received the updates
-    verifyDurableClientEvents(this.durableClientVM, numberOfEntries);
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-
-  /**
-   * Test that the server correctly processes starting two durable clients.
-   */
-  @Test
-  public void testSimpleTwoDurableClients() {
-    // Start a server
-    int serverPort = ((Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-
-    // Start a durable client that is not kept alive on the server when it
-    // stops normally
-    final String durableClientId = getName() + "_client";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId)));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Start another durable client that is not kept alive on the server when
-    // it stops normally. Use the 'publisherClientVM' as a durable client.
-    VM durableClient2VM = this.publisherClientVM;
-    final String durableClientId2 = getName() + "_client2";
-    durableClient2VM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClient2VM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId2)));
-    
-    // Send clientReady message
-    durableClient2VM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Verify durable clients on server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the CacheClientNotifier
-        CacheClientNotifier notifier = getBridgeServer().getAcceptor()
-            .getCacheClientNotifier();
-        
-        // Iterate the CacheClientProxies and verify they are correct
-        checkNumberOfClientProxies(2);
-        boolean durableClient1Found=false, durableClient2Found=false;
-        for (Iterator i = notifier.getClientProxies().iterator(); i.hasNext();) {
-          CacheClientProxy proxy = (CacheClientProxy) i.next();
-          assertTrue(proxy.isDurable());
-          if (proxy.getDurableId().equals(durableClientId)) {
-            durableClient1Found = true;
-          }
-          if (proxy.getDurableId().equals(durableClientId2)) {
-            durableClient2Found = true;
-          }
-          assertEquals(DistributionConfig.DEFAULT_DURABLE_CLIENT_TIMEOUT, proxy.getDurableTimeout());
-        }
-        assertTrue(durableClient1Found);
-        assertTrue(durableClient2Found);
-      }
-    });
-    
-    // Stop the durable clients
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    durableClient2VM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-  
-  /**
-   * Test that starting a durable client on multiple servers (one live and one
-   * not live) is processed correctly.
-   */
-  @Ignore("TODO: test is disabled for bug 52043")
-  @Test
-  public void testDurableClientMultipleServersOneLive() {
-    // Start server 1
-    final int server1Port = ((Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-
-    // Start server 2
-    final int server2Port = ((Integer) this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-    
-    // Stop server 2
-    this.server2VM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Start a durable client that is kept alive on the server when it stops
-    // normally
-    final String durableClientId = getName() + "_client";
-    final int durableClientTimeout = 60; // keep the client alive for 60 seconds
-    //final boolean durableClientKeepAlive = true; // keep the client alive when it stops normally
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), server1Port, server2Port, true), regionName, getClientDistributedSystemProperties(durableClientId, durableClientTimeout), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Have the durable client register interest in all keys
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Register interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.NONE, true);
-      }
-    });
-
-    // Verify durable client on server1
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-
-        // Verify that it is durable and its properties are correct
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-        assertEquals(durableClientTimeout, proxy.getDurableTimeout());
-      }
-    });
-
-    // Start normal publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), server1Port, server2Port, false), regionName));
-
-    // Publish some entries
-    final int numberOfEntries = 10;
-    publishEntries(numberOfEntries);
-    
-    // Verify the durable client received the updates
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Verify updates") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Get the listener and wait for the appropriate number of events
-        CacheServerTestUtil.ControlListener listener = (CacheServerTestUtil.ControlListener) region
-                .getAttributes().getCacheListeners()[0];
-        listener.waitWhileNotEnoughEvents(30000, numberOfEntries);
-        assertEquals("Events were" + listener.events, numberOfEntries, listener.events.size());
-      }
-    });
-    
-    try {
-      Thread.sleep(10000);
-    }
-    catch (InterruptedException ex) {
-      fail("interrupted", ex);
-    }
-    
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache(new Boolean(true)));
-    
-    // Verify the durable client still exists on the server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-      }
-    });
-
-    // Publish some more entries
-    publishEntries(numberOfEntries);
-    
-    // Re-start the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), server1Port, server2Port, true), regionName, getClientDistributedSystemProperties(durableClientId), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Verify durable client on server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-        
-        // Verify that it is durable and its properties are correct
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-      }
-    });
-        
-    // Verify the durable client received the updates held for it on the server
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Verify updates") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Get the listener and wait for the appropriate number of events
-        CacheServerTestUtil.ControlListener listener = (CacheServerTestUtil.ControlListener) region
-                .getAttributes().getCacheListeners()[0];
-        listener.waitWhileNotEnoughEvents(30000, numberOfEntries);
-        assertEquals("Events were" + listener.events, numberOfEntries, listener.events.size());
-      }
-    });
-    
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop server 1
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-    
-  /**
-   * Test that updates to two durable clients are processed correctly.
-   */
-  @Test
-  public void testTwoDurableClientsStartStopUpdate() {
-    // Start a server
-    int serverPort = ((Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-
-    // Start a durable client that is kept alive on the server when it stops
-    // normally
-    final String durableClientId = getName() + "_client";
-    final int durableClientTimeout = 60; // keep the client alive for 60 seconds
-    //final boolean durableClientKeepAlive = true; // keep the client alive when it stops normally
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId, durableClientTimeout), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Have the durable client register interest in all keys
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Register interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.NONE, true);
-      }
-    });
-    
-    // Start another durable client that is not kept alive on the server when
-    // it stops normally. Use the 'server2VM' as the second durable client.
-    VM durableClient2VM = this.server2VM;
-    final String durableClientId2 = getName() + "_client2";
-    durableClient2VM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClient2VM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId2, durableClientTimeout), Boolean.TRUE));
-    
-    // Send clientReady message
-    durableClient2VM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Have the durable client register interest in all keys
-    durableClient2VM.invoke(new CacheSerializableRunnable("Register interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.NONE, true);
-      }
-    });
-    
-    // Verify durable clients on server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the CacheClientNotifier
-        CacheClientNotifier notifier = getBridgeServer().getAcceptor()
-            .getCacheClientNotifier();
-        
-        // Iterate the CacheClientProxies and verify they are correct
-        checkNumberOfClientProxies(2);
-        boolean durableClient1Found=false, durableClient2Found=false;
-        for (Iterator i = notifier.getClientProxies().iterator(); i.hasNext();) {
-          CacheClientProxy proxy = (CacheClientProxy) i.next();
-          assertTrue(proxy.isDurable());
-          if (proxy.getDurableId().equals(durableClientId)) {
-            durableClient1Found = true;
-          }
-          if (proxy.getDurableId().equals(durableClientId2)) {
-            durableClient2Found = true;
-          }
-          assertEquals(durableClientTimeout, proxy.getDurableTimeout());
-        }
-        assertTrue(durableClient1Found);
-        assertTrue(durableClient2Found);
-      }
-    });
-    
-    // Start normal publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), serverPort, false), regionName));
-
-    // Publish some entries
-    final int numberOfEntries = 10;
-    publishEntries(numberOfEntries);
-    
-    // Verify durable client 1 received the updates
-    verifyDurableClientEvents(this.durableClientVM, numberOfEntries);
-    
-    // Verify durable client 2 received the updates
-    verifyDurableClientEvents(durableClient2VM, numberOfEntries);
-
-    // ARB: Wait for queue ack to arrive at server.
-    try {
-      Thread.sleep(1000);
-    } catch (InterruptedException ex) {
-      fail("interrupted", ex);
-    }
-    
-    // Stop the durable clients
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache(new Boolean(true)));
-    durableClient2VM.invoke(() -> CacheServerTestUtil.closeCache(new Boolean(true)));
-    
-    // Verify the durable clients still exist on the server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the CacheClientNotifier
-        CacheClientNotifier notifier = getBridgeServer().getAcceptor()
-            .getCacheClientNotifier();
-        
-        // Iterate the CacheClientProxies and verify they are correct
-        checkNumberOfClientProxies(2);
-        boolean durableClient1Found=false, durableClient2Found=false;
-        for (Iterator i = notifier.getClientProxies().iterator(); i.hasNext();) {
-          CacheClientProxy proxy = (CacheClientProxy) i.next();
-          assertTrue(proxy.isDurable());
-          if (proxy.getDurableId().equals(durableClientId)) {
-            durableClient1Found = true;
-          }
-          if (proxy.getDurableId().equals(durableClientId2)) {
-            durableClient2Found = true;
-          }
-          assertEquals(durableClientTimeout, proxy.getDurableTimeout());
-        }
-        assertTrue(durableClient1Found);
-        assertTrue(durableClient2Found);
-      }
-    });
-
-    // Publish some more entries
-    publishEntries(numberOfEntries);
-    
-    try {
-      Thread.sleep(1000);
-    }
-    catch (InterruptedException ex) {
-      fail("interrupted", ex);
-    }
-
-    // Verify the durable clients' queues contain the entries
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the CacheClientNotifier
-        CacheClientNotifier notifier = getBridgeServer().getAcceptor()
-            .getCacheClientNotifier();
-        
-        // Iterate the CacheClientProxies and verify the queue sizes
-        checkNumberOfClientProxies(2);
-        for (Iterator i = notifier.getClientProxies().iterator(); i.hasNext();) {
-          CacheClientProxy proxy = (CacheClientProxy) i.next();
-          assertEquals(numberOfEntries, proxy.getQueueSize());
-        }
-      }
-    });
-
-    // Re-start durable client 1
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Re-start durable client 2
-    durableClient2VM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClient2VM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId2), Boolean.TRUE));
-
-    // Send clientReady message
-    durableClient2VM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Verify durable client 1 received the updates held for it on the server
-    verifyDurableClientEvents(this.durableClientVM, numberOfEntries);
-    
-    // Verify durable client 2 received the updates held for it on the server
-    verifyDurableClientEvents(durableClient2VM, numberOfEntries);
-    
-    // Stop durable client 1
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop durable client 2
-    durableClient2VM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-  
-  /**
-   * Tests whether a durable client reconnects properly to two servers.
-   */
-  @Test
-  public void testDurableClientReconnectTwoServers() {
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    
-    // on test flag for periodic ack
-    this.server1VM.invoke(() -> DurableClientTestCase.setTestFlagToVerifyActForMarker( new Boolean(true) ));
-    
-    final int server1Port = ports[0].intValue();
-    
-    // Start server 2 using the same mcast port as server 1
-    final int server2Port = ((Integer) this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-        
-    // Stop server 2
-    this.server2VM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Start a durable client that is kept alive on the server when it stops
-    // normally
-    final String durableClientId = getName() + "_client";
-    final int durableClientTimeout = 60; // keep the client alive for 60 seconds
-    //final boolean durableClientKeepAlive = true; // keep the client alive when it stops normally
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), server1Port, server2Port, true), regionName, getClientDistributedSystemProperties(durableClientId, durableClientTimeout), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Have the durable client register interest in all keys
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Register interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.NONE,true);
-      }
-    });
-    
-    // Verify durable client on server 1
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-        
-        // Verify that it is durable and its properties are correct
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-        assertEquals(durableClientTimeout, proxy.getDurableTimeout());
-        verifyReceivedMarkerAck(proxy);
-      }
-    });
-
-    // VJR: wait for ack to go out
-    Wait.pause(5000);
-
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache(new Boolean(true)));
-    
-    // Verify durable client on server 1
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-      }
-    });
-
-    // Re-start server2
-    this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer( regionName, new Boolean(true),
-            new Integer(server2Port)));
-        
-    // Start normal publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), server1Port, server2Port, false), regionName));
-
-    // Publish some entries
-    final int numberOfEntries = 10;
-    publishEntries(numberOfEntries);
-
-    try {
-      Thread.sleep(1000);
-    }
-    catch (InterruptedException ex) {
-      fail("interrupted", ex);
-    }
-
-    // Verify the durable client's queue contains the entries
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-        
-        // Verify the queue size
-        assertEquals(numberOfEntries, proxy.getQueueSize());
-      }
-    });
-
-    // Re-start the durable client that is kept alive on the server when it stops
-    // normally
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), server1Port, server2Port, true), regionName, getClientDistributedSystemProperties(durableClientId, durableClientTimeout), Boolean.TRUE));
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Verify durable client on server 1
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-        
-        // Verify that it is durable and its properties are correct
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-        assertEquals(durableClientTimeout, proxy.getDurableTimeout());
-      }
-    });
-
-    // Verify durable client on server 2
-    this.server2VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-        
-        // Verify that it is durable and its properties are correct
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-        assertEquals(durableClientTimeout, proxy.getDurableTimeout());
-      }
-    });
-
-    // Verify the HA region names are the same on both servers
-    String server1HARegionQueueName= (String) this.server1VM.invoke(() -> DurableClientTestCase.getHARegionQueueName());
-    String server2HARegionQueueName= (String) this.server2VM.invoke(() -> DurableClientTestCase.getHARegionQueueName());
-    assertEquals(server1HARegionQueueName, server2HARegionQueueName);
-    
-    // Verify the durable client received the updates
-    verifyDurableClientEvents(this.durableClientVM, numberOfEntries);
-    
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // off test flag for periodic ack
-    this.server1VM.invoke(() -> DurableClientTestCase.setTestFlagToVerifyActForMarker( new Boolean(false) ));
-    
-    // Stop server 1
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop server 2
-    this.server2VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-  
-  @Test
-  public void testReadyForEventsNotCalledImplicitly() {
-    // Start a server
-    int serverPort = ((Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-
-    // Start a durable client that is not kept alive on the server when it
-    // stops normally
-    final String durableClientId = getName() + "_client";
-    // make the client use ClientCacheFactory so it will have a default pool
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createClientCache(getClientPool(NetworkUtils.getServerHostName(durableClientVM.getHost()), serverPort, true), regionName, getClientDistributedSystemProperties(durableClientId)));
-
-    // verify that readyForEvents has not yet been called on the client's default pool
-    this.durableClientVM.invoke(new CacheSerializableRunnable("check readyForEvents not called") {
-      @Override
-      public void run2() throws CacheException {
-        for (Pool p: PoolManager.getAll().values()) {
-          assertEquals(false, ((PoolImpl)p).getReadyForEventsCalled());
-        }
-      }
-    });
-    
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Verify durable clients on server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the CacheClientNotifier
-        CacheClientNotifier notifier = getBridgeServer().getAcceptor()
-            .getCacheClientNotifier();
-        
-        // Iterate the CacheClientProxies and verify they are correct
-        checkNumberOfClientProxies(1);
-        boolean durableClient1Found=false, durableClient2Found=false;
-        for (Iterator i = notifier.getClientProxies().iterator(); i.hasNext();) {
-          CacheClientProxy proxy = (CacheClientProxy) i.next();
-          assertTrue(proxy.isDurable());
-          if (proxy.getDurableId().equals(durableClientId)) {
-            durableClient1Found = true;
-          }
-          assertEquals(DistributionConfig.DEFAULT_DURABLE_CLIENT_TIMEOUT, proxy.getDurableTimeout());
-        }
-        assertTrue(durableClient1Found);
-      }
-    });
-    
-    // Stop the durable clients
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-
-  /**
-   * This test method is disabled because it is failing
-   * periodically and causing cruise control failures
-   * See bug #47060 (test seems to be enabled now!)
-   */
-  @Test
-  public void testReadyForEventsNotCalledImplicitlyWithCacheXML() {
-    try {
-      setPeriodicACKObserver(durableClientVM);
-      final String cqName = "cqTest";
-      // Start a server
-      int serverPort = (Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerFromXml( DurableClientTestCase.class.getResource("durablecq-server-cache.xml")));
-  
-      // Start a durable client that is not kept alive on the server when it
-      // stops normally
-      final String durableClientId = getName() + "_client";
-      
-      //create client cache from xml
-      this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClientFromXml( DurableClientTestCase.class.getResource("durablecq-client-cache.xml"), "client", durableClientId, 45, Boolean.FALSE));
-  
-      // verify that readyForEvents has not yet been called on all the client's pools
-      this.durableClientVM.invoke(new CacheSerializableRunnable("check readyForEvents not called") {
-        @Override
-        public void run2() throws CacheException {
-          for (Pool p: PoolManager.getAll().values()) {
-            assertEquals(false, ((PoolImpl)p).getReadyForEventsCalled());
-          }
-        }
-      });
-      
-      // Send clientReady message
-      this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-        @Override
-        public void run2() throws CacheException {
-          CacheServerTestUtil.getCache().readyForEvents();
-        }
-      });
-      
-      //Durable client registers durable cq on server
-      this.durableClientVM.invoke(new CacheSerializableRunnable("Register Cq") {
-        @Override
-        public void run2() throws CacheException {
-          // Get the region
-          Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-          assertNotNull(region);
-          
-          // Create CQ Attributes.
-          CqAttributesFactory cqAf = new CqAttributesFactory();
-          
-          // Initialize and set CqListener.
-          CqListener[] cqListeners = { new CacheServerTestUtil.ControlCqListener() };
-          cqAf.initCqListeners(cqListeners);
-          CqAttributes cqa = cqAf.create();
-  
-          // Create cq's
-          // Get the query service for the Pool
-          QueryService queryService = CacheServerTestUtil.getPool().getQueryService();
-  
-          try { 
-            CqQuery query = queryService.newCq(cqName , "Select * from /" + regionName, cqa, true);
-            query.execute();
-          }
-          catch (CqExistsException e) {
-            fail("Failed due to ", e);
-          }
-          catch (CqException e) {
-            fail("Failed due to ", e);
-          }
-          catch (RegionNotFoundException e) {
-            fail("Could not find specified region:" + regionName + ":", e);
-          }
-        }
-      });
-  
-      // Verify durable client on server1
-      this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-        @Override
-        public void run2() throws CacheException {
-          // Find the proxy
-          checkNumberOfClientProxies(1);
-          CacheClientProxy proxy = getClientProxy();
-          assertNotNull(proxy);
-  
-          // Verify that it is durable
-          assertTrue(proxy.isDurable());
-          assertEquals(durableClientId, proxy.getDurableId());
-        }
-      });
-      
-      // Start normal publisher client
-      this.publisherClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), serverPort, false), regionName));
-  
-      // Publish some entries
-      final int numberOfEntries = 10;
-      publishEntries(numberOfEntries);
-      
-      // Verify the durable client received the updates
-      this.durableClientVM.invoke(new CacheSerializableRunnable("Verify updates") {
-        @Override
-        public void run2() throws CacheException {
-          // Get the region
-          Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-          assertNotNull(region);
-          
-          // Get the listener and wait for the appropriate number of events
-          QueryService queryService = CacheServerTestUtil.getPool().getQueryService();
-          CqQuery cqQuery = queryService.getCq(cqName);
-          CacheServerTestUtil.ControlCqListener cqlistener = (CacheServerTestUtil.ControlCqListener) cqQuery.getCqAttributes().getCqListener();
-          cqlistener.waitWhileNotEnoughEvents(30000, numberOfEntries);
-          assertEquals(numberOfEntries, cqlistener.events.size());
-        }
-      });
-      
-       try {
-        Thread.sleep(10000);
-      }
-      catch (InterruptedException e) {
-        fail("interrupted", e);
-      }
-      
-      // Stop the durable client
-      this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache(new Boolean(true)));
-      
-      // Verify the durable client still exists on the server
-      this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-        @Override
-        public void run2() throws CacheException {
-          // Find the proxy
-          CacheClientProxy proxy = getClientProxy();
-          assertNotNull(proxy);
-        }
-      });
-  
-      // Publish some more entries
-      publishEntries(numberOfEntries);
-      
-      this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-      
-      // Re-start the durable client
-      this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClientFromXml( DurableClientTestCase.class.getResource("durablecq-client-cache.xml"), "client", durableClientId, 45,  Boolean.FALSE));
-  
-      
-      //Durable client registers durable cq on server
-      this.durableClientVM.invoke(new CacheSerializableRunnable("Register cq") {
-        @Override
-        public void run2() throws CacheException {
-          // Get the region
-          Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-          assertNotNull(region);
-  
-          // Create CQ Attributes.
-          CqAttributesFactory cqAf = new CqAttributesFactory();
-          
-          // Initialize and set CqListener.
-          CqListener[] cqListeners = { new CacheServerTestUtil.ControlCqListener() };
-          cqAf.initCqListeners(cqListeners);
-          CqAttributes cqa = cqAf.create();
-  
-          // Create cq's
-          // Get the query service for the Pool
-          QueryService queryService = CacheServerTestUtil.getPool().getQueryService();
-  
-          try { 
-            CqQuery query = queryService.newCq(cqName , "Select * from /" + regionName, cqa, true);
-            query.execute();
-          }
-          catch (CqExistsException e) {
-            fail("Failed due to ", e);
-          }
-          catch (CqException e) {
-            fail("Failed due to ", e);
-          }
-          catch (RegionNotFoundException e) {
-            fail("Could not find specified region:" + regionName + ":", e);
-          }
-         
-        }
-      });
-      
-      // Send clientReady message
-      this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-        @Override
-        public void run2() throws CacheException {
-          CacheServerTestUtil.getCache().readyForEvents();
-        }
-      });
-  
-      // Verify durable client on server
-      this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-        @Override
-        public void run2() throws CacheException {
-          // Find the proxy
-          checkNumberOfClientProxies(1);
-          CacheClientProxy proxy = getClientProxy();
-          assertNotNull(proxy);
-          
-          // Verify that it is durable and its properties are correct
-          assertTrue(proxy.isDurable());
-          assertEquals(durableClientId, proxy.getDurableId());
-        }
-      });
-          
-      // Verify the durable client received the updates held for it on the server
-      this.durableClientVM.invoke(new CacheSerializableRunnable("Verify updates") {
-        @Override
-        public void run2() throws CacheException {
-          // Get the region
-          Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-          assertNotNull(region);
-  
-          QueryService queryService = CacheServerTestUtil.getPool().getQueryService();
-  
-          CqQuery cqQuery = queryService.getCq(cqName);
-          
-          CacheServerTestUtil.ControlCqListener cqlistener = (CacheServerTestUtil.ControlCqListener) cqQuery.getCqAttributes().getCqListener();
-          cqlistener.waitWhileNotEnoughEvents(30000, numberOfEntries);
-          assertEquals(numberOfEntries, cqlistener.events.size());
-        }
-      });
-      
-      // Stop the durable client
-      this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-  
-      // Stop the server
-      this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-    }finally{
-      unsetPeriodicACKObserver(durableClientVM);
-    }
-  }
-  
-  private void setPeriodicACKObserver(VM vm){
-    CacheSerializableRunnable cacheSerializableRunnable = new CacheSerializableRunnable("Set ClientServerObserver"){
-      @Override
-      public void run2() throws CacheException {
-        PoolImpl.BEFORE_SENDING_CLIENT_ACK_CALLBACK_FLAG = true;
-        ClientServerObserver origObserver = ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
-          @Override
-          public void beforeSendingClientAck()
-          {
-            LogWriterUtils.getLogWriter().info("beforeSendingClientAck invoked");
-           
-          }
-        });
-        
-      }
-    };
-    vm.invoke(cacheSerializableRunnable);
-  }
-  
-  private void unsetPeriodicACKObserver(VM vm){
-    CacheSerializableRunnable cacheSerializableRunnable = new CacheSerializableRunnable("Unset ClientServerObserver"){
-      @Override
-      public void run2() throws CacheException {
-        PoolImpl.BEFORE_SENDING_CLIENT_ACK_CALLBACK_FLAG = false;        
-      }
-    };
-    vm.invoke(cacheSerializableRunnable);
-  }
-  
-  @Test
-  public void testReadyForEventsNotCalledImplicitlyForRegisterInterestWithCacheXML() {
-    final String cqName = "cqTest";
-    regionName = "testReadyForEventsNotCalledImplicitlyWithCacheXML_region";
-    // Start a server
-    int serverPort = (Integer) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerFromXmlN( DurableClientTestCase.class.getResource("durablecq-server-cache.xml")));
-
-    // Start a durable client that is not kept alive on the server when it
-    // stops normally
-    final String durableClientId = getName() + "_client";
-    
-    //create client cache from xml
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClientFromXmlN( DurableClientTestCase.class.getResource("durablecq-client-cache.xml"), "client", durableClientId, 45, Boolean.TRUE));
-
-    // verify that readyForEvents has not yet been called on all the client's pools
-    this.durableClientVM.invoke(new CacheSerializableRunnable("check readyForEvents not called") {
-      @Override
-      public void run2() throws CacheException {
-        for (Pool p: PoolManager.getAll().values()) {
-          assertEquals(false, ((PoolImpl)p).getReadyForEventsCalled());
-        }
-      }
-    });
-
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-    
-    //Durable client registers durable cq on server
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Register Interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-        
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.KEYS_VALUES, true);
-      }
-    });
-
-    // Verify durable client on server1
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-
-        // Verify that it is durable
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-      }
-    });
-    
-    // Start normal publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.createCacheClient(getClientPool(NetworkUtils.getServerHostName(publisherClientVM.getHost()), serverPort, false), regionName));
-
-    // Publish some entries
-    final int numberOfEntries = 10;
-    publishEntries(numberOfEntries);
-    
-    // Verify the durable client received the updates
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Verify updates") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-        
-        // Get the listener and wait for the appropriate number of events
-        CacheServerTestUtil.ControlListener listener = (CacheServerTestUtil.ControlListener) region
-                .getAttributes().getCacheListeners()[0];
-        listener.waitWhileNotEnoughEvents(30000, numberOfEntries);
-        assertEquals(numberOfEntries, listener.events.size());
-      }
-    });
-    try {
-      Thread.sleep(10000);
-    }
-    catch (InterruptedException e) {
-      fail("interrupted", e);
-    }
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache(new Boolean(true)));
-    
-    // Verify the durable client still exists on the server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-      }
-    });
-
-    // Publish some more entries
-    this.publisherClientVM.invoke(new CacheSerializableRunnable("Publish additional updates") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Publish some entries
-        for (int i=0; i<numberOfEntries; i++) {
-          String keyAndValue = String.valueOf(i);
-          region.put(keyAndValue, keyAndValue + "lkj");
-        }
-      }
-    });
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Re-start the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.createCacheClientFromXmlN( DurableClientTestCase.class.getResource("durablecq-client-cache.xml"), "client", durableClientId, 45,  Boolean.TRUE));
-
-    
-    //Durable client registers durable cq on server
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Register interest") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-
-        // Register interest in all keys
-        region.registerInterestRegex(".*", InterestResultPolicy.KEYS_VALUES, true);
-      }
-    });
-    
-    // Send clientReady message
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Send clientReady") {
-      @Override
-      public void run2() throws CacheException {
-        CacheServerTestUtil.getCache().readyForEvents();
-      }
-    });
-
-    // Verify durable client on server
-    this.server1VM.invoke(new CacheSerializableRunnable("Verify durable client") {
-      @Override
-      public void run2() throws CacheException {
-        // Find the proxy
-        checkNumberOfClientProxies(1);
-        CacheClientProxy proxy = getClientProxy();
-        assertNotNull(proxy);
-        
-        // Verify that it is durable and its properties are correct
-        assertTrue(proxy.isDurable());
-        assertEquals(durableClientId, proxy.getDurableId());
-      }
-    });
-        
-    // Verify the durable client received the updates held for it on the server
-    this.durableClientVM.invoke(new CacheSerializableRunnable("Verify updates") {
-      @Override
-      public void run2() throws CacheException {
-        // Get the region
-        Region region = CacheServerTestUtil.getCache().getRegion(regionName);
-        assertNotNull(region);
-        
-        // Get the listener and wait for the appropriate number of events
-        CacheServerTestUtil.ControlListener listener = (CacheServerTestUtil.ControlListener) region
-                .getAttributes().getCacheListeners()[0];
-        listener.waitWhileNotEnoughEvents(30000, numberOfEntries);
-        assertEquals(numberOfEntries, listener.events.size());
-      }
-    });
-    
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-  
-  /**
-   * Tests the ha queued events stat
-   * Connects a durable client, registers durable cqs and then shuts down the durable client
-   * Publisher then does puts onto the server
-   * Events are queued up and the stats are checked
-   * Durable client is then reconnected, events are dispatched and stats are rechecked
-   */
-  @Test
-  public void testHAQueueSizeStat() throws Exception {
-    String greaterThan5Query = "select * from /" + regionName + " p where p.ID > 5";
-    String allQuery = "select * from /" + regionName + " p where p.ID > -1";
-    String lessThan5Query = "select * from /" + regionName + " p where p.ID < 5";
-        
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    final int serverPort = ports[0].intValue();
-    
-    final String durableClientId = getName() + "_client";
-  
-    startDurableClient(durableClientVM, durableClientId, serverPort, regionName);
-    //register durable cqs
-    createCq(durableClientVM, "GreaterThan5", greaterThan5Query, true);
-    createCq(durableClientVM, "All", allQuery, true);
-    createCq(durableClientVM, "LessThan5", lessThan5Query, true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    // Verify durable client on server
-    verifyDurableClientOnServer(server1VM, durableClientId);
-          
-    // Stop the durable client
-    this.disconnectDurableClient(true);
-    
-    // Start normal publisher client
-    startClient(publisherClientVM, serverPort, regionName);
-
-    // Publish some entries
-    publishEntries(publisherClientVM, regionName, 10);
-     
-    //verify cq stats are correct
-    checkNumDurableCqs(server1VM, durableClientId, 3);
-    checkHAQueueSize(server1VM, durableClientId, 10, 11);
-
-    //Restart the durable client
-    startDurableClient(durableClientVM, durableClientId, serverPort, regionName);
-  
-    //Reregister durable cqs
-    createCq(durableClientVM, "GreaterThan5", "select * from /" + regionName + " p where p.ID > 5", true);
-    createCq(durableClientVM, "All", "select * from /" + regionName + " p where p.ID > -1", true);
-    createCq(durableClientVM, "LessThan5", "select * from /" + regionName + " p where p.ID < 5", true);
-    //send client ready
-    sendClientReady(durableClientVM);
-  
-    checkCqListenerEvents(durableClientVM, "GreaterThan5", 4 /*numEventsExpected*/, 4/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "LessThan5", 5 /*numEventsExpected*/, 5/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "All", 10 /*numEventsExpected*/, 10/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    
-    //Due to the implementation of DurableHARegionQueue where remove is called after dispatch.
-    //This can cause events to linger in the queue due to a "later" ack and only cleared on
-    //the next dispatch.  We need to send one more message to dispatch, that calls remove one more
-    //time and any remaining acks (with or without this final published events ack)
-    flushEntries(server1VM, durableClientVM, regionName);
-    checkHAQueueSize(server1VM, durableClientId, 0, 1);
-        
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-
-  /**
-   * Tests the ha queued events stat
-   * Connects a durable client, registers durable cqs and then shuts down the durable client
-   * Publisher then does puts onto the server
-   * Events are queued up and the stats are checked
-   * Test sleeps until durable client times out
-   * Stats should now be 0
-   * Durable client is then reconnected, no events should exist and stats are rechecked
-   */
-  @Test
-  public void testHAQueueSizeStatExpired() throws Exception {
-    int timeoutInSeconds = 20;
-    String greaterThan5Query = "select * from /" + regionName + " p where p.ID > 5";
-    String allQuery = "select * from /" + regionName + " p where p.ID > -1";
-    String lessThan5Query = "select * from /" + regionName + " p where p.ID < 5";
-        
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    final int serverPort = ports[0].intValue();
-    
-    final String durableClientId = getName() + "_client";
-  
-    startDurableClient(durableClientVM, durableClientId, serverPort, regionName, timeoutInSeconds);
-    //register durable cqs
-    createCq(durableClientVM, "GreaterThan5", greaterThan5Query, true);
-    createCq(durableClientVM, "All", allQuery, true);
-    createCq(durableClientVM, "LessThan5", lessThan5Query, true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    // Verify durable client on server
-    verifyDurableClientOnServer(server1VM, durableClientId);
-          
-    // Stop the durable client
-    this.disconnectDurableClient(true);
-    
-    // Start normal publisher client
-    startClient(publisherClientVM, serverPort, regionName);
-
-    // Publish some entries
-    publishEntries(publisherClientVM, regionName, 10);
-     
-    //verify cq stats are correct
-    checkNumDurableCqs(server1VM, durableClientId, 3);
-    checkHAQueueSize(server1VM, durableClientId, 10, 11);
-
-    //pause until timeout
-    try {
-      Thread.sleep((timeoutInSeconds + 2) * 1000);
-    }
-    catch (InterruptedException ie) {
-      fail("interrupted", ie);
-    }
-    //Restart the durable client
-    startDurableClient(durableClientVM, durableClientId, serverPort, regionName);
-  
-    //Reregister durable cqs
-    createCq(durableClientVM, "GreaterThan5", "select * from /" + regionName + " p where p.ID > 5", true);
-    createCq(durableClientVM, "All", "select * from /" + regionName + " p where p.ID > -1", true);
-    createCq(durableClientVM, "LessThan5", "select * from /" + regionName + " p where p.ID < 5", true);
-    //send client ready
-    sendClientReady(durableClientVM);
-  
-    checkCqListenerEvents(durableClientVM, "GreaterThan5", 0 /*numEventsExpected*/, 1/*numEventsToWaitFor*/, 5/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "LessThan5", 0 /*numEventsExpected*/, 1/*numEventsToWaitFor*/, 5/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "All", 0 /*numEventsExpected*/, 1/*numEventsToWaitFor*/, 5/*secondsToWait*/);
-    
-    //Due to the implementation of DurableHARegionQueue where remove is called after dispatch.
-    //This can cause events to linger in the queue due to a "later" ack and only cleared on
-    //the next dispatch.  We need to send one more message to dispatch, that calls remove one more
-    //time and any remaining acks (with or without this final published events ack)
-    flushEntries(server1VM, durableClientVM, regionName);
-    checkHAQueueSize(server1VM, durableClientId, 0, 1);
-
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-  
-  /**
-   * Tests the ha queued events stat
-   * Starts up two servers, shuts one down
-   * Connects a durable client, registers durable cqs and then shuts down the durable client
-   * Publisher then does puts onto the server
-   * Events are queued up
-   * Durable client is then reconnected but does not send ready for events
-   * Secondary server is brought back up
-   * Stats are checked
-   * Durable client then reregisters cqs and sends ready for events
-   */
-  @Test
-  public void testHAQueueSizeStatForGII() throws Exception {
-    String greaterThan5Query = "select * from /" + regionName + " p where p.ID > 5";
-    String allQuery = "select * from /" + regionName + " p where p.ID > -1";
-    String lessThan5Query = "select * from /" + regionName + " p where p.ID < 5";
-        
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    final int serverPort = ports[0].intValue();
-    
-    // Start server 2 using the same mcast port as server 1
-    final int serverPort2 = ((Integer) this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-  
-    //shut down server 2
-    closeCache(server2VM);
-    
-    final String durableClientId = getName() + "_client";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.disableShufflingOfEndpoints());
-  
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-  
-    //register durable cqs
-    createCq(durableClientVM, "GreaterThan5", greaterThan5Query, true);
-    createCq(durableClientVM, "All", allQuery, true);
-    createCq(durableClientVM, "LessThan5", lessThan5Query, true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    verifyDurableClientOnServer(server1VM, durableClientId);
-    checkNumDurableCqs(server1VM, durableClientId, 3);
-
-    // Stop the durable client
-    this.disconnectDurableClient(true);
-
-    // Start normal publisher client
-    startClient(publisherClientVM, serverPort, regionName);
-  
-    // Publish some entries
-    publishEntries(publisherClientVM, regionName, 10);
-    
-    // Restart the durable client
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-    
-    // Re-start server2, at this point it will be the first time server2 has connected to client
-    this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer( regionName, new Boolean(true),
-            new Integer(serverPort2)));
-    
-    // Verify durable client on server2
-    verifyDurableClientOnServer(server2VM, durableClientId);
-    
-    //verify cqs and stats on server 2.  These events are through gii, stats should be correct
-    checkNumDurableCqs(server2VM, durableClientId, 3);
-    checkHAQueueSize(server2VM, durableClientId, 10, 11);
-    
-    closeCache(server1VM);
-    
-    //Reregister durable cqs
-    createCq(durableClientVM, "GreaterThan5", "select * from /" + regionName + " p where p.ID > 5", true);
-    createCq(durableClientVM, "All", "select * from /" + regionName + " p where p.ID > -1", true);
-    createCq(durableClientVM, "LessThan5", "select * from /" + regionName + " p where p.ID < 5", true);
-    //send client ready
-    sendClientReady(durableClientVM);
-    
-    //verify cq listeners received events
-    checkCqListenerEvents(durableClientVM, "GreaterThan5", 4 /*numEventsExpected*/, 4/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "LessThan5", 5 /*numEventsExpected*/, 5/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "All", 10 /*numEventsExpected*/, 10/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    
-    //Verify stats are 0 for server2 (we failed over)
-    flushEntries(server2VM, durableClientVM, regionName);
-    checkHAQueueSize(server2VM, durableClientId, 0, 1);
-    
-    checkCqStatOnServer(server2VM, durableClientId, "LessThan5", 0);
-    checkCqStatOnServer(server2VM, durableClientId, "GreaterThan5", 0);
-    checkCqStatOnServer(server2VM, durableClientId, "All", 0);
-
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the servers
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-    this.server2VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-  
-  /**
-   * Tests the ha queued cq stat
-   */
-  @Test
-  public void testHAQueuedCqStat() throws Exception {
-    String greaterThan5Query = "select * from /" + regionName + " p where p.ID > 5";
-    String allQuery = "select * from /" + regionName + " p where p.ID > -1";
-    String lessThan5Query = "select * from /" + regionName + " p where p.ID < 5";
-        
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    final int serverPort = ports[0].intValue();
-    final int mcastPort = ports[1].intValue();
-    
-    final String durableClientId = getName() + "_client";
-  
-    startDurableClient(durableClientVM, durableClientId, serverPort, regionName);
-    //register durable cqs
-    createCq(durableClientVM, "GreaterThan5", greaterThan5Query, true);
-    createCq(durableClientVM, "All", allQuery, true);
-    createCq(durableClientVM, "LessThan5", lessThan5Query, true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    // Verify durable client on server
-    verifyDurableClientOnServer(server1VM, durableClientId);
-          
-    // Stop the durable client
-    this.disconnectDurableClient(true);
-    
-    // Start normal publisher client
-    startClient(publisherClientVM, serverPort, regionName);
-
-    // Publish some entries
-    publishEntries(publisherClientVM, regionName, 10);
-     
-    //verify cq stats are correct
-    checkNumDurableCqs(server1VM, durableClientId, 3);
-    checkCqStatOnServer(server1VM, durableClientId, "All", 10);
-    checkCqStatOnServer(server1VM, durableClientId, "GreaterThan5", 4);
-    checkCqStatOnServer(server1VM, durableClientId, "LessThan5", 5);
-
-    //Restart the durable client
-    startDurableClient(durableClientVM, durableClientId, serverPort, regionName);
-  
-    //Reregister durable cqs
-    createCq(durableClientVM, "GreaterThan5", "select * from /" + regionName + " p where p.ID > 5", true);
-    createCq(durableClientVM, "All", "select * from /" + regionName + " p where p.ID > -1", true);
-    createCq(durableClientVM, "LessThan5", "select * from /" + regionName + " p where p.ID < 5", true);
-    //send client ready
-    sendClientReady(durableClientVM);
-  
-    checkCqListenerEvents(durableClientVM, "GreaterThan5", 4 /*numEventsExpected*/, 4/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "LessThan5", 5 /*numEventsExpected*/, 5/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "All", 10 /*numEventsExpected*/, 10/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    
-
-    //Due to the implementation of DurableHARegionQueue where remove is called after dispatch.
-    //This can cause events to linger in the queue due to a "later" ack and only cleared on
-    //the next dispatch.  We need to send one more message to dispatch, that calls remove one more
-    //time and any remaining acks (with or without this final published events ack)
-    flushEntries(server1VM, durableClientVM, regionName);
-    
-    checkCqStatOnServer(server1VM, durableClientId, "LessThan5", 0);
-    checkCqStatOnServer(server1VM, durableClientId, "GreaterThan5", 0);
-    checkCqStatOnServer(server1VM, durableClientId, "All", 0);
-        
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-
-  @Test
-  public void testHAQueuedCqStatOnSecondary() throws Exception {
-    String greaterThan5Query = "select * from /" + regionName + " p where p.ID > 5";
-    String allQuery = "select * from /" + regionName + " p where p.ID > -1";
-    String lessThan5Query = "select * from /" + regionName + " p where p.ID < 5";
-        
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    final int serverPort = ports[0].intValue();
-    
-    // Start server 2 using the same mcast port as server 1
-    final int serverPort2 = ((Integer) this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-    
-    final String durableClientId = getName() + "_client";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.disableShufflingOfEndpoints());
-  
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-  
-    //register durable cqs
-    createCq(durableClientVM, "GreaterThan5", greaterThan5Query, true);
-    createCq(durableClientVM, "All", allQuery, true);
-    createCq(durableClientVM, "LessThan5", lessThan5Query, true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    //Verify durable client on server 2
-    verifyDurableClientOnServer(server2VM, durableClientId);
-    
-    //Verify durable client on server
-    verifyDurableClientOnServer(server1VM, durableClientId);
-  
-    //Stop the durable client
-    this.disconnectDurableClient(true);
-    
-    // Start normal publisher client
-    startClient(publisherClientVM, serverPort, regionName);
-  
-    // Publish some entries
-    publishEntries(publisherClientVM, regionName, 10);
-       
-    //verify cq stats are correct on both servers
-    checkNumDurableCqs(server1VM, durableClientId, 3);
-    checkCqStatOnServer(server1VM, durableClientId, "All", 10);
-    checkCqStatOnServer(server1VM, durableClientId, "GreaterThan5", 4);
-    checkCqStatOnServer(server1VM, durableClientId, "LessThan5", 5);
-    
-    //verify cq stats are correct
-    checkNumDurableCqs(server2VM, durableClientId, 3);
-    checkCqStatOnServer(server2VM, durableClientId, "All", 10);
-    checkCqStatOnServer(server2VM, durableClientId, "GreaterThan5", 4);
-    checkCqStatOnServer(server2VM, durableClientId, "LessThan5", 5);
-      
-    //Restart the durable client
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-    
-    //Reregister durable cqs
-    createCq(durableClientVM, "GreaterThan5", "select * from /" + regionName + " p where p.ID > 5", true);
-    createCq(durableClientVM, "All", "select * from /" + regionName + " p where p.ID > -1", true);
-    createCq(durableClientVM, "LessThan5", "select * from /" + regionName + " p where p.ID < 5", true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    checkCqListenerEvents(durableClientVM, "GreaterThan5", 4 /*numEventsExpected*/, 4/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "LessThan5", 5 /*numEventsExpected*/, 5/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "All", 10 /*numEventsExpected*/, 10/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    
-    //Verify stats are 0 for both servers
-    flushEntries(server1VM, durableClientVM, regionName);
-    
-    checkCqStatOnServer(server1VM, durableClientId, "LessThan5", 0);
-    checkCqStatOnServer(server1VM, durableClientId, "GreaterThan5", 0);
-    checkCqStatOnServer(server1VM, durableClientId, "All", 0);
-    checkCqStatOnServer(server2VM, durableClientId, "LessThan5", 0);
-    checkCqStatOnServer(server2VM, durableClientId, "GreaterThan5", 0);
-    checkCqStatOnServer(server2VM, durableClientId, "All", 0);
-        
-    // Stop the durable client
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the publisher client
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-
-    // Stop the server
-    this.server1VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-
-  /**
-   * Server 2 comes up, client connects and registers cqs, server 2 then disconnects
-   * events are put into region
-   * client goes away
-   * server 2 comes back up and should get a gii
-   * check stats
-   * server 1 goes away
-   * client comes back and receives all events
-   * stats should still be correct
-   */
-  @Test
-  public void testHAQueuedCqStatForGII() throws Exception {
-    String greaterThan5Query = "select * from /" + regionName + " p where p.ID > 5";
-    String allQuery = "select * from /" + regionName + " p where p.ID > -1";
-    String lessThan5Query = "select * from /" + regionName + " p where p.ID < 5";
-        
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    final int serverPort = ports[0].intValue();
-    
-    // Start server 2 using the same mcast port as server 1
-    final int serverPort2 = ((Integer) this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-  
-    // Start a durable client that is kept alive on the server when it stops
-    // normally
-    final String durableClientId = getName() + "_client";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.disableShufflingOfEndpoints());
-  
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-  
-    //register durable cqs
-    createCq(durableClientVM, "GreaterThan5", greaterThan5Query, true);
-    createCq(durableClientVM, "All", allQuery, true);
-    createCq(durableClientVM, "LessThan5", lessThan5Query, true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    //Verify durable client on both servers
-    verifyDurableClientOnServer(server2VM, durableClientId);
-    verifyDurableClientOnServer(server1VM, durableClientId);
-    
-    //verify durable cqs on both servers
-    checkNumDurableCqs(server1VM, durableClientId, 3);
-    checkNumDurableCqs(server2VM, durableClientId, 3);
-    
-    //shutdown server 2
-    closeCache(server2VM);
-    
-    // Stop the durable client
-    this.disconnectDurableClient(true);
-
-    // Start normal publisher client
-    startClient(publisherClientVM, serverPort, regionName);
-  
-    // Publish some entries
-    publishEntries(publisherClientVM, regionName, 10);
-    
-    // Re-start server2, should get events through gii
-    this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer( regionName, new Boolean(true),
-            new Integer(serverPort2)));
- 
-    // Restart the durable client
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-
-    //verify cq stats are correct on server 2
-    checkNumDurableCqs(server2VM, durableClientId, 3);
-    checkCqStatOnServer(server2VM, durableClientId, "All", 10);
-    checkCqStatOnServer(server2VM, durableClientId, "GreaterThan5", 4);
-    checkCqStatOnServer(server2VM, durableClientId, "LessThan5", 5);
-    
-    closeCache(server1VM);
-
-    //Reregister durable cqs
-    createCq(durableClientVM, "GreaterThan5", "select * from /" + regionName + " p where p.ID > 5", true);
-    createCq(durableClientVM, "All", "select * from /" + regionName + " p where p.ID > -1", true);
-    createCq(durableClientVM, "LessThan5", "select * from /" + regionName + " p where p.ID < 5", true);
-    //send client ready
-    sendClientReady(durableClientVM);
-    
-    checkCqListenerEvents(durableClientVM, "GreaterThan5", 4 /*numEventsExpected*/, 4/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "LessThan5", 5 /*numEventsExpected*/, 5/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    checkCqListenerEvents(durableClientVM, "All", 10 /*numEventsExpected*/, 10/*numEventsToWaitFor*/, 15/*secondsToWait*/);
-    
-    //Verify stats are 0 for server2 (we failed over)
-    flushEntries(server2VM, durableClientVM, regionName);
-    
-    checkCqStatOnServer(server2VM, durableClientId, "LessThan5", 0);
-    checkCqStatOnServer(server2VM, durableClientId, "GreaterThan5", 0);
-    checkCqStatOnServer(server2VM, durableClientId, "All", 0);
-
-   
-    // Stop the durable clients
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    this.publisherClientVM.invoke(() -> CacheServerTestUtil.closeCache());
-    
-    // Stop the servers
-    this.server2VM.invoke(() -> CacheServerTestUtil.closeCache());
-  }
-
-  /**
-   * Start both servers, but shut down secondary server before durable client has
-   * connected.  
-   * Connect durable client to primary, register cqs and then shutdown durable client
-   * Publish events, reconnect durable client but do not send ready for events
-   * Restart secondary and check stats to be sure cqs have correct stats due to GII
-   * Shutdown primary and fail over to secondary
-   * Durable Client sends ready or events and receives events
-   * Recheck stats
-   */
-  @Test
-  public void testHAQueuedCqStatForGII2() throws Exception {
-    String greaterThan5Query = "select * from /" + regionName + " p where p.ID > 5";
-    String allQuery = "select * from /" + regionName + " p where p.ID > -1";
-    String lessThan5Query = "select * from /" + regionName + " p where p.ID < 5";
-        
-    // Start server 1
-    Integer[] ports = ((Integer[]) this.server1VM.invoke(() -> CacheServerTestUtil.createCacheServerReturnPorts(regionName, new Boolean(true))));
-    final int serverPort = ports[0].intValue();
-    
-    // Start server 2 using the same mcast port as server 1
-    final int serverPort2 = ((Integer) this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer(regionName, new Boolean(true))))
-        .intValue();
-  
-    //shut down server 2
-    closeCache(server2VM);
-    
-    final String durableClientId = getName() + "_client";
-    this.durableClientVM.invoke(() -> CacheServerTestUtil.disableShufflingOfEndpoints());
-  
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-  
-    //register durable cqs
-    createCq(durableClientVM, "GreaterThan5", greaterThan5Query, true);
-    createCq(durableClientVM, "All", allQuery, true);
-    createCq(durableClientVM, "LessThan5", lessThan5Query, true);
-    //send client ready
-    sendClientReady(durableClientVM);
-      
-    verifyDurableClientOnServer(server1VM, durableClientId);
-    checkNumDurableCqs(server1VM, durableClientId, 3);
-
-    // Stop the durable client
-    this.disconnectDurableClient(true);
-
-    // Start normal publisher client
-    startClient(publisherClientVM, serverPort, regionName);
-  
-    // Publish some entries
-    publishEntries(publisherClientVM, regionName, 10);
-    
-    // Restart the durable client
-    startDurableClient(durableClientVM, durableClientId, serverPort, serverPort2, regionName);
-    
-    // Re-start server2, at this point it will be the first time server2 has connected to client
-    this.server2VM.invoke(() -> CacheServerTestUtil.createCacheServer( regionName, new Boolean(true),
-            new Integer(serverPort2)));
-    
-    // Verify durable client on server2
-    verifyDurableClientOnServer(server2VM, durableClientId);
-    

<TRUNCATED>