geode-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kl...@apache.org
Subject [2/3] incubator-geode git commit: GEODE-1233: apply FlakyTest category to flickering tests
Date Wed, 20 Apr 2016 16:59:42 GMT
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
index 5eeb04e..056e6ce 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
@@ -59,6 +59,7 @@ import com.gemstone.gemfire.internal.process.ProcessControllerFactory;
 import com.gemstone.gemfire.internal.process.ProcessStreamReader;
 import com.gemstone.gemfire.internal.process.ProcessType;
 import com.gemstone.gemfire.internal.process.ProcessUtils;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
 import com.gemstone.gemfire.test.process.ProcessWrapper;
 
@@ -336,7 +337,8 @@ public class ServerLauncherRemoteJUnitTest extends AbstractServerLauncherJUnitTe
       this.errorCollector.addError(e);
     }
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-721: random ports (setup overriding default port), TemporaryFolder
   @Test
   public void testStartOverwritesStalePidFile() throws Throwable {
     // create existing pid file
@@ -519,6 +521,7 @@ public class ServerLauncherRemoteJUnitTest extends AbstractServerLauncherJUnitTe
     this.errorCollector.checkThat(AvailablePort.isPortAvailable(this.serverPort, AvailablePort.SOCKET), is(equalTo(false)));
   }
 
+  @Category(FlakyTest.class) // GEODE-764: random ports, BindException, forks JVM, uses ErrorCollector
   @Test
   public void testStartUsingForceOverwritesExistingPidFile() throws Throwable {
     // create existing pid file
@@ -826,6 +829,7 @@ public class ServerLauncherRemoteJUnitTest extends AbstractServerLauncherJUnitTe
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-1135: random ports, BindException, fork JVM
   @Test
   public void testStartWithDefaultPortInUseFails() throws Throwable {
     String expectedString = "java.net.BindException";
@@ -990,11 +994,12 @@ public class ServerLauncherRemoteJUnitTest extends AbstractServerLauncherJUnitTe
     }
   } // testStartWithExistingPidFileFails
   */
-  
+
+  @Category(FlakyTest.class) // GEODE-957: random ports, BindException, fork JVM
   @Test
   public void testStatusUsingPid() throws Throwable {
     final List<String> jvmArguments = getJvmArguments();
-    
+
     final List<String> command = new ArrayList<String>();
     command.add(new File(new File(System.getProperty("java.home"), "bin"), "java").getCanonicalPath());
     for (String jvmArgument : jvmArguments) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/LocatorLoadSnapshotJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/LocatorLoadSnapshotJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/LocatorLoadSnapshotJUnitTest.java
index 710550b..34ac767 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/LocatorLoadSnapshotJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/LocatorLoadSnapshotJUnitTest.java
@@ -31,6 +31,7 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 import com.gemstone.gemfire.cache.server.ServerLoad;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 import com.gemstone.gemfire.test.junit.categories.UnitTest;
 
 /**
@@ -263,6 +264,7 @@ public class LocatorLoadSnapshotJUnitTest {
    * three servers.
    * @throws InterruptedException
    */
+  @Category(FlakyTest.class) // GEODE-613: lots of threads, async action, IntegrationTest-not-UnitTest, thread joins, time sensitive
   @Test
   public void testConcurrentBalancing() throws InterruptedException {
     int NUM_THREADS = 50;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/deadlock/GemFireDeadlockDetectorDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/deadlock/GemFireDeadlockDetectorDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/deadlock/GemFireDeadlockDetectorDUnitTest.java
index 7ab452b..8977172 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/deadlock/GemFireDeadlockDetectorDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/deadlock/GemFireDeadlockDetectorDUnitTest.java
@@ -24,6 +24,8 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.execute.Function;
 import com.gemstone.gemfire.cache.execute.FunctionContext;
@@ -42,16 +44,12 @@ import com.gemstone.gemfire.test.dunit.LogWriterUtils;
 import com.gemstone.gemfire.test.dunit.SerializableCallable;
 import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-/**
- *
- */
 public class GemFireDeadlockDetectorDUnitTest extends CacheTestCase {
   
   private static final Set<Thread> stuckThreads = Collections.synchronizedSet(new HashSet<Thread>());
-  
-  
-  
+
   @Override
   public final void preTearDownCacheTestCase() throws Exception {
     disconnectAllFromDS();
@@ -97,7 +95,7 @@ public class GemFireDeadlockDetectorDUnitTest extends CacheTestCase {
   
   private static final Lock lock = new ReentrantLock();
   
-  
+  @Category(FlakyTest.class) // GEODE-516 & GEODE-576: async actions, thread sleeps, time sensitive
   public void testDistributedDeadlockWithFunction() throws Throwable {
     Host host = Host.getHost(0);
     VM vm0 = host.getVM(0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/disttx/DistTXExpiryJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/disttx/DistTXExpiryJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/disttx/DistTXExpiryJUnitTest.java
index e9e7cc1..e2717bf 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/disttx/DistTXExpiryJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/disttx/DistTXExpiryJUnitTest.java
@@ -33,7 +33,6 @@ import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
 /**
  * Same tests as that of {@link TXExpiryJUnitTest} after setting
  * "distributed-transactions" property to true
- *
  */
 @Category({IntegrationTest.class, DistributedTransactionsTest.class })
 public class DistTXExpiryJUnitTest extends TXExpiryJUnitTest {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/ScheduledThreadPoolExecutorWithKeepAliveJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/ScheduledThreadPoolExecutorWithKeepAliveJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/ScheduledThreadPoolExecutorWithKeepAliveJUnitTest.java
index 2ed0152..8cddfa6 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/ScheduledThreadPoolExecutorWithKeepAliveJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/ScheduledThreadPoolExecutorWithKeepAliveJUnitTest.java
@@ -16,7 +16,6 @@
  */
 package com.gemstone.gemfire.internal;
 
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -34,11 +33,9 @@ import org.junit.After;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
 
-/**
- *
- */
 @Category(IntegrationTest.class)
 public class ScheduledThreadPoolExecutorWithKeepAliveJUnitTest {
   
@@ -87,7 +84,8 @@ public class ScheduledThreadPoolExecutorWithKeepAliveJUnitTest {
     
     assertEquals(2, ex.getLargestPoolSize());
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-1138: time sensitive, thread sleeps, expiration
   @Test
   public void testConcurrentExecutionAndExpiration() throws InterruptedException, ExecutionException {
     ex = new ScheduledThreadPoolExecutorWithKeepAlive(
@@ -179,6 +177,7 @@ public class ScheduledThreadPoolExecutorWithKeepAliveJUnitTest {
         TimeUnit.SECONDS.toNanos(10) <= end - start + SLOP); 
   }
 
+  @Category(FlakyTest.class) // GEODE-710: time sensitive, async actions, 5 second thread sleeps
   @Test
   public void testRepeatedExecution() throws InterruptedException {
     ex = new ScheduledThreadPoolExecutorWithKeepAlive(

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/FixedPRSinglehopDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/FixedPRSinglehopDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/FixedPRSinglehopDUnitTest.java
index 358e7ad..61ea97a 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/FixedPRSinglehopDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/FixedPRSinglehopDUnitTest.java
@@ -24,6 +24,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheFactory;
@@ -55,6 +57,7 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnableIF;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 public class FixedPRSinglehopDUnitTest extends CacheTestCase {
 
@@ -194,6 +197,7 @@ public class FixedPRSinglehopDUnitTest extends CacheTestCase {
   // Put data, get data and make the metadata stable.
   // Now verify that metadata has all 8 buckets info.
   // Now update and ensure the fetch service is never called.
+  @Category(FlakyTest.class) // GEODE-1176: random ports, time sensitive, waitForCriterion
   public void test_MetadataContents() {
     
     final Host host = Host.getHost(0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/GIIDeltaDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/GIIDeltaDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/GIIDeltaDUnitTest.java
index fa1d2ba..feac209 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/GIIDeltaDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/GIIDeltaDUnitTest.java
@@ -66,6 +66,7 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 import java.io.ByteArrayInputStream;
 import java.io.DataInputStream;
@@ -73,10 +74,8 @@ import java.io.IOException;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
+import org.junit.experimental.categories.Category;
 
-/**
- *
- */
 public class GIIDeltaDUnitTest extends CacheTestCase {
 
   VM P; // GII provider
@@ -1196,6 +1195,7 @@ public class GIIDeltaDUnitTest extends CacheTestCase {
    * In this test, GII thread will get the GIILock before tombstone GC, so tombstone GC should 
    * wait for all GIIs to finish
    */
+  @Category(FlakyTest.class) // GEODE-633: SLOW_DISTRIBUTION_MS, non-thread safe test hook, async actions, time sensitive, waitForCriterion, thread joins, forceGC
   public void testTombstoneGCInMiddleOfGII() throws Throwable {
     prepareForEachTest();
     final DiskStoreID memberP = getMemberID(P);
@@ -1539,6 +1539,7 @@ public class GIIDeltaDUnitTest extends CacheTestCase {
    * R off line, then run P7. Restart R. It will trigger deltaGII to chunk entry P7(key1).
    * After that, do clear(). Make sure R should not contain key1 after GII.     
    */
+  @Category(FlakyTest.class) // GEODE-1068: time sensitive, SLOW_DISTRIBUTION_MS, waitForCriterion, possible thread unsafe test hooks, async actions, depends on stats
   public void testClearAfterChunkEntries() throws Throwable {
     prepareForEachTest();
     final DiskStoreID memberP = getMemberID(P);
@@ -1724,6 +1725,7 @@ public class GIIDeltaDUnitTest extends CacheTestCase {
    * Before GII, P's RVV is P7,R6(3-6), R's RVV is P6,R6, RVVGC are both P4,R0
    * By changing MAX_UNFINISHED_OPERATIONS to be 1, 2. It should be fullGII then deltaGII.    
    */
+  @Category(FlakyTest.class) // GEODE-686: time sensitive, SLOW_DISTRIBUTION_MS, forceGC
   public void testFullGIITriggeredByTooManyUnfinishedOps() throws Throwable {
     prepareForEachTest();
     final DiskStoreID memberP = getMemberID(P);
@@ -1894,6 +1896,7 @@ public class GIIDeltaDUnitTest extends CacheTestCase {
    * at the end. 
    * @throws Throwable
    */
+  @Category(FlakyTest.class) // GEODE-1137: orphaned AsyncInvocations, time sensitive, GC, waitForCriterion, thread unsafe test hooks/observers, expiration
   public void testTombstoneGCDuringFullGII() throws Throwable {
     prepareForEachTest();
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/NetSearchMessagingDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/NetSearchMessagingDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/NetSearchMessagingDUnitTest.java
index 71a95c5..e0b8b2f 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/NetSearchMessagingDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/NetSearchMessagingDUnitTest.java
@@ -16,7 +16,7 @@
  */
 package com.gemstone.gemfire.internal.cache;
 
-import java.util.Properties;
+import org.junit.experimental.categories.Category;
 
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.DataPolicy;
@@ -42,15 +42,10 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-/**
- *
- */
 public class NetSearchMessagingDUnitTest extends CacheTestCase {
 
-  /**
-   * @param name
-   */
   public NetSearchMessagingDUnitTest(String name) {
     super(name);
   }
@@ -111,7 +106,8 @@ public class NetSearchMessagingDUnitTest extends CacheTestCase {
     }
     
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-1155: time sensitive, waitForCriterion
   public void testNetSearchNormals() {
     Host host = Host.getHost(0);
     VM vm0 = host.getVM(0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/OplogJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/OplogJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/OplogJUnitTest.java
index ad7b3a5..f4f652e 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/OplogJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/OplogJUnitTest.java
@@ -60,16 +60,15 @@ import com.gemstone.gemfire.internal.cache.Oplog.OPLOG_TYPE;
 import com.gemstone.gemfire.test.dunit.ThreadUtils;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
 import com.jayway.awaitility.Awaitility;
 
 /**
  * Testing Oplog API's
- *
  */
 @Category(IntegrationTest.class)
-public class OplogJUnitTest extends DiskRegionTestingBase
-{
+public class OplogJUnitTest extends DiskRegionTestingBase {
   boolean proceed = false;
 
   private final DiskRegionProperties diskProps = new DiskRegionProperties();
@@ -3420,9 +3419,9 @@ public class OplogJUnitTest extends DiskRegionTestingBase
    * Tests reduction in size of disk stats 
    * when the oplog is rolled.
    */
+  @Category(FlakyTest.class) // GEODE-527: jvm sizing sensitive, non-thread-safe test hooks, time sensitive
   @Test
-  public void testStatsSizeReductionOnRolling() throws Exception 
-  {
+  public void testStatsSizeReductionOnRolling() throws Exception {
     final int MAX_OPLOG_SIZE = 500*2;
     diskProps.setMaxOplogSize(MAX_OPLOG_SIZE);
     diskProps.setPersistBackup(true);
@@ -3446,6 +3445,8 @@ public class OplogJUnitTest extends DiskRegionTestingBase
     final int tombstone_key1 = DiskOfflineCompactionJUnitTest.getSize4TombstoneWithKey(extra_byte_num_per_entry, "key1");
     final int tombstone_key2 = DiskOfflineCompactionJUnitTest.getSize4TombstoneWithKey(extra_byte_num_per_entry, "key2");
 
+    // TODO: move static methods from DiskOfflineCompactionJUnitTest to shared util class
+
     CacheObserver old = CacheObserverHolder
           .setInstance(new CacheObserverAdapter() {
               private long before = -1;
@@ -3553,7 +3554,7 @@ public class OplogJUnitTest extends DiskRegionTestingBase
    * Tests stats verification with rolling enabled
    */
 //   @Test
-//  public void testSizeStatsAfterRecreationWithRollingEnabled() throws Exception 
+//  public void testSizeStatsAfterRecreationWithRollingEnabled() throws Exception
 //   {
 //     final int MAX_OPLOG_SIZE = 500;
 //     diskProps.setMaxOplogSize(MAX_OPLOG_SIZE);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionCreationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionCreationDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionCreationDUnitTest.java
index f97bf78..e8ce840 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionCreationDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionCreationDUnitTest.java
@@ -16,13 +16,10 @@
  */
 package com.gemstone.gemfire.internal.cache;
 
-/**
- * This test is to test and validate the partitioned region creation in multiple
- * vm scenario. This will verify the functionality under distributed scenario.
- */
-
 import java.util.Properties;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheException;
@@ -42,11 +39,14 @@ import com.gemstone.gemfire.test.dunit.LogWriterUtils;
 import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.ThreadUtils;
 import com.gemstone.gemfire.test.dunit.VM;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
+/**
+ * This test is to test and validate the partitioned region creation in multiple
+ * vm scenario. This will verify the functionality under distributed scenario.
+ */
 @SuppressWarnings("serial")
-public class PartitionedRegionCreationDUnitTest extends
-    PartitionedRegionDUnitTestCase
-{
+public class PartitionedRegionCreationDUnitTest extends PartitionedRegionDUnitTestCase {
   /**
    * constructor
    * 
@@ -419,6 +419,7 @@ public class PartitionedRegionCreationDUnitTest extends
    * 
    * @throws Exception
    */
+  @Category(FlakyTest.class) // GEODE-1104: time sensitive, async actions
   public void testPartitionRegionInitialization() throws Throwable
   {
     final String name = getUniqueName();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionDelayedRecoveryDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionDelayedRecoveryDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionDelayedRecoveryDUnitTest.java
index c794330..6a2512f 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionDelayedRecoveryDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionDelayedRecoveryDUnitTest.java
@@ -18,6 +18,9 @@ package com.gemstone.gemfire.internal.cache;
 
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
+
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.PartitionAttributes;
@@ -32,10 +35,8 @@ import com.gemstone.gemfire.test.dunit.Invoke;
 import com.gemstone.gemfire.test.dunit.SerializableCallable;
 import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-/**
- *
- */
 @SuppressWarnings("synthetic-access")
 public class PartitionedRegionDelayedRecoveryDUnitTest extends CacheTestCase {
   
@@ -125,6 +126,7 @@ public class PartitionedRegionDelayedRecoveryDUnitTest extends CacheTestCase {
     vm2.invoke(checkNoBucket);
   }
 
+  @Category(FlakyTest.class) // GEODE-860: time sensitive, thread unsafe test hook, CountDownLatch, 1 minute timeout, waitForBucketRecovery loops eating InterruptedException
   public void testDelay() {
     Host host = Host.getHost(0);
     VM vm0 = host.getVM(0);
@@ -189,7 +191,8 @@ public class PartitionedRegionDelayedRecoveryDUnitTest extends CacheTestCase {
     long elapsed = waitForBucketRecovery(vm2, 1);
     assertTrue("Did not wait at least 5 seconds to create the bucket. Elapsed=" + elapsed, elapsed >= 5000);
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-757: time sensitive, fails because event occurs 2 millis too soon, waitForBucketRecovery wait loop eats InterruptedException, thread unsafe test hook
   public void testStartupDelay() {
     Host host = Host.getHost(0);
     VM vm0 = host.getVM(0);
@@ -278,7 +281,7 @@ public class PartitionedRegionDelayedRecoveryDUnitTest extends CacheTestCase {
           } else {
             try {
               Thread.sleep(100);
-            } catch (InterruptedException e) {
+            } catch (InterruptedException e) { // TODO: don't catch InterruptedException -- let test fail!
               e.printStackTrace();
             }
           }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java
index 636075c..bdd8654 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/PartitionedRegionSingleHopDUnitTest.java
@@ -31,6 +31,7 @@ import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.junit.Ignore;
+import org.junit.experimental.categories.Category;
 
 import com.gemstone.gemfire.DataSerializable;
 import com.gemstone.gemfire.DataSerializer;
@@ -75,6 +76,7 @@ import com.gemstone.gemfire.test.dunit.NetworkUtils;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 public class PartitionedRegionSingleHopDUnitTest extends CacheTestCase {
 
@@ -337,6 +339,7 @@ public class PartitionedRegionSingleHopDUnitTest extends CacheTestCase {
   // Put data, get data and make the metadata stable.
   // Now verify that metadata has all 8 buckets info.
   // Now update and ensure the fetch service is never called.
+  @Category(FlakyTest.class) // GEODE-493: random ports, waitForCriterions
   public void test_MetadataContents() {
     Integer port0 = (Integer)member0.invoke(() -> PartitionedRegionSingleHopDUnitTest.createServer( 1, 4 ));
     Integer port1 = (Integer)member1.invoke(() -> PartitionedRegionSingleHopDUnitTest.createServer( 1, 4 ));
@@ -362,6 +365,7 @@ public class PartitionedRegionSingleHopDUnitTest extends CacheTestCase {
   // once,
   // fetchservice has to be triggered.
   // Now put again from c2.There should be no hop at all.
+  @Category(FlakyTest.class) // GEODE-699: random ports, async actions, time sensitive
   public void test_MetadataServiceCallAccuracy() {
     Integer port0 = (Integer)member0.invoke(() -> PartitionedRegionSingleHopDUnitTest.createServer( 1, 4 ));
     Integer port1 = (Integer)member1.invoke(() -> PartitionedRegionSingleHopDUnitTest.createServer( 1, 4 ));
@@ -679,6 +683,7 @@ public class PartitionedRegionSingleHopDUnitTest extends CacheTestCase {
     assertFalse(cms.isRefreshMetadataTestOnly());
   }
 
+  @Category(FlakyTest.class) // GEODE-853: random ports, pause sleeps, time sensitive, 5 second thread sleeps
   public void testServerLocationRemovalThroughPing() {
     Integer port0 = (Integer)member0.invoke(() -> PartitionedRegionSingleHopDUnitTest.createServer( 3, 4 ));
     Integer port1 = (Integer)member1.invoke(() -> PartitionedRegionSingleHopDUnitTest.createServer( 3, 4 ));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/SingleHopStatsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/SingleHopStatsDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/SingleHopStatsDUnitTest.java
index c702d9f..307f18f 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/SingleHopStatsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/SingleHopStatsDUnitTest.java
@@ -20,6 +20,8 @@ import java.io.IOException;
 import java.util.Map;
 import java.util.Properties;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheFactory;
@@ -50,10 +52,10 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-public class SingleHopStatsDUnitTest extends CacheTestCase{
+public class SingleHopStatsDUnitTest extends CacheTestCase {
 
-  
   private static final String Region_Name = "42010";
 
   private VM member0 = null;
@@ -144,7 +146,8 @@ public class SingleHopStatsDUnitTest extends CacheTestCase{
     }
   }
 
-  public void testClientStatsPR(){
+  @Category(FlakyTest.class) // GEODE-364: random ports, time sensitive, waitForCriterions, magic numbers (113, 226)
+  public void testClientStatsPR() {
     VM server1 = member0;
     VM server2 = member1;
     VM server3 = member2;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/DistributedRegionFunctionExecutionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/DistributedRegionFunctionExecutionDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/DistributedRegionFunctionExecutionDUnitTest.java
index 8205765..fef088f 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/DistributedRegionFunctionExecutionDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/DistributedRegionFunctionExecutionDUnitTest.java
@@ -26,6 +26,8 @@ import java.util.List;
 import java.util.Properties;
 import java.util.Set;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheFactory;
@@ -64,9 +66,9 @@ import com.gemstone.gemfire.test.dunit.Host;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-public class DistributedRegionFunctionExecutionDUnitTest extends
-    DistributedTestCase {
+public class DistributedRegionFunctionExecutionDUnitTest extends DistributedTestCase {
 
   VM replicate1 = null;
 
@@ -455,7 +457,8 @@ public class DistributedRegionFunctionExecutionDUnitTest extends
 
     executeFunction_SendException();
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-632: random ports, eats exceptions
   public void testDistributedRegionFunctionExecutionOnDataPolicyEmpty_ClientServer_NoLastResult() {
     VM empty1 = replicate3;
     VM empty2 = normal;
@@ -990,7 +993,7 @@ public class DistributedRegionFunctionExecutionDUnitTest extends
           .getResult();
       fail("FunctionException expected : Function did not send last result");
     }
-    catch (Exception ex) {
+    catch (Exception ex) { // TODO: this is too broad -- catch just the expected exception
       assertTrue(ex.getMessage().contains("did not send last result"));
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest.java
index cd54be6..9d96d9e 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest.java
@@ -31,6 +31,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.CacheClosedException;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.execute.Execution;
@@ -54,9 +56,9 @@ import com.gemstone.gemfire.test.dunit.LogWriterUtils;
 import com.gemstone.gemfire.test.dunit.ThreadUtils;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-public class PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest extends
-    PRClientServerTestBase {
+public class PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest extends PRClientServerTestBase {
   private static final String TEST_FUNCTION7 = TestFunction.TEST_FUNCTION7;
 
   private static final String TEST_FUNCTION2 = TestFunction.TEST_FUNCTION2;
@@ -225,6 +227,7 @@ public class PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest extends
    * 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-600: network sensitive, random ports, configs lots of PoolFactory network attributes
   public void testserverMultiKeyExecution_FunctionInvocationTargetException() {
     createScenario();
     client.invoke(() -> PRClientServerRegionFunctionExecutionNoSingleHopDUnitTest.serverMultiKeyExecution_FunctionInvocationTargetException());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRFunctionExecutionTimeOutDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRFunctionExecutionTimeOutDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRFunctionExecutionTimeOutDUnitTest.java
index 169ad3a..fa4fd62 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRFunctionExecutionTimeOutDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/PRFunctionExecutionTimeOutDUnitTest.java
@@ -25,6 +25,8 @@ import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.execute.Execution;
@@ -44,9 +46,10 @@ import com.gemstone.gemfire.test.dunit.Host;
 import com.gemstone.gemfire.test.dunit.IgnoredException;
 import com.gemstone.gemfire.test.dunit.SerializableCallable;
 import com.gemstone.gemfire.test.dunit.VM;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
+
+public class PRFunctionExecutionTimeOutDUnitTest extends PartitionedRegionDUnitTestCase {
 
-public class PRFunctionExecutionTimeOutDUnitTest extends
-    PartitionedRegionDUnitTestCase {
   private static final String TEST_FUNCTION_TIMEOUT = TestFunction.TEST_FUNCTION_TIMEOUT;
   private static final String TEST_FUNCTION7 = TestFunction.TEST_FUNCTION7;
   
@@ -666,6 +669,7 @@ public class PRFunctionExecutionTimeOutDUnitTest extends
    * Then test it using timeout and multiple getResult.
    * @throws Exception
    */
+  @Category(FlakyTest.class) // GEODE-1020: suspect string: BucketMovedException, missing fail in expected exception, eats exceptions
   public void testLocalMultiKeyExecution_byName() throws Exception {
     IgnoredException.addIgnoredException("BucketMovedException");
     final String rName = getUniqueName();
@@ -693,11 +697,12 @@ public class PRFunctionExecutionTimeOutDUnitTest extends
         testKeysSet.add(testKey);
         try {
           dataSet.withFilter(testKeysSet).withArgs(Boolean.TRUE).execute(function.getId());
+          // TODO: expected exception pattern requires fail here
         }
         catch (Exception expected) {
           // No data should cause exec to throw
           assertTrue(expected.getMessage().contains(
-              "No target node found for KEY = " + testKey));
+              "No target node found for KEY = " + testKey)); // TODO: eats exception with new AssertionError if it doesn't match
         }
 
         final HashSet testKeys = new HashSet();
@@ -755,7 +760,7 @@ public class PRFunctionExecutionTimeOutDUnitTest extends
         }
         catch (FunctionException fe) {
           assertTrue(fe.getMessage(), fe.getMessage().contains(
-          LocalizedStrings.ExecuteFunction_RESULTS_ALREADY_COLLECTED.toLocalizedString()));
+          LocalizedStrings.ExecuteFunction_RESULTS_ALREADY_COLLECTED.toLocalizedString())); // TODO: eats exception with new AssertionError if fails
         }
         
         ResultCollector rct2 = dataSet.withFilter(testKeys).withArgs(testKeys)
@@ -767,7 +772,7 @@ public class PRFunctionExecutionTimeOutDUnitTest extends
         }
         catch (FunctionException fe) {
           assertTrue(fe.getMessage(), fe.getMessage().contains(
-          LocalizedStrings.ExecuteFunction_RESULTS_NOT_COLLECTED_IN_TIME_PROVIDED.toLocalizedString()));
+          LocalizedStrings.ExecuteFunction_RESULTS_NOT_COLLECTED_IN_TIME_PROVIDED.toLocalizedString())); // TODO: eats exception with new AssertionError if fails
         }
         
         try {
@@ -776,7 +781,7 @@ public class PRFunctionExecutionTimeOutDUnitTest extends
         }
         catch (FunctionException fe) {
           assertTrue(fe.getMessage(), fe.getMessage().contains(
-              LocalizedStrings.ExecuteFunction_RESULTS_ALREADY_COLLECTED.toLocalizedString()));
+              LocalizedStrings.ExecuteFunction_RESULTS_ALREADY_COLLECTED.toLocalizedString())); // TODO: eats exception with new AssertionError if fails
         }
         
         return Boolean.TRUE;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
index 09ed9a5..a81d9c1 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
@@ -18,6 +18,8 @@ package com.gemstone.gemfire.internal.cache.ha;
 
 import java.util.Properties;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.EntryEvent;
@@ -45,6 +47,7 @@ import com.gemstone.gemfire.test.dunit.IgnoredException;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 public class Bug48571DUnitTest extends DistributedTestCase {
 
@@ -87,6 +90,7 @@ public class Bug48571DUnitTest extends DistributedTestCase {
     }
   }
 
+  @Category(FlakyTest.class) // GEODE-510: random ports, async actions, AsyncInvocation orphan
   public void testStatsMatchWithSize() throws Exception {
     IgnoredException.addIgnoredException("Unexpected IOException||Connection reset");
     // start a server
@@ -98,7 +102,7 @@ public class Bug48571DUnitTest extends DistributedTestCase {
     // close durable client
     client.invoke(() -> Bug48571DUnitTest.closeClientCache());
     // resume puts on server, add another 100.
-    server.invokeAsync(() -> Bug48571DUnitTest.resumePuts());
+    server.invokeAsync(() -> Bug48571DUnitTest.resumePuts()); // TODO: join or await result
     // start durable client
     client.invoke(() -> Bug48571DUnitTest.createClientCache(client.getHost(), port));
     // wait for full queue dispatch

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueueDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueueDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueueDUnitTest.java
index 7d047c9..83919f4 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueueDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueueDUnitTest.java
@@ -22,6 +22,7 @@ import java.util.Map;
 import java.util.Properties;
 import java.util.Set;
 
+import org.junit.experimental.categories.Category;
 import util.TestException;
 
 import junit.framework.Assert;
@@ -49,15 +50,9 @@ import com.gemstone.gemfire.test.dunit.ThreadUtils;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-/**
- *
- *
- *
- *
- */
-public class HARegionQueueDUnitTest extends DistributedTestCase
-{
+public class HARegionQueueDUnitTest extends DistributedTestCase {
   VM vm0 = null;
 
   VM vm1 = null;
@@ -863,9 +858,8 @@ public class HARegionQueueDUnitTest extends DistributedTestCase
    * This is to test the bug which is caused when HARegionQueue object hasnot
    * been fully constructed but as the HARegion has got constructed , it gets
    * visible to QRM Message Thread.
-   *
-   *
    */
+  @Category(FlakyTest.class) // GEODE-690: async queuing, time sensitive, expiration, waitForCriterion, joins
   public void testNPEDueToHARegionQueueEscapeInConstructor()
   {
     // changing EXPIRY_TIME to 5 doesn't change how long the test runs!

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentColocatedPartitionedRegionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentColocatedPartitionedRegionDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentColocatedPartitionedRegionDUnitTest.java
index 4245bb6..b7919b1 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentColocatedPartitionedRegionDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentColocatedPartitionedRegionDUnitTest.java
@@ -22,6 +22,8 @@ import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.admin.internal.AdminDistributedSystemImpl;
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
@@ -52,19 +54,13 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-/**
- *
- */
-public class PersistentColocatedPartitionedRegionDUnitTest extends
-    PersistentPartitionedRegionTestBase {
+public class PersistentColocatedPartitionedRegionDUnitTest extends PersistentPartitionedRegionTestBase {
 
   private static final int NUM_BUCKETS = 15;
   private static final int MAX_WAIT = 30 * 1000;
 
-  /**
-   * @param name
-   */
   public PersistentColocatedPartitionedRegionDUnitTest(String name) {
     super(name);
   }
@@ -1183,7 +1179,8 @@ public class PersistentColocatedPartitionedRegionDUnitTest extends
     //make sure we didn't get an exception
     async0.getResult(MAX_WAIT);
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-506: time sensitive, async actions with 30 sec max
   public void testRebalanceWithOfflineChildRegion() throws Throwable {
     SerializableRunnable createParentPR = new SerializableRunnable() {
       public void run() {
@@ -1409,6 +1406,7 @@ public class PersistentColocatedPartitionedRegionDUnitTest extends
    * a PR with persistent data.
    * @throws Throwable
    */
+  @Category(FlakyTest.class) // GEODE-900: disk dependency, filesystem sensitive
   public void testModifyColocation() throws Throwable {
     //Create PRs where region3 is colocated with region1.
     createColocatedPRs("region1");

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
index ba1ddd2..b8c5ba1 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionDUnitTest.java
@@ -32,6 +32,7 @@ import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 
 import org.junit.Ignore;
+import org.junit.experimental.categories.Category;
 
 import com.gemstone.gemfire.DataSerializable;
 import com.gemstone.gemfire.cache.AttributesFactory;
@@ -88,10 +89,10 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * Tests the basic use cases for PR persistence.
- *
  */
 public class PersistentPartitionedRegionDUnitTest extends PersistentPartitionedRegionTestBase {
   private static final int NUM_BUCKETS = 15;
@@ -441,7 +442,8 @@ public class PersistentPartitionedRegionDUnitTest extends PersistentPartitionedR
     }
     ex.remove();
   }
-  
+
+  @Category(FlakyTest.class) // GEODE-974: async actions, time sensitive, 65 second timeouts
   public void testRevokeBeforeStartup() throws Throwable {
     IgnoredException.addIgnoredException("RevokeFailedException");
     Host host = Host.getHost(0);
@@ -1070,10 +1072,12 @@ public class PersistentPartitionedRegionDUnitTest extends PersistentPartitionedR
     
     
   
-  /** Test the with redundancy
+  /**
+   * Test the with redundancy
    * 1, we restore the same buckets when the
    * missing member comes back online.
    */
+  @Category(FlakyTest.class) // GEODE-1047: thread unsafe test hook, CountDownLatch, async behavior
   public void testMissingMemberRedundancy1() {
     Host host = Host.getHost(0);
     VM vm0 = host.getVM(0);
@@ -1627,8 +1631,9 @@ public class PersistentPartitionedRegionDUnitTest extends PersistentPartitionedR
    * 4. Member B destroys the bucket and throws a partition offline exception, because it wasn't able to complete initialization.
    * 5. Member A recovers, and gets stuck waiting for member B.
    * @throws Throwable 
-  */
-  public void testBug42226() throws Throwable {
+   */
+  @Category(FlakyTest.class) // GEODE-1208: time sensitive, multiple non-thread-safe test hooks, async actions
+  public void testBug42226() throws Exception {
     Host host = Host.getHost(0);
     VM vm0 = host.getVM(0);
     VM vm1 = host.getVM(1);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionOldConfigDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionOldConfigDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionOldConfigDUnitTest.java
index 3912b90..c37ac69 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionOldConfigDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/PersistentPartitionedRegionOldConfigDUnitTest.java
@@ -22,11 +22,7 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.PartitionAttributesFactory;
 import com.gemstone.gemfire.cache.RegionAttributes;
 
-/**
- *
- */
-public class PersistentPartitionedRegionOldConfigDUnitTest extends
-    PersistentPartitionedRegionDUnitTest {
+public class PersistentPartitionedRegionOldConfigDUnitTest extends PersistentPartitionedRegionDUnitTest {
 
   public PersistentPartitionedRegionOldConfigDUnitTest(String name) {
     super(name);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
index e64759f..3fcd791 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningDUnitTest.java
@@ -19,6 +19,8 @@ package com.gemstone.gemfire.internal.cache.partitioned.fixed;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.DuplicatePrimaryPartitionException;
 import com.gemstone.gemfire.cache.EntryNotFoundException;
 import com.gemstone.gemfire.cache.FixedPartitionAttributes;
@@ -28,14 +30,12 @@ import com.gemstone.gemfire.test.dunit.AsyncInvocation;
 import com.gemstone.gemfire.test.dunit.IgnoredException;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.Host;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * This Dunit test class have multiple tests to tests different validations of
  * static partitioning
- * 
- * 
  */
-
 public class FixedPartitioningDUnitTest extends FixedPartitioningTestBase {
 
   public FixedPartitioningDUnitTest(String name) {
@@ -453,7 +453,7 @@ public class FixedPartitioningDUnitTest extends FixedPartitioningTestBase {
     
   }
 
-  
+  @Category(FlakyTest.class) // GEODE-567: async actions, waitForCriterion, time sensitive, non-thread-safe test hook, eats exceptions (partially fixed)
   public void testBug43283() {
     member1.invoke(() -> FixedPartitioningTestBase.createCacheOnMember());
     member2.invoke(() -> FixedPartitioningTestBase.createCacheOnMember());
@@ -501,7 +501,7 @@ public class FixedPartitioningDUnitTest extends FixedPartitioningTestBase {
       catch (Exception e) {
         e.printStackTrace();
         if (!(e.getCause() instanceof PartitionNotAvailableException)) {
-          fail("exception thrown is not PartitionNotAvailableException");
+          Assert.fail("exception thrown is not PartitionNotAvailableException", e);
         }
       }
       try {
@@ -511,7 +511,7 @@ public class FixedPartitioningDUnitTest extends FixedPartitioningTestBase {
       }
       catch (InterruptedException e) {
         e.printStackTrace();
-        fail("Unexpected Exception");
+        Assert.fail("Unexpected Exception", e);
       }
     } finally {
       member1.invoke(() -> FixedPartitioningTestBase.resetPRObserverBeforeCalculateStartingBucketId());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
index 67dfbee..38fcdd3 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
@@ -21,6 +21,7 @@ import java.util.Iterator;
 import java.util.List;
 import java.util.Properties;
 
+import org.junit.experimental.categories.Category;
 import util.TestException;
 
 import com.gemstone.gemfire.cache.AttributesFactory;
@@ -53,15 +54,12 @@ import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * Tests propagation of destroy entry operation across the vms
- *
- *
  */
-
-public class DestroyEntryPropagationDUnitTest extends DistributedTestCase
-{
+public class DestroyEntryPropagationDUnitTest extends DistributedTestCase {
 
   VM vm0 = null;
 
@@ -177,8 +175,8 @@ public class DestroyEntryPropagationDUnitTest extends DistributedTestCase
    * are situation of Interest List fail over
    *
    */
-  public void testVerifyDestroyNotReceivedBySender()
-  {
+  @Category(FlakyTest.class) // GEODE-897: random port, time sensitive, waitForCriterion, 2 minute timeouts, eats exception (1 fixed)
+  public void testVerifyDestroyNotReceivedBySender() {
     final int maxWaitTime = Integer.getInteger(WAIT_PROPERTY, WAIT_DEFAULT).intValue();
     //First create entries on both servers via the two client
     vm2.invoke(() -> DestroyEntryPropagationDUnitTest.createEntriesK1andK2());
@@ -294,7 +292,7 @@ public class DestroyEntryPropagationDUnitTest extends DistributedTestCase
       }
     }
     catch (Exception ex) {
-      fail("while killing Server  " + ex);
+      Assert.fail("while killing Server", ex);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
index d92d6e9..693ead4 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
@@ -20,6 +20,8 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.Properties;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheFactory;
@@ -47,14 +49,12 @@ import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
 import com.gemstone.gemfire.internal.cache.CacheServerImpl;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * Test to verify Startup. and failover during startup.
- *
- *
  */
-public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
-{
+public class HAStartupAndFailoverDUnitTest extends DistributedTestCase {
   protected static Cache cache = null;
   VM server1 = null;
   VM server2 = null;
@@ -204,8 +204,8 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
     /**
      * verify that Primary Should Be Null And EPList Should Be Empty When All Servers Are Dead
      */
-    public void testPrimaryShouldBeNullAndEPListShouldBeEmptyWhenAllServersAreDead() throws Exception
-    {
+    @Category(FlakyTest.class) // GEODE-1045: random ports, time senstive, waitForCriterion
+    public void testPrimaryShouldBeNullAndEPListShouldBeEmptyWhenAllServersAreDead() throws Exception {
       createClientCache(this.getName(), NetworkUtils.getServerHostName(server1.getHost()));
       verifyPrimaryShouldNotBeNullAndEPListShouldNotBeEmpty();
       server1.invoke(() -> HAStartupAndFailoverDUnitTest.stopServer());
@@ -214,6 +214,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       verifyDeadAndLiveServers(3,0);
       verifyPrimaryShouldBeNullAndEPListShouldBeEmpty();
     }
+
     /**
      * Tests failover initialization by cacheClientUpdater Thread
      * on failure in Primary Server
@@ -288,9 +289,8 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
     /**
      * Tests failover initialization by cache operation Threads on secondary
      */
-    public void testInitiateFailoverByCacheOperationThreads_Secondary() throws Exception
-    {
-
+    @Category(FlakyTest.class) // GEODE-357: random ports, eats exceptions (fixed 1), time sensitive, waitForCriterions
+    public void testInitiateFailoverByCacheOperationThreads_Secondary() throws Exception {
       // create a client with large retry interval for server monitors and no client updater thread
       // so that only cache operation can detect a server failure and should initiate failover
       createClientCacheWithLargeRetryIntervalAndWithoutCallbackConnection(this.getName()
@@ -377,7 +377,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       bs.stop();
     }
     catch (Exception ex) {
-      fail("while setting stopServer  " + ex);
+      Assert.fail("while setting stopServer", ex);
     }
   }
 
@@ -405,6 +405,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       try{
         assertNull("Primary endpoint should be null as all server are dead", pool.getPrimaryName());
         assertEquals("Endpoint List should be Empty as all server are dead", 0, pool.getConnectedServerCount());
+        fail("NoSubscriptionServersAvailableException is expected"); // TODO:KIRK: added this line
       } catch (NoSubscriptionServersAvailableException e) {
         // pass
       } catch(Exception e){

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
index 94083f7..26cfdfa 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
@@ -20,6 +20,8 @@ import java.util.Iterator;
 import java.util.Map;
 import java.util.Properties;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheFactory;
@@ -49,16 +51,13 @@ import com.gemstone.gemfire.test.dunit.NetworkUtils;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
- * 
- * 
  * Tests the reliable messaging functionality - Client sends a periodic
  * ack to the primary server for the messages received.
- * 
  */
-public class ReliableMessagingDUnitTest extends DistributedTestCase
-{
+public class ReliableMessagingDUnitTest extends DistributedTestCase {
 
   static VM server1 = null;
 
@@ -106,11 +105,12 @@ public class ReliableMessagingDUnitTest extends DistributedTestCase
     server1.invoke(() -> ReliableMessagingDUnitTest.checkTidAndSeq());   
   }
 
-  /*
+  /**
    * If the primary fails before receiving an ack from the messages it delivered
    * then it should send an ack to the new primary so that new primary can sends
    * QRM to other redundant servers.    
    */
+  @Category(FlakyTest.class) // GEODE-694: async queuing
   public void testPeriodicAckSendByClientPrimaryFailover() throws Exception {    
     IgnoredException.addIgnoredException("java.net.ConnectException");
     createEntries();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
index ab673a6..69781c4 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
@@ -22,6 +22,7 @@ import java.util.List;
 import java.util.Properties;
 
 import org.junit.Ignore;
+import org.junit.experimental.categories.Category;
 
 import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
@@ -52,9 +53,9 @@ import com.gemstone.gemfire.test.dunit.NetworkUtils;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
- *
  * Start client 1
  * Start client 2
  * Start Server 1
@@ -69,13 +70,8 @@ import com.gemstone.gemfire.test.dunit.WaitCriterion;
  *
  * The key is to verify that the memberid being used by the client
  * to register with the server is the same across servers
- *
- *
- *
  */
-
-public class UpdatePropagationDUnitTest extends DistributedTestCase
-{
+public class UpdatePropagationDUnitTest extends DistributedTestCase {
 
   VM server1 = null;
 
@@ -253,10 +249,9 @@ public class UpdatePropagationDUnitTest extends DistributedTestCase
   /**
    * This tests whether the updates are received by other clients or not , if there are
    * situation of Interest List fail over
-   *
    */
-  public void testVerifyUpdatesReceivedByOtherClients()
-  {
+  @Category(FlakyTest.class) // GEODE-430: time sensitive, random ports, port reuse, thread sleeps (5 seconds), eats exceptions (fixed 1), async actions, waitForCriterion
+  public void testVerifyUpdatesReceivedByOtherClients() {
     final int maxWaitTime = Integer.getInteger(WAIT_PROPERTY, WAIT_DEFAULT).intValue();
     //  First create entries on both servers via the two client
     client1.invoke(() -> createEntriesK1andK2());
@@ -390,7 +385,7 @@ public class UpdatePropagationDUnitTest extends DistributedTestCase
       srp.putOnForTestsOnly(conn, "key2", "server-value2", new EventID(new byte[] {1},159632,2), null);
     }
     catch (Exception ex) {
-      fail("while setting acquireConnections  " + ex);
+      Assert.fail("while setting acquireConnections", ex);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
index fbe97bc..cec93fa 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerDUnitTest.java
@@ -26,6 +26,7 @@ import com.gemstone.gemfire.cache.Declarable;
 import com.gemstone.gemfire.cache.EntryEvent;
 import com.gemstone.gemfire.cache.wan.GatewayEventSubstitutionFilter;
 import org.junit.Ignore;
+import org.junit.experimental.categories.Category;
 
 import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.asyncqueue.AsyncEventQueueFactory;
@@ -39,6 +40,7 @@ import com.gemstone.gemfire.internal.cache.wan.AsyncEventQueueTestBase;
 import com.gemstone.gemfire.test.dunit.LogWriterUtils;
 import com.gemstone.gemfire.test.dunit.SerializableRunnableIF;
 import com.gemstone.gemfire.test.dunit.Wait;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 public class AsyncEventListenerDUnitTest extends AsyncEventQueueTestBase {
 
@@ -1389,6 +1391,7 @@ public class AsyncEventListenerDUnitTest extends AsyncEventQueueTestBase {
    * killed and subsequently vm6 is brought up. Buckets are now rebalanced
    * between vm4 & vm6.
    */
+  @Category(FlakyTest.class) // GEODE-688 & GEODE-713: random ports, thread sleeps, async actions
   public void testParallelAsyncEventQueueHA_Scenario2() {
     Integer lnPort = (Integer)vm0.invoke(() -> AsyncEventQueueTestBase.createFirstLocatorWithDSId( 1 ));
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerOffHeapDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerOffHeapDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerOffHeapDUnitTest.java
index 7feec9a..e78dd6b 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerOffHeapDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/cache/wan/asyncqueue/AsyncEventListenerOffHeapDUnitTest.java
@@ -16,10 +16,8 @@
  */
 package com.gemstone.gemfire.internal.cache.wan.asyncqueue;
 
-
 @SuppressWarnings("serial")
-public class AsyncEventListenerOffHeapDUnitTest extends
-    AsyncEventListenerDUnitTest {
+public class AsyncEventListenerOffHeapDUnitTest extends AsyncEventListenerDUnitTest {
 
   public AsyncEventListenerOffHeapDUnitTest(String name) {
     super(name);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/DLockManagementDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/DLockManagementDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/DLockManagementDUnitTest.java
index 5da954f..29a3a85 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/DLockManagementDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/DLockManagementDUnitTest.java
@@ -21,6 +21,8 @@ import java.util.Set;
 
 import javax.management.ObjectName;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.distributed.DistributedLockService;
 import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
@@ -29,17 +31,18 @@ import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedM
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.management.internal.MBeanJMXAdapter;
 import com.gemstone.gemfire.management.internal.SystemManagementService;
+import com.gemstone.gemfire.test.dunit.Assert;
 import com.gemstone.gemfire.test.dunit.LogWriterUtils;
 import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 public class DLockManagementDUnitTest extends ManagementTestBase {
 
   private static final long serialVersionUID = 1L;
 
-
   private static final String LOCK_SERVICE_NAME = "testLockService";
   
   // This must be bigger than the dunit ack-wait-threshold for the revoke
@@ -47,7 +50,6 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
   // 60 seconds.
   private static final int MAX_WAIT = 70 * 1000;
 
- 
   public DLockManagementDUnitTest(String name) {
     super(name);
 
@@ -58,7 +60,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
    * 
    * @throws Exception
    */
-
+  @Category(FlakyTest.class) // GEODE-173: eats exceptions, HeadlessGFSH, time sensitive, waitForCriterions
   public void testDLockMBean() throws Throwable {
     
     initManagement(false);
@@ -90,7 +92,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
    * 
    * @throws Exception
    */
-
+  @Category(FlakyTest.class) // GEODE-553: waitForCriterion, eats exceptions, HeadlessGFSH
   public void testDLockAggregate() throws Throwable {
     initManagement(false);
     VM[] managedNodes = new VM[getManagedNodeList()
@@ -156,7 +158,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
             }, MAX_WAIT, 500, true);
 
           } catch (Exception e) {
-            fail("could not remove proxies in required time");
+            throw new AssertionError("could not remove proxies in required time", e);
 
           }
           assertNull(bean);
@@ -360,7 +362,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
             bean = MBeanUtil.getLockServiceMbeanProxy(member, LOCK_SERVICE_NAME);
           } catch (Exception e) {
             InternalDistributedSystem.getLoggerI18n().fine(
-                "Undesired Result , LockServiceMBean Should not be null" + e);
+                "Undesired Result , LockServiceMBean Should not be null", e);
 
           }
           assertNotNull(bean);
@@ -394,7 +396,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
               .fetchDistributedLockServiceObjectName(LOCK_SERVICE_NAME);
           assertEquals(expected, actual);
         } catch (Exception e) {
-          fail("Lock Service Navigation Failed " + e);
+          throw new AssertionError("Lock Service Navigation Failed ", e);
         }
 
         try {
@@ -404,7 +406,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
               lockServiceMember.getId(), LOCK_SERVICE_NAME);
           assertEquals(expected, actual);
         } catch (Exception e) {
-          fail("Lock Service Navigation Failed " + e);
+          throw new AssertionError("Lock Service Navigation Failed ", e);
         }
 
       }
@@ -444,7 +446,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
             }, MAX_WAIT, 500, true);
 
           } catch (Exception e) {
-            fail("could not remove Aggregate Bean in required time");
+            throw new AssertionError("could not remove Aggregate Bean in required time", e);
 
           }
           return;
@@ -455,7 +457,7 @@ public class DLockManagementDUnitTest extends ManagementTestBase {
             bean = MBeanUtil.getDistributedLockMbean(LOCK_SERVICE_NAME, expectedMembers);
           } catch (Exception e) {
             InternalDistributedSystem.getLoggerI18n().fine(
-                "Undesired Result , LockServiceMBean Should not be null" + e);
+                "Undesired Result , LockServiceMBean Should not be null", e);
 
           }
           assertNotNull(bean);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
index 5851878..be73adc 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
@@ -23,6 +23,8 @@ import java.util.List;
 import java.util.Properties;
 import java.util.Set;
 
+import org.junit.experimental.categories.Category;
+
 import com.gemstone.gemfire.InternalGemFireException;
 import com.gemstone.gemfire.LogWriter;
 import com.gemstone.gemfire.cache.AttributesFactory;
@@ -54,13 +56,13 @@ import com.gemstone.gemfire.test.dunit.SerializableCallable;
 import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.Wait;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * Tests the UniversalMembershipListenerAdapter.
  *
  * @since 4.2.1
  */
-
 public class UniversalMembershipListenerAdapterDUnitTest extends ClientServerTestCase {
   protected static final boolean CLIENT = true;
   protected static final boolean SERVER = false;
@@ -699,6 +701,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends ClientServerTes
   /**
    * Tests notification of events for loner bridge clients in server process.
    */
+  @Category(FlakyTest.class) // GEODE-1174: random port, async behavior, condition await loops
   public void testSystemClientEventsInServer() throws Exception {
      try {
        doTestSystemClientEventsInServer();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
index 6a761b4..4d651a2 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CliCommandTestBase.java
@@ -268,9 +268,9 @@ public abstract class CliCommandTestBase extends JUnit4CacheTestCase {
       info("Started testable shell: " + shell);
       return shell;
     } catch (ClassNotFoundException e) {
-      throw new AssertionError(getStackTrace(e));
+      throw new AssertionError(e);
     } catch (IOException e) {
-      throw new AssertionError(getStackTrace(e));
+      throw new AssertionError(e);
     }
   }
 
@@ -333,9 +333,9 @@ public abstract class CliCommandTestBase extends JUnit4CacheTestCase {
     try {
       info("Executing command " + command + " with command Mgr " + CommandManager.getInstance());
     } catch (ClassNotFoundException cnfex) {
-      throw new AssertionError(getStackTrace(cnfex));
+      throw new AssertionError(cnfex);
     } catch (IOException ioex) {
-      throw new AssertionError(getStackTrace(ioex));
+      throw new AssertionError(ioex);
     }
 
     shell.executeCommand(command);
@@ -528,12 +528,6 @@ public abstract class CliCommandTestBase extends JUnit4CacheTestCase {
     return stringToSearch.substring(startIndex, endIndex);
   }
 
-  protected static String getStackTrace(Throwable aThrowable) {
-    StringWriter sw = new StringWriter();
-    aThrowable.printStackTrace(new PrintWriter(sw, true));
-    return sw.toString();
-  }
-
   protected void info(String string) {
     getLogWriter().info(string);
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
index b6692c7..92ed262 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/CreateAlterDestroyRegionCommandsDUnitTest.java
@@ -36,7 +36,6 @@ import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
 
 import org.junit.Ignore;
-import org.junit.Rule;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
@@ -68,12 +67,10 @@ import com.gemstone.gemfire.management.internal.cli.util.CommandStringBuilder;
 import com.gemstone.gemfire.test.dunit.Host;
 import com.gemstone.gemfire.test.dunit.SerializableCallable;
 import com.gemstone.gemfire.test.dunit.VM;
-import com.gemstone.gemfire.test.junit.Retry;
 import com.gemstone.gemfire.test.junit.categories.DistributedTest;
 import com.gemstone.gemfire.test.junit.categories.FlakyTest;
-import com.gemstone.gemfire.test.junit.rules.RetryRule;
 
-@Category({ DistributedTest.class, FlakyTest.class }) // GEODE-973
+@Category(DistributedTest.class)
 public class CreateAlterDestroyRegionCommandsDUnitTest extends CliCommandTestBase {
 
   private static final long serialVersionUID = 1L;
@@ -93,9 +90,6 @@ public class CreateAlterDestroyRegionCommandsDUnitTest extends CliCommandTestBas
 
   final List<String> filesToBeDeleted = new CopyOnWriteArrayList<String>();
 
-  @Rule
-  public RetryRule retryRule = new RetryRule();
-
   /**
    * Asserts that the "compressor" option for the "create region" command succeeds for a recognized compressor.
    */
@@ -361,8 +355,8 @@ public class CreateAlterDestroyRegionCommandsDUnitTest extends CliCommandTestBas
     };
   }
 
+  @Category(FlakyTest.class) // GEODE-973: random ports, BindException, java.rmi.server.ExportException: Port already in use
   @Test
-  @Retry(2) // GEODE-973: getRandomAvailablePort
   public void testCreateRegion46391() throws IOException {
     createDefaultSetup(null); // GEODE-973: getRandomAvailablePort
     String command = CliStrings.CREATE_REGION + " --" + CliStrings.CREATE_REGION__REGION + "=" + this.region46391 + " --" + CliStrings.CREATE_REGION__REGIONSHORTCUT + "=REPLICATE";

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
index e8ee713..7a9186d 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/DiskStoreCommandsDUnitTest.java
@@ -69,6 +69,7 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
 import com.gemstone.gemfire.test.junit.categories.DistributedTest;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * The DiskStoreCommandsDUnitTest class is a distributed test suite of test cases for testing the disk store commands
@@ -831,6 +832,7 @@ public class DiskStoreCommandsDUnitTest extends CliCommandTestBase {
     assertEquals(true, resultAsString.contains(vm1Name));
   }
 
+  @Category(FlakyTest.class) // GEODE-1206: random ports, BindException
   @Test
   public void testCreateDiskStore() {
     final String diskStore1Name = "testCreateDiskStore1";

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
index 1b0c9cf..6858f78 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/GemfireDataCommandsDUnitTest.java
@@ -81,6 +81,7 @@ import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.dunit.WaitCriterion;
 import com.gemstone.gemfire.test.junit.categories.DistributedTest;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * Dunit class for testing gemfire data commands : get, put, remove, select, rebalance
@@ -1212,6 +1213,7 @@ public class GemfireDataCommandsDUnitTest extends CliCommandTestBase {
     vm2.invoke(checkPutKeysInVM2);
   }
 
+  @Category(FlakyTest.class) // GEODE-1182: random ports, BindException, HeadlessGFSH, waitForCriterion, time sensitive
   @Test
   public void testGetLocateEntryJsonKeys() {
     final String keyPrefix = "testKey";

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/IndexCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/IndexCommandsDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/IndexCommandsDUnitTest.java
index 123c3bc..12c5249 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/IndexCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/IndexCommandsDUnitTest.java
@@ -55,7 +55,7 @@ import com.gemstone.gemfire.test.dunit.WaitCriterion;
 import com.gemstone.gemfire.test.junit.categories.DistributedTest;
 import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
-@Category({ DistributedTest.class, FlakyTest.class }) // see GEODE-689, GEODE-1048
+@Category(DistributedTest.class)
 public class IndexCommandsDUnitTest extends CliCommandTestBase {
 
   private static final long serialVersionUID = 1L;
@@ -230,6 +230,7 @@ public class IndexCommandsDUnitTest extends CliCommandTestBase {
     assertTrue(resultAsString.contains(indexName));
   }
 
+  @Category(FlakyTest.class) // GEODE-1048: HeadlessGFSH, random ports
   @Test
   public void testCreateMultipleIndexes() {
     setupSystem();
@@ -264,6 +265,7 @@ public class IndexCommandsDUnitTest extends CliCommandTestBase {
     assertTrue(resultAsString.contains(indexName));
   }
 
+  @Category(FlakyTest.class) // GEODE-689: random ports, unused returns, HeadlessGfsh
   @Test
   public void testClearMultipleIndexes() {
     setupSystem();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java
index f495944..ff84036 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/ListAndDescribeRegionDUnitTest.java
@@ -46,6 +46,7 @@ import com.gemstone.gemfire.test.dunit.Host;
 import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.junit.categories.DistributedTest;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 @Category(DistributedTest.class)
 public class ListAndDescribeRegionDUnitTest extends CliCommandTestBase {
@@ -286,6 +287,7 @@ public class ListAndDescribeRegionDUnitTest extends CliCommandTestBase {
    * Asserts that a describe region command issued on a region with compression returns the correct non default region
    * attribute for compression and the correct codec value.
    */
+  @Category(FlakyTest.class) // GEODE-1033: HeadlesssGFSH, random port, Snappy dependency
   @Test
   public void testDescribeRegionWithCompressionCodec() {
     final String regionName = "compressedRegion";

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
index 1c6f141..848c1ba 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsDUnitTest.java
@@ -60,7 +60,7 @@ import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 /**
  * Dunit class for testing gemfire function commands : GC, Shutdown
  */
-@Category({ DistributedTest.class, FlakyTest.class }) // see GEODE-1034
+@Category(DistributedTest.class)
 public class MiscellaneousCommandsDUnitTest extends CliCommandTestBase {
 
   private static final long serialVersionUID = 1L;
@@ -78,6 +78,7 @@ public class MiscellaneousCommandsDUnitTest extends CliCommandTestBase {
     });
   }
 
+  @Category(FlakyTest.class) // GEODE-1034: random ports, GC sensitive, memory sensitive, HeadlessGFSH
   @Test
   public void testGCForGroup() {
     Properties localProps = new Properties();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f12ece59/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart3DUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart3DUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart3DUnitTest.java
index 5c159e8..626dbe1 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart3DUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/management/internal/cli/commands/MiscellaneousCommandsExportLogsPart3DUnitTest.java
@@ -41,6 +41,7 @@ import com.gemstone.gemfire.test.dunit.Host;
 import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 import com.gemstone.gemfire.test.junit.categories.DistributedTest;
+import com.gemstone.gemfire.test.junit.categories.FlakyTest;
 
 /**
  * Dunit class for testing gemfire function commands : export logs
@@ -80,6 +81,7 @@ public class MiscellaneousCommandsExportLogsPart3DUnitTest extends CliCommandTes
     return ("_" + formattedStartDate);
   }
 
+  @Category(FlakyTest.class) // GEODE-672: random ports, java.rmi.server.ExportException: Port already in use, HeadlessGfsh, disk IO
   @Test
   public void testExportLogsForGroup() throws IOException {
     Properties localProps = new Properties();



Mime
View raw message