You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ag...@apache.org on 2016/05/03 23:45:43 UTC

[29/60] [abbrv] incubator-geode git commit: GEODE-1240: Changed the test to use Awaitility with a maximum timeout period. This might work better than the time sensitive conditionals that this test uses.

GEODE-1240: Changed the test to use Awaitility with a maximum timeout period. This might work better than the time sensitive conditionals that this test uses.


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

Branch: refs/heads/feature/GEODE-1209
Commit: 9fbf219c383ff499fa34c7cf9ad846ecdffcf3d4
Parents: ecbbf76
Author: Udo Kohlmeyer <uk...@pivotal.io>
Authored: Thu Apr 28 04:14:00 2016 +1000
Committer: Udo Kohlmeyer <uk...@pivotal.io>
Committed: Thu Apr 28 11:32:48 2016 +1000

----------------------------------------------------------------------
 .../cache30/ClientMembershipDUnitTest.java      | 799 +++++++++----------
 1 file changed, 398 insertions(+), 401 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9fbf219c/geode-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java
index 46e91b0..9036e5e 100755
--- a/geode-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java
@@ -16,24 +16,7 @@
  */
 package com.gemstone.gemfire.cache30;
 
-import java.io.IOException;
-import java.net.InetAddress;
-import java.net.InetSocketAddress;
-import java.net.Socket;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-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.Statistics;
 import com.gemstone.gemfire.StatisticsType;
 import com.gemstone.gemfire.cache.AttributesFactory;
@@ -48,27 +31,23 @@ import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.DurableClientAttributes;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
-import com.gemstone.gemfire.internal.SocketCreator;
-import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection;
-import com.gemstone.gemfire.internal.logging.LocalLogWriter;
-import com.gemstone.gemfire.internal.logging.InternalLogWriter;
 import com.gemstone.gemfire.management.membership.ClientMembership;
 import com.gemstone.gemfire.management.membership.ClientMembershipEvent;
 import com.gemstone.gemfire.management.membership.ClientMembershipListener;
-import com.gemstone.gemfire.test.dunit.Assert;
-import com.gemstone.gemfire.test.dunit.Host;
-import com.gemstone.gemfire.test.dunit.IgnoredException;
-import com.gemstone.gemfire.test.dunit.Invoke;
-import com.gemstone.gemfire.test.dunit.NetworkUtils;
-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.dunit.WaitCriterion;
+import com.gemstone.gemfire.test.dunit.*;
 import com.gemstone.gemfire.test.junit.categories.FlakyTest;
+import com.jayway.awaitility.Awaitility;
+import org.junit.experimental.categories.Category;
+
+import java.io.IOException;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.Socket;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * Tests the ClientMembership API including ClientMembershipListener.
@@ -79,13 +58,13 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
 
   protected static final boolean CLIENT = true;
   protected static final boolean SERVER = false;
-  
+
   protected static final int JOINED = 0;
   protected static final int LEFT = 1;
   protected static final int CRASHED = 2;
-  
+
   private static Properties properties;
-    
+
   public ClientMembershipDUnitTest(String name) {
     super(name);
   }
@@ -94,16 +73,17 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
   public final void postTearDownCacheTestCase() throws Exception {
     Invoke.invokeInEveryVM((() -> cleanup()));
   }
-  
+
   public static void cleanup() {
     properties = null;
     InternalClientMembership.unregisterAllListeners();
   }
-  
+
   private void waitForAcceptsInProgressToBe(final int target)
-    throws Exception {
+      throws Exception {
     WaitCriterion ev = new WaitCriterion() {
       String excuse;
+
       public boolean done() {
         int actual = getAcceptsInProgress();
         if (actual == getAcceptsInProgress()) {
@@ -112,13 +92,22 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
         excuse = "accepts in progress (" + actual + ") never became " + target;
         return false;
       }
+
       public String description() {
         return excuse;
       }
     };
-    Wait.waitForCriterion(ev, 60 * 1000, 200, true);
+    Awaitility.await().pollInterval(200, TimeUnit.MILLISECONDS).atMost(60, TimeUnit.SECONDS)
+        .until(() -> {
+          int actual = getAcceptsInProgress();
+          if (actual == getAcceptsInProgress()) {
+            return true;
+          }
+          return false;
+        });
+//    Wait.waitForCriterion(ev, 60 * 1000, 200, true);
   }
-  
+
   protected int getAcceptsInProgress() {
     StatisticsType st = InternalDistributedSystem.getAnyInstance().findType("CacheServerStats");
     Statistics[] s = InternalDistributedSystem.getAnyInstance().findStatisticsByType(st);
@@ -127,8 +116,9 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
 
   protected static Socket meanSocket;
 
-  /** test that a server times out waiting for a handshake that
-      never arrives. 
+  /**
+   * test that a server times out waiting for a handshake that
+   * never arrives.
    */
   public void testConnectionTimeout() throws Exception {
     IgnoredException.addIgnoredException("failed accepting client connection");
@@ -137,101 +127,97 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     final VM vm0 = host.getVM(0);
     System.setProperty(AcceptorImpl.ACCEPT_TIMEOUT_PROPERTY_NAME, "1000");
     try {
-    final int port = startBridgeServer(0);
-//    AsyncInvocation ai = null;
-    try {
-      assertTrue(port != 0);
-      SerializableRunnable createMeanSocket = new CacheSerializableRunnable("Connect to server with socket") {
-        public void run2() throws CacheException {
-          getCache(); // create a cache so we have stats
-          System.out.println("connecting to cache server with socket");
-          try {
-            InetAddress addr = InetAddress.getByName(hostName);
-            meanSocket = new Socket(addr, port);
+      final int port = startBridgeServer(0);
+      //    AsyncInvocation ai = null;
+      try {
+        assertTrue(port != 0);
+        SerializableRunnable createMeanSocket = new CacheSerializableRunnable("Connect to server with socket") {
+          public void run2() throws CacheException {
+            getCache(); // create a cache so we have stats
+            System.out.println("connecting to cache server with socket");
+            try {
+              InetAddress addr = InetAddress.getByName(hostName);
+              meanSocket = new Socket(addr, port);
+            } catch (Exception e) {
+              throw new RuntimeException("Test failed to connect or was interrupted", e);
+            }
           }
-          catch (Exception e) {
-            throw new RuntimeException("Test failed to connect or was interrupted", e);
+        };
+        SerializableRunnable closeMeanSocket = new CacheSerializableRunnable("close mean socket") {
+          public void run2() throws CacheException {
+            System.out.println("closing mean socket");
+            try {
+              meanSocket.close();
+            } catch (IOException ignore) {
+            }
           }
-        }
-      };
-      SerializableRunnable closeMeanSocket = new CacheSerializableRunnable("close mean socket") {
-        public void run2() throws CacheException {
+        };
+
+        assertEquals(0, getAcceptsInProgress());
+
+        System.out.println("creating mean socket");
+        vm0.invoke(createMeanSocket);
+        try {
+          System.out.println("waiting to see it connect on server");
+          waitForAcceptsInProgressToBe(1);
+        } finally {
           System.out.println("closing mean socket");
-          try {
-            meanSocket.close();
-          }
-          catch (IOException ignore) {
-          }
+          vm0.invoke(closeMeanSocket);
         }
-      };
+        System.out.println("waiting to see accept to go away on server");
+        waitForAcceptsInProgressToBe(0);
 
-      assertEquals(0, getAcceptsInProgress());
-      
-      System.out.println("creating mean socket");
-      vm0.invoke(createMeanSocket);
-      try {
-        System.out.println("waiting to see it connect on server");
-        waitForAcceptsInProgressToBe(1);
-      } finally {
-        System.out.println("closing mean socket");
-        vm0.invoke(closeMeanSocket);
-      }
-      System.out.println("waiting to see accept to go away on server");
-      waitForAcceptsInProgressToBe(0);
+        // now try it without a close. Server should timeout the mean connect
+        System.out.println("creating mean socket 2");
+        vm0.invoke(createMeanSocket);
+        try {
+          System.out.println("waiting to see it connect on server 2");
+          waitForAcceptsInProgressToBe(1);
+          System.out.println("waiting to see accept to go away on server without us closing");
+          waitForAcceptsInProgressToBe(0);
+        } finally {
+          System.out.println("closing mean socket 2");
+          vm0.invoke(closeMeanSocket);
+        }
 
-      // now try it without a close. Server should timeout the mean connect
-      System.out.println("creating mean socket 2");
-      vm0.invoke(createMeanSocket);
-      try {
-        System.out.println("waiting to see it connect on server 2");
-        waitForAcceptsInProgressToBe(1);
-        System.out.println("waiting to see accept to go away on server without us closing");
-        waitForAcceptsInProgressToBe(0);
+        //       SerializableRunnable denialOfService = new CacheSerializableRunnable("Do lots of connects") {
+        //         public void run2() throws CacheException {
+        //           int connectionCount = 0;
+        //           ArrayList al = new ArrayList(60000);
+        //           try {
+        //             InetAddress addr = InetAddress.getLocalHost();
+        //             for (;;) {
+        //               Socket s = new Socket(addr, port);
+        //               al.add(s);
+        //               connectionCount++;
+        //               getLogWriter().info("connected # " + connectionCount + " s=" + s);
+        // //               try {
+        // //                 s.close();
+        // //               } catch (IOException ignore) {}
+        //             }
+        //           }
+        //           catch (Exception e) {
+        //             getLogWriter().info("connected # " + connectionCount
+        //                                 + " stopped because of exception " + e);
+        //             Iterator it = al.iterator();
+        //             while (it.hasNext()) {
+        //               Socket s = (Socket)it.next();
+        //               try {
+        //                 s.close();
+        //               } catch (IOException ignore) {}
+        //             }
+        //           }
+        //         }
+        //       };
+        //       // now pretend to do a denial of service attack by doing a bunch of connects
+        //       // really fast and see what that does to the server's fds.
+        //       getLogWriter().info("doing denial of service attach");
+        //       vm0.invoke(denialOfService);
+        //       // @todo darrel: check fd limit?
       } finally {
-        System.out.println("closing mean socket 2");
-        vm0.invoke(closeMeanSocket);
+        stopBridgeServers(getCache());
       }
-
-//       SerializableRunnable denialOfService = new CacheSerializableRunnable("Do lots of connects") {
-//         public void run2() throws CacheException {
-//           int connectionCount = 0;
-//           ArrayList al = new ArrayList(60000);
-//           try {
-//             InetAddress addr = InetAddress.getLocalHost();
-//             for (;;) {
-//               Socket s = new Socket(addr, port);
-//               al.add(s);
-//               connectionCount++;
-//               getLogWriter().info("connected # " + connectionCount + " s=" + s);
-// //               try {
-// //                 s.close();
-// //               } catch (IOException ignore) {}
-//             }
-//           }
-//           catch (Exception e) {
-//             getLogWriter().info("connected # " + connectionCount
-//                                 + " stopped because of exception " + e);
-//             Iterator it = al.iterator();
-//             while (it.hasNext()) {
-//               Socket s = (Socket)it.next();
-//               try {
-//                 s.close();
-//               } catch (IOException ignore) {}
-//             }
-//           }
-//         }
-//       };
-//       // now pretend to do a denial of service attack by doing a bunch of connects
-//       // really fast and see what that does to the server's fds.
-//       getLogWriter().info("doing denial of service attach");
-//       vm0.invoke(denialOfService);
-//       // @todo darrel: check fd limit?
-    }
-    finally {
-      stopBridgeServers(getCache());
-    }
-    }
-    finally {
+    } finally {
       System.getProperties().remove(AcceptorImpl.ACCEPT_TIMEOUT_PROPERTY_NAME);
     }
   }
@@ -241,12 +227,11 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     InternalClientMembership.setForceSynchronous(true);
     try {
       doTestBasicEvents();
-    }
-    finally {
+    } finally {
       InternalClientMembership.setForceSynchronous(false);
     }
   }
-  
+
   /**
    * Tests event notification methods on ClientMembership.
    */
@@ -254,13 +239,13 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     getSystem();
     doTestBasicEvents();
   }
-  
+
   public void doTestBasicEvents() throws Exception {
     final boolean[] fired = new boolean[3];
     final DistributedMember[] member = new DistributedMember[3];
     final String[] memberId = new String[3];
     final boolean[] isClient = new boolean[3];
-    
+
     ClientMembershipListener listener = new ClientMembershipListener() {
       public synchronized void memberJoined(ClientMembershipEvent event) {
         fired[JOINED] = true;
@@ -269,6 +254,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
         isClient[JOINED] = event.isClient();
         notify();
       }
+
       public synchronized void memberLeft(ClientMembershipEvent event) {
         fired[LEFT] = true;
         member[LEFT] = event.getMember();
@@ -276,6 +262,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
         isClient[LEFT] = event.isClient();
         notify();
       }
+
       public synchronized void memberCrashed(ClientMembershipEvent event) {
         fired[CRASHED] = true;
         member[CRASHED] = event.getMember();
@@ -285,11 +272,11 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       }
     };
     ClientMembership.registerClientMembershipListener(listener);
-    
+
     // test JOIN for server
     DistributedMember serverJoined = new TestDistributedMember("serverJoined");
     InternalClientMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[JOINED]) {
         listener.wait(2000);
       }
@@ -309,7 +296,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     // test JOIN for client
     DistributedMember clientJoined = new TestDistributedMember("clientJoined");
     InternalClientMembership.notifyJoined(clientJoined, CLIENT);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[JOINED]) {
         listener.wait(2000);
       }
@@ -329,7 +316,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     // test LEFT for server
     DistributedMember serverLeft = new TestDistributedMember("serverLeft");
     InternalClientMembership.notifyLeft(serverLeft, SERVER);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[LEFT]) {
         listener.wait(2000);
       }
@@ -349,7 +336,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     // test LEFT for client
     DistributedMember clientLeft = new TestDistributedMember("clientLeft");
     InternalClientMembership.notifyLeft(clientLeft, CLIENT);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[LEFT]) {
         listener.wait(2000);
       }
@@ -369,7 +356,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     // test CRASHED for server
     DistributedMember serverCrashed = new TestDistributedMember("serverCrashed");
     InternalClientMembership.notifyCrashed(serverCrashed, SERVER);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[CRASHED]) {
         listener.wait(2000);
       }
@@ -389,7 +376,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     // test CRASHED for client
     DistributedMember clientCrashed = new TestDistributedMember("clientCrashed");
     InternalClientMembership.notifyCrashed(clientCrashed, CLIENT);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[CRASHED]) {
         listener.wait(2000);
       }
@@ -406,15 +393,15 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertTrue(isClient[CRASHED]);
     resetArraysForTesting(fired, member, memberId, isClient);
   }
-  
+
   /**
    * Resets all elements of arrays used for listener testing. Boolean values
    * are reset to false. String values are reset to null.
    */
-  private void resetArraysForTesting(boolean[] fired, 
-                                     DistributedMember[] member,
-                                     String[] memberId, 
-                                     boolean[] isClient) {
+  private void resetArraysForTesting(boolean[] fired,
+      DistributedMember[] member,
+      String[] memberId,
+      boolean[] isClient) {
     for (int i = 0; i < fired.length; i++) {
       fired[i] = false;
       member[i] = null;
@@ -422,7 +409,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       isClient[i] = false;
     }
   }
-  
+
   /**
    * Tests unregisterClientMembershipListener to ensure that no further events
    * are delivered to unregistered listeners.
@@ -432,7 +419,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     final DistributedMember[] member = new DistributedMember[1];
     final String[] memberId = new String[1];
     final boolean[] isClient = new boolean[1];
-    
+
     getSystem();
 
     ClientMembershipListener listener = new ClientMembershipListener() {
@@ -443,17 +430,19 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
         isClient[0] = event.isClient();
         notify();
       }
+
       public void memberLeft(ClientMembershipEvent event) {
       }
+
       public void memberCrashed(ClientMembershipEvent event) {
       }
     };
     ClientMembership.registerClientMembershipListener(listener);
-    
+
     // fire event to make sure listener is registered
     DistributedMember clientJoined = new TestDistributedMember("clientJoined");
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[0]) {
         listener.wait(2000);
       }
@@ -471,7 +460,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     // unregister and verify listener is not notified
     ClientMembership.unregisterClientMembershipListener(listener);
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listener) {
+    synchronized (listener) {
       listener.wait(20);
     }
     assertFalse(fired[0]);
@@ -479,14 +468,14 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(memberId[0]);
     assertFalse(isClient[0]);
   }
-  
+
   public void testMultipleListeners() throws Exception {
     final int NUM_LISTENERS = 4;
     final boolean[] fired = new boolean[NUM_LISTENERS];
     final DistributedMember[] member = new DistributedMember[NUM_LISTENERS];
     final String[] memberId = new String[NUM_LISTENERS];
     final boolean[] isClient = new boolean[NUM_LISTENERS];
-    
+
     getSystem();
 
     final ClientMembershipListener[] listeners = new ClientMembershipListener[NUM_LISTENERS];
@@ -504,17 +493,19 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
           isClient[whichListener] = event.isClient();
           notify();
         }
+
         public void memberLeft(ClientMembershipEvent event) {
         }
+
         public void memberCrashed(ClientMembershipEvent event) {
         }
       };
     }
-    
+
     final DistributedMember clientJoined = new TestDistributedMember("clientJoined");
     InternalClientMembership.notifyJoined(clientJoined, true);
     for (int i = 0; i < NUM_LISTENERS; i++) {
-      synchronized(listeners[i]) {
+      synchronized (listeners[i]) {
         listeners[i].wait(20);
       }
       assertFalse(fired[i]);
@@ -522,17 +513,17 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       assertNull(memberId[i]);
       assertFalse(isClient[i]);
     }
-    
+
     // attempt to register same listener twice... 2nd reg should be ignored
     // failure would cause an assertion failure in memberJoined impl
     ClientMembership.registerClientMembershipListener(listeners[0]);
     ClientMembership.registerClientMembershipListener(listeners[0]);
-    
-    ClientMembershipListener[] registeredListeners = 
-      ClientMembership.getClientMembershipListeners();
+
+    ClientMembershipListener[] registeredListeners =
+        ClientMembership.getClientMembershipListeners();
     assertEquals(1, registeredListeners.length);
     assertEquals(listeners[0], registeredListeners[0]);
-    
+
     ClientMembership.registerClientMembershipListener(listeners[1]);
     registeredListeners = ClientMembership.getClientMembershipListeners();
     assertEquals(2, registeredListeners.length);
@@ -540,7 +531,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertEquals(listeners[1], registeredListeners[1]);
 
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[1]) {
+    synchronized (listeners[1]) {
       if (!fired[1]) {
         listeners[1].wait(2000);
       }
@@ -559,14 +550,14 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       }
     }
     resetArraysForTesting(fired, member, memberId, isClient);
-        
+
     ClientMembership.unregisterClientMembershipListener(listeners[0]);
     registeredListeners = ClientMembership.getClientMembershipListeners();
     assertEquals(1, registeredListeners.length);
     assertEquals(listeners[1], registeredListeners[0]);
-    
+
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[1]) {
+    synchronized (listeners[1]) {
       if (!fired[1]) {
         listeners[1].wait(2000);
       }
@@ -595,7 +586,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertEquals(listeners[3], registeredListeners[2]);
 
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[3]) {
+    synchronized (listeners[3]) {
       if (!fired[3]) {
         listeners[3].wait(2000);
       }
@@ -614,7 +605,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       }
     }
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     ClientMembership.registerClientMembershipListener(listeners[0]);
     registeredListeners = ClientMembership.getClientMembershipListeners();
     assertEquals(4, registeredListeners.length);
@@ -624,7 +615,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertEquals(listeners[0], registeredListeners[3]);
 
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[0]) {
+    synchronized (listeners[0]) {
       if (!fired[0]) {
         listeners[0].wait(2000);
       }
@@ -636,16 +627,16 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       assertTrue(isClient[i]);
     }
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     ClientMembership.unregisterClientMembershipListener(listeners[3]);
     registeredListeners = ClientMembership.getClientMembershipListeners();
     assertEquals(3, registeredListeners.length);
     assertEquals(listeners[1], registeredListeners[0]);
     assertEquals(listeners[2], registeredListeners[1]);
     assertEquals(listeners[0], registeredListeners[2]);
-    
+
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[0]) {
+    synchronized (listeners[0]) {
       if (!fired[0]) {
         listeners[0].wait(2000);
       }
@@ -670,9 +661,9 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertEquals(2, registeredListeners.length);
     assertEquals(listeners[1], registeredListeners[0]);
     assertEquals(listeners[0], registeredListeners[1]);
-    
+
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[0]) {
+    synchronized (listeners[0]) {
       if (!fired[0]) {
         listeners[0].wait(2000);
       }
@@ -696,10 +687,10 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     ClientMembership.unregisterClientMembershipListener(listeners[0]);
     registeredListeners = ClientMembership.getClientMembershipListeners();
     assertEquals(0, registeredListeners.length);
-    
+
     InternalClientMembership.notifyJoined(clientJoined, true);
     for (int i = 0; i < NUM_LISTENERS; i++) {
-      synchronized(listeners[i]) {
+      synchronized (listeners[i]) {
         listeners[i].wait(20);
       }
       assertFalse(fired[i]);
@@ -708,14 +699,14 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       assertFalse(isClient[i]);
     }
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     ClientMembership.registerClientMembershipListener(listeners[1]);
     registeredListeners = ClientMembership.getClientMembershipListeners();
     assertEquals(1, registeredListeners.length);
     assertEquals(listeners[1], registeredListeners[0]);
-    
+
     InternalClientMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[1]) {
+    synchronized (listeners[1]) {
       if (!fired[1]) {
         listeners[1].wait(2000);
       }
@@ -734,11 +725,13 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       }
     }
   }
- 
+
   protected static int testClientMembershipEventsInClient_port;
+
   private static int getTestClientMembershipEventsInClient_port() {
     return testClientMembershipEventsInClient_port;
   }
+
   /**
    * Tests notification of events in client process. Bridge clients detect
    * server joins when the client connects to the server. If the server
@@ -752,28 +745,27 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     final DistributedMember[] member = new DistributedMember[3];
     final String[] memberId = new String[3];
     final boolean[] isClient = new boolean[3];
-    
+
     // create and register ClientMembershipListener in controller vm...
     ClientMembershipListener listener = new ClientMembershipListener() {
-      public synchronized void memberJoined(ClientMembershipEvent event) {
+      public void memberJoined(ClientMembershipEvent event) {
         System.out.println("[testClientMembershipEventsInClient] memberJoined: " + event);
         fired[JOINED] = true;
         member[JOINED] = event.getMember();
         memberId[JOINED] = event.getMemberId();
         isClient[JOINED] = event.isClient();
-        notifyAll();
       }
-      public synchronized void memberLeft(ClientMembershipEvent event) {
+
+      public void memberLeft(ClientMembershipEvent event) {
         System.out.println("[testClientMembershipEventsInClient] memberLeft: " + event);
-//        fail("Please update testClientMembershipEventsInClient to handle memberLeft for BridgeServer.");
       }
-      public synchronized void memberCrashed(ClientMembershipEvent event) {
+
+      public void memberCrashed(ClientMembershipEvent event) {
         System.out.println("[testClientMembershipEventsInClient] memberCrashed: " + event);
         fired[CRASHED] = true;
         member[CRASHED] = event.getMember();
         memberId[CRASHED] = event.getMemberId();
         isClient[CRASHED] = event.isClient();
-        notifyAll();
       }
     };
     ClientMembership.registerClientMembershipListener(listener);
@@ -783,31 +775,29 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     final int[] ports = new int[1];
 
     // create BridgeServer in vm0...
-    vm0.invoke(new CacheSerializableRunnable("Create BridgeServer") {
-      public void run2() throws CacheException {
-        try {
-          System.out.println("[testClientMembershipEventsInClient] Create BridgeServer");
-          getSystem();
-          AttributesFactory factory = new AttributesFactory();
-          factory.setScope(Scope.LOCAL);
-          Region region = createRegion(name, factory.create());
-          assertNotNull(region);
-          assertNotNull(getRootRegion().getSubregion(name));
-          testClientMembershipEventsInClient_port = startBridgeServer(0);
-        }
-        catch(IOException e) {
-          getSystem().getLogWriter().fine(new Exception(e));
-          fail("Failed to start CacheServer on VM1: " + e.getMessage());
-        }
+    vm0.invoke("create Bridge Server", () -> {
+      try {
+        System.out.println("[testClientMembershipEventsInClient] Create BridgeServer");
+        getSystem();
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.LOCAL);
+        Region region = createRegion(name, factory.create());
+        assertNotNull(region);
+        assertNotNull(getRootRegion().getSubregion(name));
+        testClientMembershipEventsInClient_port = startBridgeServer(0);
+      } catch (IOException e) {
+        getSystem().getLogWriter().fine(new Exception(e));
+        fail("Failed to start CacheServer: " + e.getMessage());
       }
     });
-    
+
     // gather details for later creation of ConnectionPool...
     ports[0] = vm0.invoke("getTestClientMembershipEventsInClient_port",
         () -> ClientMembershipDUnitTest.getTestClientMembershipEventsInClient_port());
     assertTrue(ports[0] != 0);
 
-    DistributedMember serverMember = (DistributedMember) vm0.invoke("get distributed member", () -> ClientMembershipDUnitTest.getDistributedMember());
+    DistributedMember serverMember = (DistributedMember) vm0.invoke("get distributed member", () ->
+        ClientMembershipDUnitTest.getDistributedMember());
 
     String serverMemberId = serverMember.toString();
 
@@ -827,17 +817,20 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(member[CRASHED]);
     assertNull(memberId[CRASHED]);
     assertFalse(isClient[CRASHED]);
-    
+
     // sanity check...
     System.out.println("[testClientMembershipEventsInClient] sanity check");
     DistributedMember test = new TestDistributedMember("test");
     InternalClientMembership.notifyJoined(test, SERVER);
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[CRASHED]) {
-        listener.wait(2000);
-      }
-    }
-    
+
+    Awaitility.await().pollInterval(50,TimeUnit.MILLISECONDS).timeout(300,TimeUnit.SECONDS)
+        .pollDelay(50,TimeUnit.MILLISECONDS).until(()->fired[JOINED] || fired[CRASHED]);
+//    synchronized (listener) {
+//      if (!fired[JOINED] && !fired[CRASHED]) {
+//        listener.wait(2000);
+//      }
+//    }
+
     assertTrue(fired[JOINED]);
     assertEquals(test, member[JOINED]);
     assertEquals(test.getId(), memberId[JOINED]);
@@ -851,14 +844,14 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(memberId[CRASHED]);
     assertFalse(isClient[CRASHED]);
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     // create bridge client in controller vm...
     System.out.println("[testClientMembershipEventsInClient] create bridge client");
     Properties config = new Properties();
     config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
     config.setProperty(DistributionConfig.LOCATORS_NAME, "");
     getSystem(config);
-    
+
     try {
       getCache();
       AttributesFactory factory = new AttributesFactory();
@@ -866,26 +859,28 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       ClientServerTestCase.configureConnectionPool(factory, NetworkUtils.getServerHostName(Host.getHost(0)), ports, true, -1, -1, null);
       createRegion(name, factory.create());
       assertNotNull(getRootRegion().getSubregion(name));
-    }
-    catch (CacheException ex) {
+    } catch (CacheException ex) {
       Assert.fail("While creating Region on Edge", ex);
     }
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[CRASHED]) {
-        listener.wait(60 * 1000);
-      }
-    }
-    
+
+    Awaitility.await().pollInterval(50,TimeUnit.MILLISECONDS).timeout(300,TimeUnit.SECONDS)
+        .pollDelay(50,TimeUnit.MILLISECONDS).until(()->fired[JOINED] || fired[CRASHED]);
+//    synchronized(listener) {
+//      if (!fired[JOINED] && !fired[CRASHED]) {
+//        listener.wait(60 * 1000);
+//      }
+//    }
+
     System.out.println("[testClientMembershipEventsInClient] assert client detected server join");
-    
+
     // first check the getCurrentServers() result
-    ClientCache clientCache = (ClientCache)getCache();
+    ClientCache clientCache = (ClientCache) getCache();
     Set<InetSocketAddress> servers = clientCache.getCurrentServers();
     assertTrue(!servers.isEmpty());
     InetSocketAddress serverAddr = servers.iterator().next();
     InetSocketAddress expectedAddr = new InetSocketAddress(serverMember.getHost(), ports[0]);
     assertEquals(expectedAddr, serverAddr);
-    
+
     // now check listener results
     assertTrue(fired[JOINED]);
     assertNotNull(member[JOINED]);
@@ -903,18 +898,17 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertFalse(isClient[CRASHED]);
     resetArraysForTesting(fired, member, memberId, isClient);
 
-    vm0.invoke(new SerializableRunnable("Stop BridgeServer") {
-      public void run() {
-        System.out.println("[testClientMembershipEventsInClient] Stop BridgeServer");
-        stopBridgeServers(getCache());
-      }
-    });
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[CRASHED]) {
-        listener.wait(60 * 1000);
-      }
-    }
-    
+    vm0.invoke("Stop BridgeServer", () -> stopBridgeServers(getCache()));
+
+//    synchronized (listener) {
+//      if (!fired[JOINED] && !fired[CRASHED]) {
+//        listener.wait(60 * 1000);
+//      }
+//    }
+
+    Awaitility.await().pollInterval(50,TimeUnit.MILLISECONDS).timeout(300,TimeUnit.SECONDS)
+        .pollDelay(50,TimeUnit.MILLISECONDS).until(()->fired[JOINED] || fired[CRASHED]);
+
     System.out.println("[testClientMembershipEventsInClient] assert client detected server departure");
     assertFalse(fired[JOINED]);
     assertNull(member[JOINED]);
@@ -931,26 +925,26 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertEquals(serverMemberId, memberId[CRASHED]);
     assertFalse(isClient[CRASHED]);
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     //now test that we redisover the bridge server
-    vm0.invoke(new CacheSerializableRunnable("Recreate BridgeServer") {
-      public void run2() throws CacheException {
-        try {
-          System.out.println("[testClientMembershipEventsInClient] restarting BridgeServer");
-          startBridgeServer(ports[0]);
-        }
-        catch(IOException e) {
-          getSystem().getLogWriter().fine(new Exception(e));
-          fail("Failed to start CacheServer on VM1: " + e.getMessage());
-        }
+    vm0.invoke("Recreate BridgeServer", () -> {
+      try {
+        System.out.println("[testClientMembershipEventsInClient] restarting BridgeServer");
+        startBridgeServer(ports[0]);
+      } catch (IOException e) {
+        getSystem().getLogWriter().fine(new Exception(e));
+        fail("Failed to start CacheServer on VM1: " + e.getMessage());
       }
     });
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[CRASHED]) {
-        listener.wait(60 * 1000);
-      }
-    }
-    
+//    synchronized (listener) {
+//      if (!fired[JOINED] && !fired[CRASHED]) {
+//        listener.wait(60 * 1000);
+//      }
+//    }
+
+    Awaitility.await().pollInterval(50,TimeUnit.MILLISECONDS).timeout(300,TimeUnit.SECONDS)
+        .pollDelay(50,TimeUnit.MILLISECONDS).until(()->fired[JOINED] || fired[CRASHED]);
+
     System.out.println("[testClientMembershipEventsInClient] assert client detected server recovery");
     assertTrue(fired[JOINED]);
     assertNotNull(member[JOINED]);
@@ -966,7 +960,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(member[CRASHED]);
     assertNull(memberId[CRASHED]);
   }
-  
+
   /**
    * Tests notification of events in server process. Bridge servers detect
    * client joins when the client connects to the server.
@@ -976,34 +970,33 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     final DistributedMember[] member = new DistributedMember[3];
     final String[] memberId = new String[3];
     final boolean[] isClient = new boolean[3];
-    
+
     // create and register ClientMembershipListener in controller vm...
     ClientMembershipListener listener = new ClientMembershipListener() {
-      public synchronized void memberJoined(ClientMembershipEvent event) {
+      public void memberJoined(ClientMembershipEvent event) {
         System.out.println("[testClientMembershipEventsInServer] memberJoined: " + event);
         fired[JOINED] = true;
         member[JOINED] = event.getMember();
         memberId[JOINED] = event.getMemberId();
         isClient[JOINED] = event.isClient();
-        notifyAll();
         assertFalse(fired[LEFT] || fired[CRASHED]);
       }
-      public synchronized void memberLeft(ClientMembershipEvent event) {
+
+      public void memberLeft(ClientMembershipEvent event) {
         System.out.println("[testClientMembershipEventsInServer] memberLeft: " + event);
         fired[LEFT] = true;
         member[LEFT] = event.getMember();
         memberId[LEFT] = event.getMemberId();
         isClient[LEFT] = event.isClient();
-        notifyAll();
         assertFalse(fired[JOINED] || fired[CRASHED]);
       }
-      public synchronized void memberCrashed(ClientMembershipEvent event) {
+
+      public void memberCrashed(ClientMembershipEvent event) {
         System.out.println("[testClientMembershipEventsInServer] memberCrashed: " + event);
         fired[CRASHED] = true;
         member[CRASHED] = event.getMember();
         memberId[CRASHED] = event.getMemberId();
         isClient[CRASHED] = event.isClient();
-        notifyAll();
         assertFalse(fired[JOINED] || fired[LEFT]);
       }
     };
@@ -1021,12 +1014,12 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     Region region = createRegion(name, factory.create());
     assertNotNull(region);
     assertNotNull(getRootRegion().getSubregion(name));
-    
+
     ports[0] = startBridgeServer(0);
     assertTrue(ports[0] != 0);
     DistributedMember serverMember = getMemberId();
     String serverMemberId = serverMember.toString();
-    
+
     System.out.println("[testClientMembershipEventsInServer] ports[0]=" + ports[0]);
     System.out.println("[testClientMembershipEventsInServer] serverMemberId=" + serverMemberId);
     System.out.println("[testClientMembershipEventsInServer] serverMember=" + serverMember);
@@ -1043,12 +1036,12 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(member[CRASHED]);
     assertNull(memberId[CRASHED]);
     assertFalse(isClient[CRASHED]);
-    
+
     // sanity check...
     System.out.println("[testClientMembershipEventsInServer] sanity check");
     DistributedMember test = new TestDistributedMember("test");
     InternalClientMembership.notifyJoined(test, CLIENT);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
         listener.wait(2000);
       }
@@ -1066,42 +1059,42 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(memberId[CRASHED]);
     assertFalse(isClient[CRASHED]);
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     final Host host = Host.getHost(0);
     SerializableCallable createConnectionPool =
-    new SerializableCallable("Create connectionPool") {
-      public Object call() {
-        System.out.println("[testClientMembershipEventsInServer] create bridge client");
-        Properties config = new Properties();
-        config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-        config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-        properties = config;
-        DistributedSystem s = getSystem(config);
-        AttributesFactory factory = new AttributesFactory();
-        Pool pool = ClientServerTestCase.configureConnectionPool(factory, NetworkUtils.getServerHostName(host), ports, true, -1, 2, null);
-        createRegion(name, factory.create());
-        assertNotNull(getRootRegion().getSubregion(name));
-        assertTrue(s == basicGetSystem()); // see geode-1078
-        return getMemberId();
-      }
-    };
+        new SerializableCallable("Create connectionPool") {
+          public Object call() {
+            System.out.println("[testClientMembershipEventsInServer] create bridge client");
+            Properties config = new Properties();
+            config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+            config.setProperty(DistributionConfig.LOCATORS_NAME, "");
+            properties = config;
+            DistributedSystem s = getSystem(config);
+            AttributesFactory factory = new AttributesFactory();
+            Pool pool = ClientServerTestCase.configureConnectionPool(factory, NetworkUtils.getServerHostName(host), ports, true, -1, 2, null);
+            createRegion(name, factory.create());
+            assertNotNull(getRootRegion().getSubregion(name));
+            assertTrue(s == basicGetSystem()); // see geode-1078
+            return getMemberId();
+          }
+        };
 
     // create bridge client in vm0...
-    DistributedMember clientMember = (DistributedMember)vm0.invoke(createConnectionPool);
+    DistributedMember clientMember = (DistributedMember) vm0.invoke(createConnectionPool);
     String clientMemberId = clientMember.toString();
-                                                
-    synchronized(listener) {
+
+    synchronized (listener) {
       if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
         listener.wait(60000);
       }
     }
-    
+
     System.out.println("[testClientMembershipEventsInServer] assert server detected client join");
     assertTrue(fired[JOINED]);
     assertEquals(member[JOINED] + " should equal " + clientMember,
-      clientMember, member[JOINED]);
+        clientMember, member[JOINED]);
     assertEquals(memberId[JOINED] + " should equal " + clientMemberId,
-      clientMemberId, memberId[JOINED]);
+        clientMemberId, memberId[JOINED]);
     assertTrue(isClient[JOINED]);
     assertFalse(fired[LEFT]);
     assertNull(member[LEFT]);
@@ -1114,26 +1107,26 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     resetArraysForTesting(fired, member, memberId, isClient);
 
     pauseForClientToJoin();
-    
+
     vm0.invoke(new SerializableRunnable("Stop bridge client") {
       public void run() {
         System.out.println("[testClientMembershipEventsInServer] Stop bridge client");
         getRootRegion().getSubregion(name).close();
         Map m = PoolManager.getAll();
         Iterator mit = m.values().iterator();
-        while(mit.hasNext()) {
-          Pool p = (Pool)mit.next();
+        while (mit.hasNext()) {
+          Pool p = (Pool) mit.next();
           p.destroy();
         }
       }
     });
 
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
         listener.wait(60000);
       }
     }
-    
+
     System.out.println("[testClientMembershipEventsInServer] assert server detected client left");
     assertFalse(fired[JOINED]);
     assertNull(member[JOINED]);
@@ -1151,13 +1144,13 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
 
     // reconnect bridge client to test for crashed event
     clientMemberId = vm0.invoke(createConnectionPool).toString();
-                                                
-    synchronized(listener) {
+
+    synchronized (listener) {
       if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
         listener.wait(60000);
       }
     }
-    
+
     System.out.println("[testClientMembershipEventsInServer] assert server detected client re-join");
     assertTrue(fired[JOINED]);
     assertEquals(clientMember, member[JOINED]);
@@ -1172,7 +1165,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(memberId[CRASHED]);
     assertFalse(isClient[CRASHED]);
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     pauseForClientToJoin();
 
     ServerConnection.setForceClientCrashEvent(true);
@@ -1183,19 +1176,19 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
           getRootRegion().getSubregion(name).close();
           Map m = PoolManager.getAll();
           Iterator mit = m.values().iterator();
-          while(mit.hasNext()) {
-            Pool p = (Pool)mit.next();
+          while (mit.hasNext()) {
+            Pool p = (Pool) mit.next();
             p.destroy();
           }
         }
       });
-  
-      synchronized(listener) {
+
+      synchronized (listener) {
         if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
           listener.wait(60000);
         }
       }
-      
+
       System.out.println("[testClientMembershipEventsInServer] assert server detected client crashed");
       assertFalse(fired[JOINED]);
       assertNull(member[JOINED]);
@@ -1209,12 +1202,11 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       assertEquals(clientMember, member[CRASHED]);
       assertEquals(clientMemberId, memberId[CRASHED]);
       assertTrue(isClient[CRASHED]);
-    }
-    finally {
+    } finally {
       ServerConnection.setForceClientCrashEvent(false);
     }
   }
-  
+
   /**
    * The joined event fires when the first client handshake is processed.
    * This pauses long enough to allow the rest of the client sockets to
@@ -1227,17 +1219,17 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
   private void pauseForClientToJoin() {
     Wait.pause(2000);
   }
-  
-  /** 
-   * Tests registration and event notification in conjunction with 
-   * disconnecting and reconnecting to DistributedSystem. 
+
+  /**
+   * Tests registration and event notification in conjunction with
+   * disconnecting and reconnecting to DistributedSystem.
    */
   public void testLifecycle() throws Exception {
     final boolean[] fired = new boolean[3];
     final DistributedMember[] member = new DistributedMember[3];
     final String[] memberId = new String[3];
     final boolean[] isClient = new boolean[3];
-    
+
     // create and register ClientMembershipListener in controller vm...
     ClientMembershipListener listener = new ClientMembershipListener() {
       public synchronized void memberJoined(ClientMembershipEvent event) {
@@ -1251,24 +1243,26 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
         isClient[JOINED] = event.isClient();
         notifyAll();
       }
+
       public synchronized void memberLeft(ClientMembershipEvent event) {
       }
+
       public synchronized void memberCrashed(ClientMembershipEvent event) {
       }
     };
     ClientMembership.registerClientMembershipListener(listener);
-    
+
     // create loner in controller vm...
     Properties config = new Properties();
     config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
     config.setProperty(DistributionConfig.LOCATORS_NAME, "");
     properties = config;
     getSystem(config);
-    
+
     // assert that event is fired while connected
     DistributedMember serverJoined = new TestDistributedMember("serverJoined");
     InternalClientMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[JOINED]) {
         listener.wait(2000);
       }
@@ -1278,13 +1272,12 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertEquals(serverJoined.getId(), memberId[JOINED]);
     assertFalse(isClient[JOINED]);
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     // assert that event is NOT fired while disconnected
     disconnectFromDS();
-    
 
     InternalClientMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
+    synchronized (listener) {
       listener.wait(20);
     }
     assertFalse(fired[JOINED]);
@@ -1292,14 +1285,14 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertNull(memberId[JOINED]);
     assertFalse(isClient[JOINED]);
     resetArraysForTesting(fired, member, memberId, isClient);
-    
+
     // assert that event is fired again after reconnecting
     properties = config;
     InternalDistributedSystem sys = getSystem(config);
     assertTrue(sys.isConnected());
 
     InternalClientMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
+    synchronized (listener) {
       if (!fired[JOINED]) {
         listener.wait(2000);
       }
@@ -1309,15 +1302,15 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     assertEquals(serverJoined.getId(), memberId[JOINED]);
     assertFalse(isClient[JOINED]);
   }
-  
+
   /**
    * Starts up server in controller vm and 4 clients, then calls and tests
-   * ClientMembership.getConnectedClients(). 
+   * ClientMembership.getConnectedClients().
    */
   public void testGetConnectedClients() throws Exception {
     final String name = this.getUniqueName();
     final int[] ports = new int[1];
-    
+
     IgnoredException.addIgnoredException("ConnectException");
 
     // create BridgeServer in controller vm...
@@ -1328,7 +1321,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     Region region = createRegion(name, factory.create());
     assertNotNull(region);
     assertNotNull(getRootRegion().getSubregion(name));
-    
+
     ports[0] = startBridgeServer(0);
     assertTrue(ports[0] != 0);
     String serverMemberId = getSystem().getDistributedMember().toString();
@@ -1338,39 +1331,40 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
 
     final Host host = Host.getHost(0);
     SerializableCallable createPool =
-    new SerializableCallable("Create connection pool") {
-      public Object call() {
-        System.out.println("[testGetConnectedClients] create bridge client");
-        properties = new Properties();
-        properties.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-        properties.setProperty(DistributionConfig.LOCATORS_NAME, "");
-        getSystem(properties);
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.LOCAL);
-        Pool p = ClientServerTestCase.configureConnectionPool(factory, NetworkUtils.getServerHostName(host), ports, true, -1, -1, null);
-        createRegion(name, factory.create());
-        assertNotNull(getRootRegion().getSubregion(name));
-        assertTrue(p.getServers().size() > 0);
-        return getMemberId();
-      }
-    };
+        new SerializableCallable("Create connection pool") {
+          public Object call() {
+            System.out.println("[testGetConnectedClients] create bridge client");
+            properties = new Properties();
+            properties.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+            properties.setProperty(DistributionConfig.LOCATORS_NAME, "");
+            getSystem(properties);
+            AttributesFactory factory = new AttributesFactory();
+            factory.setScope(Scope.LOCAL);
+            Pool p = ClientServerTestCase.configureConnectionPool(factory, NetworkUtils.getServerHostName(host), ports, true, -1, -1, null);
+            createRegion(name, factory.create());
+            assertNotNull(getRootRegion().getSubregion(name));
+            assertTrue(p.getServers().size() > 0);
+            return getMemberId();
+          }
+        };
 
     // create bridge client in vm0...
     final String[] clientMemberIdArray = new String[host.getVMCount()];
-    
-    for (int i = 0; i < host.getVMCount(); i++) { 
+
+    for (int i = 0; i < host.getVMCount(); i++) {
       final VM vm = Host.getHost(0).getVM(i);
-      System.out.println("creating pool in vm_"+i);
+      System.out.println("creating pool in vm_" + i);
       clientMemberIdArray[i] = vm.invoke(createPool).toString();
     }
     Collection clientMemberIds = Arrays.asList(clientMemberIdArray);
-                                                
+
     {
       final int expectedClientCount = clientMemberIds.size();
       WaitCriterion wc = new WaitCriterion() {
         public String description() {
           return "wait for clients";
         }
+
         public boolean done() {
           Map connectedClients = InternalClientMembership.getConnectedClients(false);
           if (connectedClients == null) {
@@ -1384,32 +1378,32 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       };
       Wait.waitForCriterion(wc, 30000, 100, false);
     }
-    
+
     Map connectedClients = InternalClientMembership.getConnectedClients(false);
     assertNotNull(connectedClients);
     assertEquals(clientMemberIds.size(), connectedClients.size());
     System.out.println("connectedClients: " + connectedClients + "; clientMemberIds: " + clientMemberIds);
-    for (Iterator iter = connectedClients.keySet().iterator(); iter.hasNext();) {
-      String connectedClient = (String)iter.next();
+    for (Iterator iter = connectedClients.keySet().iterator(); iter.hasNext(); ) {
+      String connectedClient = (String) iter.next();
       System.out.println("[testGetConnectedClients] checking for client " + connectedClient);
       assertTrue(clientMemberIds.contains(connectedClient));
-      Object[] result = (Object[])connectedClients.get(connectedClient);
-      System.out.println("[testGetConnectedClients] result: " + 
-                          (result==null? "none"
-                              : String.valueOf(result[0])+"; connections="+result[1]));
+      Object[] result = (Object[]) connectedClients.get(connectedClient);
+      System.out.println("[testGetConnectedClients] result: " +
+          (result == null ? "none"
+              : String.valueOf(result[0]) + "; connections=" + result[1]));
     }
   }
 
   /**
    * Starts up 4 server and the controller vm as a client, then calls and tests
-   * ClientMembership.getConnectedServers(). 
+   * ClientMembership.getConnectedServers().
    */
   public void testGetConnectedServers() throws Exception {
     final Host host = Host.getHost(0);
     final String name = this.getUniqueName();
     final int[] ports = new int[host.getVMCount()];
-    
-    for (int i = 0; i < host.getVMCount(); i++) { 
+
+    for (int i = 0; i < host.getVMCount(); i++) {
       final int whichVM = i;
       final VM vm = Host.getHost(0).getVM(i);
       vm.invoke(new CacheSerializableRunnable("Create bridge server") {
@@ -1419,32 +1413,31 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
           getSystem();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          Region region = createRegion(name+"_"+whichVM, factory.create());
+          Region region = createRegion(name + "_" + whichVM, factory.create());
           assertNotNull(region);
-          assertNotNull(getRootRegion().getSubregion(name+"_"+whichVM));
+          assertNotNull(getRootRegion().getSubregion(name + "_" + whichVM));
           region.put("KEY-1", "VAL-1");
-          
+
           try {
             testGetConnectedServers_port = startBridgeServer(0);
-          }
-          catch (IOException e) {
+          } catch (IOException e) {
             com.gemstone.gemfire.test.dunit.LogWriterUtils.getLogWriter().error("startBridgeServer threw IOException", e);
             fail("startBridgeServer threw IOException " + e.getMessage());
           }
-          
+
           assertTrue(testGetConnectedServers_port != 0);
-      
-          System.out.println("[testGetConnectedServers] port=" + 
-            ports[whichVM]);
-          System.out.println("[testGetConnectedServers] serverMemberId=" + 
-            getDistributedMember());
+
+          System.out.println("[testGetConnectedServers] port=" +
+              ports[whichVM]);
+          System.out.println("[testGetConnectedServers] serverMemberId=" +
+              getDistributedMember());
         }
       });
       ports[whichVM] = vm.invoke("getTestGetConnectedServers_port",
           () -> ClientMembershipDUnitTest.getTestGetConnectedServers_port());
       assertTrue(ports[whichVM] != 0);
     }
-    
+
     System.out.println("[testGetConnectedServers] create bridge client");
     Properties config = new Properties();
     config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
@@ -1452,17 +1445,17 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     properties = config;
     getSystem(config);
     getCache();
-    
+
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.LOCAL);
 
     for (int i = 0; i < ports.length; i++) {
-      System.out.println("[testGetConnectedServers] creating connectionpool for " + 
-        NetworkUtils.getServerHostName(host) + " " + ports[i]);
+      System.out.println("[testGetConnectedServers] creating connectionpool for " +
+          NetworkUtils.getServerHostName(host) + " " + ports[i]);
       int[] thisServerPorts = new int[] { ports[i] };
-      ClientServerTestCase.configureConnectionPoolWithName(factory, NetworkUtils.getServerHostName(host), thisServerPorts, false, -1, -1, null,"pooly"+i);
-      Region region = createRegion(name+"_"+i, factory.create());
-      assertNotNull(getRootRegion().getSubregion(name+"_"+i));
+      ClientServerTestCase.configureConnectionPoolWithName(factory, NetworkUtils.getServerHostName(host), thisServerPorts, false, -1, -1, null, "pooly" + i);
+      Region region = createRegion(name + "_" + i, factory.create());
+      assertNotNull(getRootRegion().getSubregion(name + "_" + i));
       region.get("KEY-1");
     }
 
@@ -1472,6 +1465,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
         public String description() {
           return "wait for pools and servers";
         }
+
         public boolean done() {
           if (PoolManager.getAll().size() != expectedVMCount) {
             return false;
@@ -1491,25 +1485,25 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
 
     {
       assertEquals(host.getVMCount(), PoolManager.getAll().size());
-      
+
     }
-    
+
     Map connectedServers = InternalClientMembership.getConnectedServers();
     assertNotNull(connectedServers);
     assertEquals(host.getVMCount(), connectedServers.size());
-    for (Iterator iter = connectedServers.keySet().iterator(); iter.hasNext();) {
+    for (Iterator iter = connectedServers.keySet().iterator(); iter.hasNext(); ) {
       String connectedServer = (String) iter.next();
-      System.out.println("[testGetConnectedServers]  value for connectedServer: " + 
-                          connectedServers.get(connectedServer));
+      System.out.println("[testGetConnectedServers]  value for connectedServer: " +
+          connectedServers.get(connectedServer));
     }
   }
 
   protected static int testGetConnectedServers_port;
+
   private static int getTestGetConnectedServers_port() {
     return testGetConnectedServers_port;
   }
 
-  
   public Properties getDistributedSystemProperties() {
     if (properties == null) {
       properties = new Properties();
@@ -1525,8 +1519,8 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     final Host host = Host.getHost(0);
     final String name = this.getUniqueName();
     final int[] ports = new int[host.getVMCount()];
-    
-    for (int i = 0; i < host.getVMCount(); i++) { 
+
+    for (int i = 0; i < host.getVMCount(); i++) {
       final int whichVM = i;
       final VM vm = Host.getHost(0).getVM(i);
       vm.invoke(new CacheSerializableRunnable("Create bridge server") {
@@ -1539,28 +1533,27 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
           assertNotNull(region);
           assertNotNull(getRootRegion().getSubregion(name));
           region.put("KEY-1", "VAL-1");
-          
+
           try {
             testGetNotifiedClients_port = startBridgeServer(0);
-          }
-          catch (IOException e) {
+          } catch (IOException e) {
             com.gemstone.gemfire.test.dunit.LogWriterUtils.getLogWriter().error("startBridgeServer threw IOException", e);
             fail("startBridgeServer threw IOException " + e.getMessage());
           }
-          
+
           assertTrue(testGetNotifiedClients_port != 0);
-      
-          System.out.println("[testGetNotifiedClients] port=" + 
-            ports[whichVM]);
-          System.out.println("[testGetNotifiedClients] serverMemberId=" + 
-            getMemberId());
+
+          System.out.println("[testGetNotifiedClients] port=" +
+              ports[whichVM]);
+          System.out.println("[testGetNotifiedClients] serverMemberId=" +
+              getMemberId());
         }
       });
       ports[whichVM] = vm.invoke("getTestGetNotifiedClients_port",
           () -> ClientMembershipDUnitTest.getTestGetNotifiedClients_port());
       assertTrue(ports[whichVM] != 0);
     }
-    
+
     System.out.println("[testGetNotifiedClients] create bridge client");
     Properties config = new Properties();
     config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
@@ -1568,7 +1561,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     properties = config;
     getSystem();
     getCache();
-    
+
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.LOCAL);
 
@@ -1580,14 +1573,14 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     region.get("KEY-1");
 
     final String clientMemberId = getMemberId().toString();
-    
+
     pauseForClientToJoin();
-    
+
     // assertions go here
     int[] clientCounts = new int[host.getVMCount()];
-    
+
     // only one server vm will have that client for updating
-    for (int i = 0; i < host.getVMCount(); i++) { 
+    for (int i = 0; i < host.getVMCount(); i++) {
       final int whichVM = i;
       final VM vm = Host.getHost(0).getVM(i);
       vm.invoke(new CacheSerializableRunnable("Create bridge server") {
@@ -1604,7 +1597,7 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
       clientCounts[whichVM] = vm.invoke("getTestGetNotifiedClients_clientCount",
           () -> ClientMembershipDUnitTest.getTestGetNotifiedClients_clientCount());
     }
-    
+
     // only one server should have a notifier for this client...
     int totalClientCounts = 0;
     for (int i = 0; i < clientCounts.length; i++) {
@@ -1613,20 +1606,24 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     // this assertion fails because the count is 4
     //assertEquals(1, totalClientCounts);
   }
+
   protected static int testGetNotifiedClients_port;
+
   private static int getTestGetNotifiedClients_port() {
     return testGetNotifiedClients_port;
   }
+
   protected static int testGetNotifiedClients_clientCount;
+
   private static int getTestGetNotifiedClients_clientCount() {
     return testGetNotifiedClients_clientCount;
   }
 
   // Simple DistributedMember implementation
   static final class TestDistributedMember implements DistributedMember {
-    
+
     private String host;
-    
+
     public TestDistributedMember(String host) {
       this.host = host;
     }
@@ -1650,29 +1647,29 @@ public class ClientMembershipDUnitTest extends ClientServerTestCase {
     public String getId() {
       return this.host;
     }
-    
+
     public int compareTo(DistributedMember o) {
       if ((o == null) || !(o instanceof TestDistributedMember)) {
         throw new InternalGemFireException("Invalidly comparing TestDistributedMember to " + o);
       }
-      
+
       TestDistributedMember tds = (TestDistributedMember) o;
       return getHost().compareTo(tds.getHost());
     }
-    
+
     public boolean equals(Object obj) {
       if ((obj == null) || !(obj instanceof TestDistributedMember)) {
         return false;
       }
-      return compareTo((TestDistributedMember)obj) == 0;
+      return compareTo((TestDistributedMember) obj) == 0;
     }
-    
+
     public int hashCode() {
       return getHost().hashCode();
     }
-    
+
     public DurableClientAttributes getDurableClientAttributes() {
-      
+
       return null;
     }