You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ds...@apache.org on 2015/10/06 19:47:57 UTC

[01/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Repository: incubator-geode
Updated Branches:
  refs/heads/develop 7111906e9 -> 2eb4e1750


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelTestBase.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelTestBase.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelTestBase.java
index 6f2dfae..5ff95f0 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelTestBase.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelTestBase.java
@@ -24,15 +24,14 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.RegisterInterestTracker;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -77,7 +76,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
 
   static PoolImpl pool = null;  
 
-  static BridgeObserver oldBo = null;
+  static ClientServerObserver oldBo = null;
   
   static boolean FailOverDetectionByCCU = false;
   
@@ -151,12 +150,12 @@ public class RedundancyLevelTestBase extends DistributedTestCase
   public static void verifyDispatcherIsAlive()
   {
     try {
-//      assertEquals("More than one BridgeServer", 1, cache.getBridgeServers()
+//      assertEquals("More than one BridgeServer", 1, cache.getCacheServers()
 //          .size());
       WaitCriterion wc = new WaitCriterion() {
         String excuse;
         public boolean done() {
-          return cache.getBridgeServers().size() == 1;
+          return cache.getCacheServers().size() == 1;
         }
         public String description() {
           return excuse;
@@ -164,7 +163,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
       };
       DistributedTestCase.waitForCriterion(wc, 3 * 60 * 1000, 1000, true);
 
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
           .iterator().next();
       assertNotNull(bs);
       assertNotNull(bs.getAcceptor());
@@ -211,11 +210,11 @@ public class RedundancyLevelTestBase extends DistributedTestCase
   {
     try {
       // assertEquals("More than one BridgeServer", 1,
-      // cache.getBridgeServers().size());
+      // cache.getCacheServers().size());
       WaitCriterion wc = new WaitCriterion() {
         String excuse;
         public boolean done() {
-          return cache.getBridgeServers().size() == 1;
+          return cache.getCacheServers().size() == 1;
         }
         public String description() {
           return excuse;
@@ -223,7 +222,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
       };
       DistributedTestCase.waitForCriterion(wc, 3 * 60 * 1000, 1000, true);
 
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
           .iterator().next();
       assertNotNull(bs);
       assertNotNull(bs.getAcceptor());
@@ -351,9 +350,9 @@ public class RedundancyLevelTestBase extends DistributedTestCase
   
   public static void verifyNoCCP()
   {
-    assertEquals("More than one BridgeServer", 1, cache.getBridgeServers()
+    assertEquals("More than one BridgeServer", 1, cache.getCacheServers()
         .size());
-    BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+    CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
         .iterator().next();
     assertNotNull(bs);
     assertNotNull(bs.getAcceptor());
@@ -369,7 +368,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
       WaitCriterion wc = new WaitCriterion() {
         String excuse;
         public boolean done() {
-          return cache.getBridgeServers().size() == 1;
+          return cache.getCacheServers().size() == 1;
         }
         public String description() {
           return excuse;
@@ -377,7 +376,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
       };
       DistributedTestCase.waitForCriterion(wc, 3 * 60 * 1000, 1000, true);
       
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
           .iterator().next();
       
       assertNotNull(bs);
@@ -406,16 +405,16 @@ public class RedundancyLevelTestBase extends DistributedTestCase
     try {
       WaitCriterion wc = new WaitCriterion() {
         public boolean done() {
-          return cache.getBridgeServers().size() == 1;
+          return cache.getCacheServers().size() == 1;
         }
         public String description() {
           return "Number of bridge servers (" 
-              + cache.getBridgeServers().size() + ") never became 1";
+              + cache.getCacheServers().size() + ") never became 1";
         }
       };
       DistributedTestCase.waitForCriterion(wc, 180 * 1000, 2000, true);
 
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
           .iterator().next();
       assertNotNull(bs);
       assertNotNull(bs.getAcceptor());
@@ -475,9 +474,9 @@ public class RedundancyLevelTestBase extends DistributedTestCase
   public static void stopServer()
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         server.stop();
       }
     }
@@ -490,7 +489,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
   {
     try {
       Cache c = CacheFactory.getAnyInstance();
-      BridgeServerImpl bs = (BridgeServerImpl)c.getBridgeServers().iterator()
+      CacheServerImpl bs = (CacheServerImpl)c.getCacheServers().iterator()
           .next();
       assertNotNull(bs);
       bs.start();
@@ -526,7 +525,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
     
     if(!FailOverDetectionByCCU)
     {
-        oldBo = BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+        oldBo = ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
         public void beforeFailoverByCacheClientUpdater(ServerLocation epFailed)
         {
           try {
@@ -580,7 +579,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
     RegionAttributes attrs = factory.createRegionAttributes();
     cache.createVMRegion(REGION_NAME, attrs);
 
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setMaximumTimeBetweenPings(180000);
@@ -618,7 +617,7 @@ public class RedundancyLevelTestBase extends DistributedTestCase
       super.tearDown2();
     
       if(!FailOverDetectionByCCU)
-        BridgeObserverHolder.setInstance(oldBo);   
+        ClientServerObserverHolder.setInstance(oldBo);   
     
       FailOverDetectionByCCU = false;
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegionCloseDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegionCloseDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegionCloseDUnitTest.java
index d6f950b..d4bfac7 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegionCloseDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegionCloseDUnitTest.java
@@ -16,12 +16,12 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientProxy;
 import com.gemstone.gemfire.cache.client.*;
 
@@ -125,7 +125,7 @@ public class RegionCloseDUnitTest extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -137,10 +137,10 @@ public class RegionCloseDUnitTest extends DistributedTestCase
   public static void VerifyClientProxyOnServerBeforeClose()
   {
     Cache c = CacheFactory.getAnyInstance();
-    assertEquals("More than one BridgeServer", 1, c.getBridgeServers().size());
+    assertEquals("More than one CacheServer", 1, c.getCacheServers().size());
 
 
-    final BridgeServerImpl bs = (BridgeServerImpl) c.getBridgeServers().iterator().next();
+    final CacheServerImpl bs = (CacheServerImpl) c.getCacheServers().iterator().next();
     WaitCriterion ev = new WaitCriterion() {
       public boolean done() {
         return bs.getAcceptor().getCacheClientNotifier().getClientProxies().size() == 1;
@@ -182,7 +182,7 @@ public class RegionCloseDUnitTest extends DistributedTestCase
     final Cache c = CacheFactory.getAnyInstance();
     WaitCriterion ev = new WaitCriterion() {
       public boolean done() {
-        return c.getBridgeServers().size() == 1;
+        return c.getCacheServers().size() == 1;
       }
       public String description() {
         return null;
@@ -190,7 +190,7 @@ public class RegionCloseDUnitTest extends DistributedTestCase
     };
     DistributedTestCase.waitForCriterion(ev, 40 * 1000, 200, true);
 
-    final BridgeServerImpl bs = (BridgeServerImpl)c.getBridgeServers().iterator()
+    final CacheServerImpl bs = (CacheServerImpl)c.getCacheServers().iterator()
         .next();
     ev = new WaitCriterion() {
       public boolean done() {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestBeforeRegionCreationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestBeforeRegionCreationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestBeforeRegionCreationDUnitTest.java
index 722f370..75fcfc6 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestBeforeRegionCreationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestBeforeRegionCreationDUnitTest.java
@@ -21,7 +21,7 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.CacheObserverAdapter;
 import com.gemstone.gemfire.internal.cache.CacheObserverHolder;
 import com.gemstone.gemfire.cache.client.*;
@@ -214,7 +214,7 @@ public class RegisterInterestBeforeRegionCreationDUnitTest extends DistributedTe
       RegionAttributes attrs = factory.createRegionAttributes();
       cache.createVMRegion(REGION_NAME, attrs);
     }
-    BridgeServerImpl server = (BridgeServerImpl)cache.addBridgeServer();
+    CacheServerImpl server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -267,4 +267,4 @@ public class RegisterInterestBeforeRegionCreationDUnitTest extends DistributedTe
       cache.getDistributedSystem().disconnect();
     }
   }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestKeysDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestKeysDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestKeysDUnitTest.java
index 299e157..27e254d 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestKeysDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RegisterInterestKeysDUnitTest.java
@@ -10,7 +10,7 @@ package com.gemstone.gemfire.internal.cache.tier.sockets;
 import java.util.*;
 
 import com.gemstone.gemfire.cache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -171,7 +171,7 @@ public class RegisterInterestKeysDUnitTest extends DistributedTestCase
    
     RegionAttributes attrs = impl.createServerCacheAttributes();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
index 987182c..13f8d21 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ReliableMessagingDUnitTest.java
@@ -21,13 +21,13 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.QueueStateImpl.SequenceIdAndExpirationObject;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.ha.HAHelper;
 import com.gemstone.gemfire.internal.cache.ha.HARegionQueue;
 import com.gemstone.gemfire.internal.cache.ha.ThreadIdentifier;
@@ -101,7 +101,7 @@ public class ReliableMessagingDUnitTest extends DistributedTestCase
   public void testPeriodicAckSendByClientPrimaryFailover() throws Exception {    
     addExpectedException("java.net.ConnectException");
     createEntries();
-    setBridgeObserverForBeforeSendingClientAck();    
+    setClientServerObserverForBeforeSendingClientAck();    
     server1.invoke(ReliableMessagingDUnitTest.class, "putOnServer");
     getLogWriter().info("Entering waitForServerUpdate");
     waitForServerUpdate();    
@@ -249,9 +249,9 @@ public class ReliableMessagingDUnitTest extends DistributedTestCase
   public static void stopServer()
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         server.stop();
       }
     }
@@ -279,10 +279,10 @@ public class ReliableMessagingDUnitTest extends DistributedTestCase
     }
   }
   
-  public static void setBridgeObserverForBeforeSendingClientAck() throws Exception
+  public static void setClientServerObserverForBeforeSendingClientAck() throws Exception
   {
     PoolImpl.BEFORE_SENDING_CLIENT_ACK_CALLBACK_FLAG = true;
-    origObserver = BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    origObserver = ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void beforeSendingClientAck()
       {
         getLogWriter().info("beforeSendingClientAck invoked");
@@ -357,7 +357,7 @@ public class ReliableMessagingDUnitTest extends DistributedTestCase
     cache.setMessageSyncInterval(25);
     cache.createRegion(REGION_NAME, attrs);
 
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
     server.setNotifyBySubscription(true);
@@ -418,10 +418,10 @@ public class ReliableMessagingDUnitTest extends DistributedTestCase
     }
   }
   
-  private static BridgeObserver origObserver;
+  private static ClientServerObserver origObserver;
   
   public static void resetCallBack()  {    
-    BridgeObserverHolder.setInstance(origObserver);
+    ClientServerObserverHolder.setInstance(origObserver);
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/TestPut.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/TestPut.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/TestPut.java
deleted file mode 100755
index a9e8861..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/TestPut.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
- package com.gemstone.gemfire.internal.cache.tier.sockets;
- 
-import java.io.IOException;
-
-import com.gemstone.gemfire.internal.cache.tier.Command;
-import com.gemstone.gemfire.internal.cache.tier.MessageType;
-import com.gemstone.gemfire.internal.cache.tier.sockets.Message;
-import com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection;
-import com.gemstone.gemfire.internal.cache.tier.sockets.BaseCommand;
-
-/**
- * @author Pallavi
- * 
- * TestPut is a dummy command to verify Command handling in BackwardCompatibilityComamndDUnitTest.
- */
-
- public class TestPut implements Command {
-
-   public TestPut() {	
-   }
-			  
-   final public void execute(Message msg, ServerConnection servConn) {
-	 // set flag true - to be checked in test
-	 BackwardCompatibilityCommandDUnitDisabledTest.TEST_PUT_COMMAND_INVOKED = true;
-	 
-	 // write reply to clients 
-	 servConn.setAsTrue(REQUIRES_RESPONSE);
-	 writeReply(msg, servConn);
-	 servConn.setAsTrue(RESPONDED);	 
-   }
-
-   private void writeReply(Message origMsg, ServerConnection servConn) {
-     Message replyMsg = servConn.getReplyMessage();
-     replyMsg.setMessageType(MessageType.REPLY);
-     replyMsg.setNumberOfParts(1);
-     replyMsg.setTransactionId(origMsg.getTransactionId());
-     replyMsg.addBytesPart(BaseCommand.OK_BYTES);
-     try {
-       replyMsg.send();
-     } 
-     catch (IOException ioe){
-       ioe.printStackTrace();
-     }
-   }
- }
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
index 1eb3ae3..30c0f1b 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/UpdatePropagationDUnitTest.java
@@ -28,7 +28,7 @@ import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -402,9 +402,9 @@ public class UpdatePropagationDUnitTest extends DistributedTestCase
   public static void killServer(Integer port )
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         if(server.getPort() == port.intValue()){
           server.stop();
         }
@@ -419,7 +419,7 @@ public class UpdatePropagationDUnitTest extends DistributedTestCase
   public static void startServer(Integer port)
   {
     try {
-      BridgeServer server1 = cache.addBridgeServer();
+      CacheServer server1 = cache.addCacheServer();
       server1.setPort(port.intValue());
       server1.setNotifyBySubscription(true);
       server1.start();
@@ -498,7 +498,7 @@ public class UpdatePropagationDUnitTest extends DistributedTestCase
     new UpdatePropagationDUnitTest("temp").createCache(new Properties());
     RegionAttributes attrs = impl.createCacheServerAttributes(); 
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/VerifyUpdatesFromNonInterestEndPointDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/VerifyUpdatesFromNonInterestEndPointDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/VerifyUpdatesFromNonInterestEndPointDUnitTest.java
index 9eca096..a850b21 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/VerifyUpdatesFromNonInterestEndPointDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/VerifyUpdatesFromNonInterestEndPointDUnitTest.java
@@ -17,7 +17,7 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -191,7 +191,7 @@ public class VerifyUpdatesFromNonInterestEndPointDUnitTest extends DistributedTe
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
     server1.setPort(port);
     server1.setNotifyBySubscription(true);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
index 54867d1..c90e68f 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/management/UniversalMembershipListenerAdapterDUnitTest.java
@@ -23,14 +23,14 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.ServerConnectivityException;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.DurableClientAttributes;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection;
 import com.gemstone.gemfire.internal.logging.InternalLogWriter;
 import com.gemstone.gemfire.internal.logging.LocalLogWriter;
@@ -52,7 +52,7 @@ import dunit.VM;
  * @since 4.2.1
  */
 
-public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase {
+public class UniversalMembershipListenerAdapterDUnitTest extends ClientServerTestCase {
   protected static final boolean CLIENT = true;
   protected static final boolean SERVER = false;
   
@@ -81,7 +81,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
   @Override
   public void tearDown2() throws Exception {
     super.tearDown2();
-    InternalBridgeMembership.unregisterAllListeners();
+    InternalClientMembership.unregisterAllListeners();
   }
   
   /**
@@ -115,7 +115,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
     };
     
     DistributedMember clientJoined = new TestDistributedMember("clientJoined");
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
+    InternalClientMembership.notifyJoined(clientJoined, true);
     synchronized(listener) {
       if (!fired[0]) {
         listener.wait(SYNC_ASYNC_EVENT_WAIT_MILLIS);
@@ -173,7 +173,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
     DistributedMember memberA = new TestDistributedMember("memberA");
     
     // first join
-    InternalBridgeMembership.notifyJoined(memberA, true);
+    InternalClientMembership.notifyJoined(memberA, true);
     synchronized(listener) {
       if (!fired[JOINED]) {
         listener.wait(SYNC_ASYNC_EVENT_WAIT_MILLIS);
@@ -187,14 +187,14 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
     memberId[JOINED] = null;
 
     // duplicate join
-    InternalBridgeMembership.notifyJoined(memberA, true);
+    InternalClientMembership.notifyJoined(memberA, true);
     pause(BRIEF_PAUSE_MILLIS);
     assertFalse(fired[JOINED]);
     assertNull(member[JOINED]);
     assertNull(memberId[JOINED]);
 
     // first left
-    InternalBridgeMembership.notifyLeft(memberA, true);
+    InternalClientMembership.notifyLeft(memberA, true);
     synchronized(listener) {
       if (!fired[LEFT]) {
         listener.wait(SYNC_ASYNC_EVENT_WAIT_MILLIS);
@@ -208,14 +208,14 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
     memberId[LEFT] = null;
 
     // duplicate left
-    InternalBridgeMembership.notifyLeft(memberA, true);
+    InternalClientMembership.notifyLeft(memberA, true);
     pause(BRIEF_PAUSE_MILLIS);
     assertFalse(fired[LEFT]);
     assertNull(member[LEFT]);
     assertNull(memberId[LEFT]);
     
     // rejoin
-    InternalBridgeMembership.notifyJoined(memberA, true);
+    InternalClientMembership.notifyJoined(memberA, true);
     synchronized(listener) {
       if (!fired[JOINED]) {
         listener.wait(SYNC_ASYNC_EVENT_WAIT_MILLIS);
@@ -410,7 +410,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
         getSystem(config);
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, false, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, false, -1, -1, null);
         createRegion(name, factory.create());
         assertNotNull(getRootRegion().getSubregion(name));
       }
@@ -870,7 +870,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
         assertFalse(getCache().isClosed());
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, false, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, false, -1, -1, null);
         createRegion(name, factory.create());
         assertNotNull(getRootRegion().getSubregion(name));
       }
@@ -1327,7 +1327,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
    * com.gemstone.gemfire.internal.cache.tier.Endpoint#getNumConnections
    * Endpoint.getNumConnections()} to {@link 
    * com.gemstone.gemfire.internal.cache.tier.Endpoint}. Note: This probably
-   * won't work if the BridgeLoader has more than one Endpoint.
+   * won't work if the pool has more than one Endpoint.
    */
   protected void waitForClientToFullyConnect(final PoolImpl pool) {
     getLogWriter().info("[waitForClientToFullyConnect]");
@@ -1864,7 +1864,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
     
     vm0.invoke(createBridgeServer);
     
-    // gather details for later creation of BridgeLoader...
+    // gather details for later creation of pool...
     assertEquals(ports[0],
                  vm0.invokeInt(UniversalMembershipListenerAdapterDUnitTest.class, 
                                "getTestServerEventsInLonerClient_port"));
@@ -1880,7 +1880,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
     // create region which connects to bridge server
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.LOCAL);
-    BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, false, -1, -1, null);
+    ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, false, -1, -1, null);
     createRegion(name, factory.create());
     assertNotNull(getRootRegion().getSubregion(name));
 
@@ -2035,7 +2035,7 @@ public class UniversalMembershipListenerAdapterDUnitTest extends BridgeTestCase
     // reconnect bridge client to test for crashed event
     vm0.invoke(createBridgeServer);
     
-    // gather details for later creation of BridgeLoader...
+    // gather details for later creation of pool...
     assertEquals(ports[0],
                  vm0.invokeInt(UniversalMembershipListenerAdapterDUnitTest.class, 
                                "getTestServerEventsInLonerClient_port"));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/pdx/PdxFormatterPutGetJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/pdx/PdxFormatterPutGetJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/pdx/PdxFormatterPutGetJUnitTest.java
index 8a9bd0f..f70d2d2 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/pdx/PdxFormatterPutGetJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/pdx/PdxFormatterPutGetJUnitTest.java
@@ -27,7 +27,7 @@ import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.internal.Assert;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
@@ -47,7 +47,7 @@ public class PdxFormatterPutGetJUnitTest {
     this.c = (GemFireCacheImpl) new CacheFactory().set("mcast-port", "0").setPdxReadSerialized(true).create();
     
     //start cache-server
-    BridgeServer server = c.addBridgeServer();
+    CacheServer server = c.addCacheServer();
     final int serverPort = 40405;
     server.setPort(serverPort);
     server.start();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/dunit/DistributedTestCase.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/dunit/DistributedTestCase.java b/gemfire-core/src/test/java/dunit/DistributedTestCase.java
index c78510a..d9f88ca 100755
--- a/gemfire-core/src/test/java/dunit/DistributedTestCase.java
+++ b/gemfire-core/src/test/java/dunit/DistributedTestCase.java
@@ -63,7 +63,7 @@ import com.gemstone.gemfire.internal.cache.HARegion;
 import com.gemstone.gemfire.internal.cache.InitialImageOperation;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
 import com.gemstone.gemfire.internal.cache.PartitionedRegion;
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerTestUtil;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
 import com.gemstone.gemfire.internal.cache.tier.sockets.DataSerializerPropogationDUnitTest;
@@ -799,7 +799,7 @@ public abstract class DistributedTestCase extends TestCase implements java.io.Se
     LogWrapper.close();
     ClientProxyMembershipID.system = null;
     MultiVMRegionTestCase.CCRegion = null;
-    InternalBridgeMembership.unregisterAllListeners();
+    InternalClientMembership.unregisterAllListeners();
     ClientStatsManager.cleanupForTests();
     unregisterInstantiatorsInThisVM();
     GemFireTracer.DEBUG = Boolean.getBoolean("DistributionManager.DEBUG_JAVAGROUPS");

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/excludedClasses.txt
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/excludedClasses.txt b/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/excludedClasses.txt
index f24eff5..060a5ec 100644
--- a/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/excludedClasses.txt
+++ b/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/excludedClasses.txt
@@ -91,7 +91,7 @@ com/gemstone/gemfire/internal/shared/OSType$4
 com/gemstone/gemfire/internal/shared/OSType$5
 com/gemstone/gemfire/internal/shared/TCPSocketOptions
 com/gemstone/gemfire/internal/process/SharedConfigurationNotAvailableException
-com/gemstone/gemfire/internal/cache/tier/InternalBridgeMembership$EventType
+com/gemstone/gemfire/internal/cache/tier/InternalClientMembership$EventType
 com/gemstone/gemfire/internal/util/concurrent/StoppableReadWriteLock
 com/gemstone/gemfire/rest/internal/web/exception.GemfireRestException
 com/gemstone/gemfire/rest/internal/web/controllers/support/JSONTypes

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedDataSerializables.txt
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedDataSerializables.txt b/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedDataSerializables.txt
index 79f5e22..490117f 100644
--- a/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedDataSerializables.txt
+++ b/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedDataSerializables.txt
@@ -34,7 +34,7 @@ com/gemstone/gemfire/cache/SubscriptionAttributes,2
 fromData,14,2a2bb9000f0100b80010b50003b1
 toData,14,2b2ab40003b4000db9000e0200b1
 
-com/gemstone/gemfire/cache/client/internal/BridgeServerLoadMessage,2
+com/gemstone/gemfire/cache/client/internal/CacheServerLoadMessage,2
 fromData,52,2a2bb7000c2abb000d59b7000eb500022ab400022bb8000f2abb001059b70011b500032ab400032bb8000f2a2bb80012b50004b1
 toData,30,2a2bb700132ab400022bb800142ab400032bb800142ab400042bb80015b1
 
@@ -844,11 +844,11 @@ com/gemstone/gemfire/internal/cache/AddCacheServerProfileMessage,2
 fromData,16,2a2bb7002f2a2bb900300100b50007b1
 toData,16,2a2bb7002d2b2ab40007b9002e0200b1
 
-com/gemstone/gemfire/internal/cache/BridgeRegionEventImpl,2
+com/gemstone/gemfire/internal/cache/ClientRegionEventImpl,2
 fromData,14,2a2bb700132a2bb80014b60003b1
 toData,14,2a2bb700112ab6000d2bb80012b1
 
-com/gemstone/gemfire/internal/cache/BridgeServerAdvisor$BridgeServerProfile,2
+com/gemstone/gemfire/internal/cache/CacheServerAdvisor$CacheServerProfile,2
 fromData,53,2a2bb700102a2bb80011b500042a2bb900120100b500062abb001359b70014b500052ab400052bb800152a2bb900160100b60017b1
 toData,42,2a2bb7000a2ab400042bb8000b2b2ab40006b9000c02002ab400052bb8000d2b2ab6000eb9000f0300b1
 
@@ -1164,8 +1164,8 @@ fromData,207,2a2bb9004f0100b500162a2bb900500100b80051b500032a2bb80052b500182a2bb
 toData,178,2b2ab40016b9004602002b2ab40003b40047b9004802002ab400182bb800492b2ab40005b9004a02002b2ab4001fb9004a02002ab400042bb800492ab400082bb8004b2ab400092bb8004b2ab400072bb8004b2ab4000c2bb800492ab4000e2bb800492ab4000d2bb800492ab400102bb800492ab4000f2bb800492b2ab40006b9004a02002ab400112bb8004c2ab400142bb8004d2ab40001b9004e010099000b012bb8004ca7000b2ab400012bb8004cb1
 
 com/gemstone/gemfire/internal/cache/PoolFactoryImpl$PoolAttributes,2
-fromData,153,2a2bb80033b500022a2bb80033b500042a2bb80033b500062a2bb80033b500082a2bb80033b500092a2bb80033b5000a2a2bb80033b5000e2a2bb80034b5000d2a2bb80034b500112a2bb80033b500152a2bb80033b500172a2bb80035b500072a2bb80035b500132a2bb80036b5001a2a2bb80037b5001e2a2bb80037b5001f2a2bb80035b500232a2bb80033b500122a2bb80035b5001bb1
-toData,153,2ab400022bb8002e2ab400042bb8002e2ab400062bb8002e2ab400082bb8002e2ab400092bb8002e2ab4000a2bb8002e2ab4000e2bb8002e2ab4000d2bb8002f2ab400112bb8002f2ab400152bb8002e2ab400172bb8002e2ab400072bb800302ab400132bb800302ab4001a2bb800312ab4001e2bb800322ab4001f2bb800322ab400232bb800302ab400122bb8002e2ab4001b2bb80030b1
+fromData,145,2a2bb80031b500022a2bb80031b500042a2bb80031b500062a2bb80031b500082a2bb80031b500092a2bb80031b5000a2a2bb80031b5000e2a2bb80032b5000d2a2bb80032b500112a2bb80031b500152a2bb80031b500172a2bb80033b500072a2bb80033b500132a2bb80034b5001a2a2bb80035b5001e2a2bb80035b5001f2a2bb80031b500122a2bb80033b5001bb1
+toData,145,2ab400022bb8002c2ab400042bb8002c2ab400062bb8002c2ab400082bb8002c2ab400092bb8002c2ab4000a2bb8002c2ab4000e2bb8002c2ab4000d2bb8002d2ab400112bb8002d2ab400152bb8002c2ab400172bb8002c2ab400072bb8002e2ab400132bb8002e2ab4001a2bb8002f2ab4001e2bb800302ab4001f2bb800302ab400122bb8002c2ab4001b2bb8002eb1
 
 com/gemstone/gemfire/internal/cache/PreferBytesCachedDeserializable,2
 fromData,9,2a2bb8000cb50002b1

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedSerializables.txt
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedSerializables.txt b/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedSerializables.txt
index f272e4a..58ef0ab 100644
--- a/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedSerializables.txt
+++ b/gemfire-core/src/test/resources/com/gemstone/gemfire/codeAnalysis/sanctionedSerializables.txt
@@ -218,15 +218,6 @@ com/gemstone/gemfire/cache/query/internal/utils/PDXUtils$1,false
 com/gemstone/gemfire/cache/query/internal/utils/PDXUtils$2,false
 com/gemstone/gemfire/cache/snapshot/SnapshotOptions$SnapshotFormat,false
 com/gemstone/gemfire/cache/util/BoundedLinkedHashMap,true,-3419897166186852692,_maximumNumberOfEntries:int
-com/gemstone/gemfire/cache/util/BridgeWriterException,true,-295001316745954159
-com/gemstone/gemfire/cache/util/EndpointDoesNotExistException,true,1654241470788247283
-com/gemstone/gemfire/cache/util/EndpointException,false
-com/gemstone/gemfire/cache/util/EndpointExistsException,true,950617116786308012
-com/gemstone/gemfire/cache/util/EndpointInUseException,true,-4087729485272321469
-com/gemstone/gemfire/cache/util/IncompatibleVersionException,true,7008667865037538081
-com/gemstone/gemfire/cache/util/ServerRefusedConnectionException,true,-4996327025772566931
-com/gemstone/gemfire/cache/util/UnknownVersionException,true,7379530185697556990
-com/gemstone/gemfire/cache/util/VersionException,false
 com/gemstone/gemfire/cache/wan/GatewaySender$OrderPolicy,false
 com/gemstone/gemfire/cache/util/Gateway$OrderPolicy,false
 com/gemstone/gemfire/compression/CompressionException,true,4118639654597191235

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/resources/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.xml
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/resources/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.xml b/gemfire-core/src/test/resources/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.xml
index 4e884d5..38ad448 100644
--- a/gemfire-core/src/test/resources/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.xml
+++ b/gemfire-core/src/test/resources/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.xml
@@ -6,25 +6,16 @@
 -->
 
 <!DOCTYPE cache PUBLIC
-  "-//GemStone Systems, Inc.//GemFire Declarative Caching 5.0//EN"
-  "http://www.gemstone.com/dtd/cache5_0.dtd">
+  "-//GemStone Systems, Inc.//GemFire Declarative Caching 8.0//EN"
+  "http://www.gemstone.com/dtd/cache8_0.dtd">
 <cache>
+  <pool name="clientPool" subscription-enabled="true" subscription-redundancy="6">
+    <server host="localhost" port="30303"/>
+  </pool>
   <region name="root">
     <region-attributes/> 
     <region name="exampleRegion">
-      <region-attributes scope="distributed-ack">
-        <cache-writer>
-          <class-name>com.gemstone.gemfire.cache.util.BridgeWriter</class-name>
-          <parameter name="endpoints">
-            <string>server=localhost:30303</string>
-          </parameter>
-          <parameter name="establishCallbackConnection">
-            <string>true</string>
-          </parameter>
-          <parameter name="redundancyLevel">
-            <string>6</string>
-          </parameter>          
-        </cache-writer>
+      <region-attributes scope="distributed-ack" pool-name="clientPool">
       </region-attributes>
     </region>
   </region>



[08/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterDUnitTest.java
deleted file mode 100644
index bb5850d..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterDUnitTest.java
+++ /dev/null
@@ -1,418 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache30;
-
-import java.io.IOException;
-import java.util.Properties;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.CacheException;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.cache.client.SubscriptionNotEnabledException;
-
-import dunit.DistributedTestCase;
-import dunit.Host;
-import dunit.VM;
-
-/**
- * Tests the BridgeWriter API, including interaction with Region.
- *
- * @author Kirk Lund
- * @since 4.2.3
- */
-public class BridgeWriterDUnitTest extends BridgeTestCase {
-
-  public BridgeWriterDUnitTest(String name) {
-    super(name);
-  }
-  
-  public void tearDown2() throws Exception {
-    super.tearDown2();
-    disconnectAllFromDS(); // cleans up bridge server and client and lonerDS
-  }
-  
-  /**
-   * Tests for Bug 35381 Calling register interest if 
-   * establishCallbackConnection is not set causes bridge server NPE.
-   */
-  public void testBug35381() throws Exception {
-    final Host host = Host.getHost(0);
-    final String name = this.getUniqueName();
-    final int[] ports = new int[1]; // 1 server in this test
-    
-    final int whichVM = 0;
-    final VM vm = Host.getHost(0).getVM(whichVM);
-    vm.invoke(new CacheSerializableRunnable("Create bridge server") {
-      public void run2() throws CacheException {
-        getLogWriter().info("[testBug35381] Create BridgeServer");
-        getSystem();
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.LOCAL);
-        Region region = createRegion(name, factory.create());
-        assertNotNull(region);
-        assertNotNull(getRootRegion().getSubregion(name));
-        region.put("KEY-1", "VAL-1");
-        
-        try {
-          bridgeServerPort = startBridgeServer(0);
-        }
-        catch (IOException e) {
-          getLogWriter().error("startBridgeServer threw IOException", e);
-          fail("startBridgeServer threw IOException " + e.getMessage());
-        }
-        
-        assertTrue(bridgeServerPort != 0);
-    
-        getLogWriter().info("[testBug35381] port=" + bridgeServerPort);
-        getLogWriter().info("[testBug35381] serverMemberId=" + getMemberId());
-      }
-    });
-    ports[whichVM] = vm.invokeInt(BridgeWriterDUnitTest.class, 
-                                  "getBridgeServerPort");
-    assertTrue(ports[whichVM] != 0);
-    
-    getLogWriter().info("[testBug35381] create bridge client");
-    Properties config = new Properties();
-    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    getSystem(config);
-    getCache();
-    
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-
-    getLogWriter().info("[testBug35381] creating connection pool");
-    boolean establishCallbackConnection = false; // SOURCE OF BUG 35381
-    BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, establishCallbackConnection, -1, -1, null);
-    Region region = createRegion(name, factory.create());
-    assertNotNull(getRootRegion().getSubregion(name));
-    try {
-      region.registerInterest("KEY-1");
-      fail("registerInterest failed to throw BridgeWriterException with establishCallbackConnection set to false"); 
-    }
-    catch (SubscriptionNotEnabledException expected) {
-    }
-  }
-  protected static int bridgeServerPort;
-  private static int getBridgeServerPort() {
-    return bridgeServerPort;
-  }
-  
-  /**
-   * Tests failover of register interest from client point of view. Related
-   * bugs include:
-   *
-   * <p>Bug 35654 "failed re-registration may never be detected and thus
-   * may never re-re-register"
-   *
-   * <p>Bug 35639 "registerInterest re-registration happens everytime a healthy
-   * server is detected"
-   *
-   * <p>Bug 35655 "a single failed re-registration causes all other pending
-   * re-registrations to be cancelled"
-   */
-  public void _testRegisterInterestFailover() throws Exception {
-    // controller is bridge client
-    
-    final Host host = Host.getHost(0);
-    final String name = this.getUniqueName();
-    final String regionName1 = name+"-1";
-    final String regionName2 = name+"-2";
-    final String regionName3 = name+"-3";
-    final String key1 = "KEY-"+regionName1+"-1";
-    final String key2 = "KEY-"+regionName1+"-2";
-    final String key3 = "KEY-"+regionName1+"-3";
-    final int[] ports = new int[3]; // 3 servers in this test
-    
-    // create first bridge server with region for client...
-    final int firstServerIdx = 0;
-    final VM firstServerVM = Host.getHost(0).getVM(firstServerIdx);
-    firstServerVM.invoke(new CacheSerializableRunnable("Create first bridge server") {
-      public void run2() throws CacheException {
-        getLogWriter().info("[testRegisterInterestFailover] Create first bridge server");
-        getSystem();
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.LOCAL);
-        Region region1 = createRootRegion(regionName1, factory.create());
-        Region region2 = createRootRegion(regionName2, factory.create());
-        Region region3 = createRootRegion(regionName3, factory.create());
-        region1.put(key1, "VAL-1");
-        region2.put(key2, "VAL-1");
-        region3.put(key3, "VAL-1");
-        
-        try {
-          bridgeServerPort = startBridgeServer(0);
-        }
-        catch (IOException e) {
-          getLogWriter().error("startBridgeServer threw IOException", e);
-          fail("startBridgeServer threw IOException " + e.getMessage());
-        }
-        
-        assertTrue(bridgeServerPort != 0);
-    
-        getLogWriter().info("[testRegisterInterestFailover] " +
-          "firstServer port=" + bridgeServerPort);
-        getLogWriter().info("[testRegisterInterestFailover] " +
-          "firstServer memberId=" + getMemberId());
-      }
-    });
-
-    // create second bridge server missing region for client...
-    final int secondServerIdx = 1;
-    final VM secondServerVM = Host.getHost(0).getVM(secondServerIdx);
-    secondServerVM.invoke(new CacheSerializableRunnable("Create second bridge server") {
-      public void run2() throws CacheException {
-        getLogWriter().info("[testRegisterInterestFailover] Create second bridge server");
-        getSystem();
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.LOCAL);
-        Region region1 = createRootRegion(regionName1, factory.create());
-        Region region3 = createRootRegion(regionName3, factory.create());
-        region1.put(key1, "VAL-2");
-        region3.put(key3, "VAL-2");
-        
-        try {
-          bridgeServerPort = startBridgeServer(0);
-        }
-        catch (IOException e) {
-          getLogWriter().error("startBridgeServer threw IOException", e);
-          fail("startBridgeServer threw IOException " + e.getMessage());
-        }
-        
-        assertTrue(bridgeServerPort != 0);
-    
-        getLogWriter().info("[testRegisterInterestFailover] " +
-          "secondServer port=" + bridgeServerPort);
-        getLogWriter().info("[testRegisterInterestFailover] " +
-          "secondServer memberId=" + getMemberId());
-      }
-    });
-
-    // get the bridge server ports...
-    ports[firstServerIdx] = firstServerVM.invokeInt(
-      BridgeWriterDUnitTest.class, "getBridgeServerPort");
-    assertTrue(ports[firstServerIdx] != 0);
-    ports[secondServerIdx] = secondServerVM.invokeInt(
-      BridgeWriterDUnitTest.class, "getBridgeServerPort");
-    assertTrue(ports[secondServerIdx] != 0);
-    assertTrue(ports[firstServerIdx] != ports[secondServerIdx]);
-    
-    // stop second and third servers
-    secondServerVM.invoke(new CacheSerializableRunnable("Stop second bridge server") {
-      public void run2() throws CacheException {
-        stopBridgeServers(getCache());
-      }
-    });
-    
-    // create the bridge client
-    getLogWriter().info("[testBug35654] create bridge client");
-    Properties config = new Properties();
-    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    getSystem(config);
-    getCache();
-    
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-
-    getLogWriter().info("[testRegisterInterestFailover] creating connection pool");
-    boolean establishCallbackConnection = true;
-    final PoolImpl p = (PoolImpl)BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, establishCallbackConnection, -1, -1, null);
-
-    final Region region1 = createRootRegion(regionName1, factory.create());
-    final Region region2 = createRootRegion(regionName2, factory.create());
-    final Region region3 = createRootRegion(regionName3, factory.create());
-
-    assertTrue(region1.getInterestList().isEmpty());
-    assertTrue(region2.getInterestList().isEmpty());
-    assertTrue(region3.getInterestList().isEmpty());
-
-    region1.registerInterest(key1);
-    region2.registerInterest(key2);
-    region3.registerInterest(key3);
-
-    assertTrue(region1.getInterestList().contains(key1));
-    assertTrue(region2.getInterestList().contains(key2));
-    assertTrue(region3.getInterestList().contains(key3));
-    
-    assertTrue(region1.getInterestListRegex().isEmpty());
-    assertTrue(region2.getInterestListRegex().isEmpty());
-    assertTrue(region3.getInterestListRegex().isEmpty());
-    
-    // get ConnectionProxy and wait until connected to first server
-    WaitCriterion ev = new WaitCriterion() {
-      public boolean done() {
-        return p.getPrimaryPort() != -1;
-      }
-      public String description() {
-        return "primary port remained invalid";
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 10 * 1000, 200, true);
-    assertEquals(ports[firstServerIdx], p.getPrimaryPort()); 
-    
-    // assert intial values
-    assertEquals("VAL-1", region1.get(key1));
-    assertEquals("VAL-1", region2.get(key2));
-    assertEquals("VAL-1", region3.get(key3));
-    
-    // do puts on server1 and make sure values come thru for all 3 registrations
-    firstServerVM.invoke(new CacheSerializableRunnable("Puts from first bridge server") {
-      public void run2() throws CacheException {
-        Region region1 = getCache().getRegion(regionName1);
-        region1.put(key1, "VAL-1-1");
-        Region region2 = getCache().getRegion(regionName2);
-        region2.put(key2, "VAL-1-1");
-        Region region3 = getCache().getRegion(regionName3);
-        region3.put(key3, "VAL-1-1");
-      }
-    });
-
-    ev = new WaitCriterion() {
-      public boolean done() {
-        if (!"VAL-1-1".equals(region1.get(key1)) || 
-            !"VAL-1-1".equals(region2.get(key2)) ||
-            !"VAL-1-1".equals(region3.get(key3))
-            ) return  false;
-        return true;
-      }
-      public String description() {
-        return null;
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 10 * 1000, 200, true);
-    assertEquals("VAL-1-1", region1.get(key1));
-    assertEquals("VAL-1-1", region2.get(key2));
-    assertEquals("VAL-1-1", region3.get(key3));
-    
-    // force failover to server 2
-    secondServerVM.invoke(new CacheSerializableRunnable("Start second bridge server") {
-      public void run2() throws CacheException {
-        try {
-          startBridgeServer(ports[secondServerIdx]);
-        }
-        catch (IOException e) {
-          getLogWriter().error("startBridgeServer threw IOException", e);
-          fail("startBridgeServer threw IOException " + e.getMessage());
-        }
-      }
-    });
-   
-    firstServerVM.invoke(new CacheSerializableRunnable("Stop first bridge server") {
-      public void run2() throws CacheException {
-        stopBridgeServers(getCache());
-      }
-    });
-
-    // wait for failover to second server
-    ev = new WaitCriterion() {
-      public boolean done() {
-        return ports[secondServerIdx] == p.getPrimaryPort();
-      }
-      public String description() {
-        return "primary port never became " + ports[secondServerIdx];
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 100 * 1000, 200, true);
-    
-    try {
-      assertEquals(null, region2.get(key2));
-      fail("CacheLoaderException expected");
-    }
-    catch (com.gemstone.gemfire.cache.CacheLoaderException e) {
-    }
-  
-    // region2 registration should be gone now
-    // do puts on server2 and make sure values come thru for only 2 registrations
-    secondServerVM.invoke(new CacheSerializableRunnable("Puts from second bridge server") {
-      public void run2() throws CacheException {
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.LOCAL);
-        createRootRegion(regionName2, factory.create());
-      }
-    });
-    
-    // assert that there is no actively registered interest on region2
-    assertTrue(region2.getInterestList().isEmpty());
-    assertTrue(region2.getInterestListRegex().isEmpty());
-
-    region2.put(key2, "VAL-0");
-    
-    secondServerVM.invoke(new CacheSerializableRunnable("Put from second bridge server") {
-      public void run2() throws CacheException {
-        Region region1 = getCache().getRegion(regionName1);
-        region1.put(key1, "VAL-2-2");
-        Region region2 = getCache().getRegion(regionName2);
-        region2.put(key2, "VAL-2-1");
-        Region region3 = getCache().getRegion(regionName3);
-        region3.put(key3, "VAL-2-2");
-      }
-    });
-    
-    // wait for updates to come thru
-    ev = new WaitCriterion() {
-      public boolean done() {
-        if (!"VAL-2-2".equals(region1.get(key1)) || 
-            !"VAL-2-2".equals(region3.get(key3)))
-          return false;
-        return true;
-      }
-      public String description() {
-        return null;
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 100 * 1000, 200, true);
-    assertEquals("VAL-2-2", region1.get(key1));
-    assertEquals("VAL-0",   region2.get(key2));
-    assertEquals("VAL-2-2", region3.get(key3));
-
-    // assert again that there is no actively registered interest on region2
-    assertTrue(region2.getInterestList().isEmpty());
-
-    // register interest again on region2 and make
-    region2.registerInterest(key2);
-    assertEquals("VAL-2-1", region2.get(key2));
-    
-    secondServerVM.invoke(new CacheSerializableRunnable("Put from second bridge server") {
-      public void run2() throws CacheException {
-        Region region1 = getCache().getRegion(regionName1);
-        region1.put(key1, "VAL-2-3");
-        Region region2 = getCache().getRegion(regionName2);
-        region2.put(key2, "VAL-2-2");
-        Region region3 = getCache().getRegion(regionName3);
-        region3.put(key3, "VAL-2-3");
-      }
-    });
-    
-    // wait for updates to come thru
-    ev = new WaitCriterion() {
-      public boolean done() {
-        if (!"VAL-2-3".equals(region1.get(key1)) || 
-            !"VAL-2-2".equals(region2.get(key2)) ||
-            !"VAL-2-3".equals(region3.get(key3)))
-          return false;
-        return true;
-      }
-      public String description() {
-        return null;
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 100 * 1000, 200, true);
-    assertEquals("VAL-2-3", region1.get(key1));
-    assertEquals("VAL-2-2", region2.get(key2));
-    assertEquals("VAL-2-3", region3.get(key3));
-
-    // assert public methods report actively registered interest on region2
-    assertTrue(region2.getInterestList().contains(key2));
-  }
-  
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterSelectorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterSelectorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterSelectorDUnitTest.java
deleted file mode 100644
index 147af46..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeWriterSelectorDUnitTest.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.gemstone.gemfire.cache30;
-
-/**
- * Same as BridgeWriterDUnitTest but uses selector in server
- *
- * @author darrel
- * @since 5.1
- */
-public class BridgeWriterSelectorDUnitTest extends BridgeWriterDUnitTest {
-  public BridgeWriterSelectorDUnitTest(String name) {
-    super(name);
-  }
-  protected int getMaxThreads() {
-    return 2;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/Bug38741DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/Bug38741DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/Bug38741DUnitTest.java
index 487434b..cfeb0e1 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/Bug38741DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/Bug38741DUnitTest.java
@@ -27,7 +27,7 @@ import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.NanoTimer;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.BucketRegion;
 import com.gemstone.gemfire.internal.cache.BucketRegion.RawValue;
 import com.gemstone.gemfire.internal.cache.CachedDeserializable;
@@ -51,7 +51,7 @@ import dunit.VM;
  * @author Mitch Thomas
  * @since bugfix5.7
  */
-public class Bug38741DUnitTest extends BridgeTestCase {
+public class Bug38741DUnitTest extends ClientServerTestCase {
   private static final long serialVersionUID = 1L;
 
   protected RegionAttributes getRegionAttributes() {
@@ -151,7 +151,7 @@ public class Bug38741DUnitTest extends BridgeTestCase {
         getCache();
         
         AttributesFactory factory = new AttributesFactory();
-        BridgeTestCase.configureConnectionPool(factory, serverHostName, ports, true,-1,1,null);
+        ClientServerTestCase.configureConnectionPool(factory, serverHostName, ports, true,-1,1,null);
         factory.setScope(Scope.LOCAL);
         Region r = createRootRegion(rName, factory.create());
         SerializationCountingKey ks1 = new SerializationCountingKey(k1);
@@ -177,8 +177,8 @@ public class Bug38741DUnitTest extends BridgeTestCase {
     server.invoke(new CacheSerializableRunnable("Assert copy behavior after client is setup") {
       public void run2() throws CacheException {
         Region r = getRootRegion(rName);
-        BridgeServerImpl bsi = (BridgeServerImpl)
-          getCache().getBridgeServers().iterator().next();
+        CacheServerImpl bsi = (CacheServerImpl)
+          getCache().getCacheServers().iterator().next();
         Collection cp = bsi.getAcceptor().getCacheClientNotifier().getClientProxies();
         // Should only be one because only one client is connected
         assertEquals(1, cp.size());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml30DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml30DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml30DUnitTest.java
index 95cc02a..e06cd13 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml30DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml30DUnitTest.java
@@ -39,7 +39,6 @@ import com.gemstone.gemfire.cache.MirrorType;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.util.BridgeClient;
 import com.gemstone.gemfire.cache.util.ObjectSizer;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
@@ -223,132 +222,6 @@ public class CacheXml30DUnitTest extends CacheXmlTestCase {
     testXml(cache);
   }
 
-  public static class TestBridgeClient extends BridgeClient {
-    public boolean equals(Object obj)
-    {
-      return obj instanceof BridgeClient; // needed for sameAs comparison
-    }
-  }
-  /**
-   * Tests a bridge client and special setCacheWriter behavior on 
-   * region attributes
-   */
-  public void testBridgeClientAsLoader() throws CacheException {
-    getSystem();
-    CacheCreation cache = new CacheCreation();
-    RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
-    final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(1);
-
-    BridgeClient bc = new TestBridgeClient();
-    Properties props = new Properties();
-    props.setProperty("endpoints", "server=" + 
-      DistributedTestCase.getIPLiteral() + ":" + ports[0]);
-    bc.init(props);
-    
-    attrs.setCacheLoader(bc);
-
-    cache.createRegion("root", attrs);
-
-    addExpectedException("Connection refused: connect");
-    testXml(cache);
-    final Region ro = cache.getRegion("root");
-    assertSame(ro.getAttributes().getCacheLoader(), ro.getAttributes().getCacheWriter());
-    assertTrue(ro.getAttributes().getCacheLoader() instanceof TestBridgeClient);
-    // now that a BridgeLoader creates its own pool make sure it exists
-    assertEquals("pools="+PoolManager.getAll(), 1, PoolManager.getAll().size());
-  }
-
-  /**
-   * Tests a bridge client and special setCacheWriter over-ride behavior on 
-   * region attributes
-   */
-  public void testBridgeClientWriterOverride() throws CacheException {
-    getSystem();
-    CacheCreation cache = new CacheCreation();
-    RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
-    final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(1);
-
-    BridgeClient bc = new TestBridgeClient();
-    Properties props = new Properties();
-    props.setProperty("endpoints", "server="
-      + DistributedTestCase.getIPLiteral() + ":" + ports[0]);
-    bc.init(props);
-    
-    attrs.setCacheLoader(bc);
-    attrs.setCacheWriter(new MyTestCacheWriter());
-
-    cache.createRegion("root", attrs);
-
-    addExpectedException("Connection refused: connect");
-    testXml(cache);
-    
-    final Region ro = cache.getRegion("root");
-    assertTrue(ro.getAttributes().getCacheLoader() instanceof BridgeClient);
-    assertTrue(ro.getAttributes().getCacheWriter() instanceof MyTestCacheWriter);
-    // now that a BridgeLoader creates its own pool make sure it exists
-    assertEquals("pools="+PoolManager.getAll(), 1, PoolManager.getAll().size());
-  }
-
-  
-  /**
-   * Tests a bridge client and special setCacheLoader over-ride behavior on 
-   * region attributes
-   */
-  public void testBridgeClientLoaderOverride() throws CacheException {
-    getSystem();
-    CacheCreation cache = new CacheCreation();
-    RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
-    final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(1);
-
-    BridgeClient bc = new TestBridgeClient();
-    Properties props = new Properties();
-    props.setProperty("endpoints", "server=" 
-      + DistributedTestCase.getIPLiteral() + ":" + ports[0]);
-    bc.init(props);
-    
-    attrs.setCacheWriter(bc);
-    attrs.setCacheLoader(new CacheLoaderWithDeclarables());
-
-    cache.createRegion("root", attrs);
-
-    addExpectedException("Connection refused: connect");
-    testXml(cache);
-    final Region ro = cache.getRegion("root");
-    assertTrue(ro.getAttributes().getCacheWriter() instanceof BridgeClient);
-    assertTrue(ro.getAttributes().getCacheLoader() instanceof CacheLoaderWithDeclarables);
-    // now that a BridgeLoader creates its own pool make sure it exists
-    assertEquals("pools="+PoolManager.getAll(), 1, PoolManager.getAll().size());
-  }
-
-  /**
-   * Tests a bridge client and special setCacheWriter behavior on 
-   * region attributes
-   */
-  public void testBridgeClientAsWriter() throws CacheException {
-    getSystem();
-    CacheCreation cache = new CacheCreation();
-    RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
-    final int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(1);
-
-    BridgeClient bc = new TestBridgeClient();
-    Properties props = new Properties();
-    props.setProperty("endpoints", "server=" 
-      + DistributedTestCase.getIPLiteral() + ":" + ports[0]);
-    bc.init(props);
-    
-    attrs.setCacheWriter(bc);
-
-    cache.createRegion("root", attrs);
-
-    addExpectedException("Connection refused: connect");
-    testXml(cache);
-    final Region ro = cache.getRegion("root");
-    assertSame(ro.getAttributes().getCacheLoader(), ro.getAttributes().getCacheWriter());
-    assertTrue(ro.getAttributes().getCacheWriter() instanceof TestBridgeClient);
-    // now that a BridgeLoader creates its own pool make sure it exists
-    assertEquals("pools="+PoolManager.getAll(), 1, PoolManager.getAll().size());
-  }
-
   /**
    * Tests a cache writer with no parameters
    */

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml40DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml40DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml40DUnitTest.java
index 686a0ab..acaf91a 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml40DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml40DUnitTest.java
@@ -8,7 +8,7 @@
 package com.gemstone.gemfire.cache30;
 
 import com.gemstone.gemfire.cache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
 import com.gemstone.gemfire.internal.cache.xmlcache.*;
 
@@ -56,9 +56,9 @@ public class CacheXml40DUnitTest extends CacheXml30DUnitTest {
   public void testBridgeServers() {
     CacheCreation cache = new CacheCreation();
 
-    BridgeServer bridge1 = cache.addBridgeServer();
+    CacheServer bridge1 = cache.addCacheServer();
     setBridgeAttributes(bridge1);
-    BridgeServer bridge2 = cache.addBridgeServer();
+    CacheServer bridge2 = cache.addCacheServer();
     bridge2.setPort(AvailablePortHelper.getRandomAvailableTCPPort());
 
     testXml(cache);
@@ -68,7 +68,7 @@ public class CacheXml40DUnitTest extends CacheXml30DUnitTest {
    * Used by testBridgeServers to set version specific attributes
    * @param bridge1 the bridge server to set attributes upon
    */
-  public void setBridgeAttributes(BridgeServer bridge1)
+  public void setBridgeAttributes(CacheServer bridge1)
   {
     bridge1.setPort(AvailablePortHelper.getRandomAvailableTCPPort());
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml41DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml41DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml41DUnitTest.java
index f7aabf4..cd16cac 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml41DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml41DUnitTest.java
@@ -8,8 +8,9 @@
 package com.gemstone.gemfire.cache30;
 
 import com.gemstone.gemfire.cache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.internal.cache.xmlcache.*;
+
 import java.io.*;
 
 import org.xml.sax.SAXException;
@@ -40,7 +41,7 @@ public class CacheXml41DUnitTest extends CacheXml40DUnitTest
   // ////// Test methods
 
   
-  public void setBridgeAttributes(BridgeServer bridge1)
+  public void setBridgeAttributes(CacheServer bridge1)
   {
     super.setBridgeAttributes(bridge1);
     bridge1.setMaximumTimeBetweenPings(12345);
@@ -548,7 +549,6 @@ public class CacheXml41DUnitTest extends CacheXml40DUnitTest
     assertEquals(true, DynamicRegionFactory.get().getConfig().getPersistBackup());
     assertEquals(true, DynamicRegionFactory.get().isOpen());
     assertEquals(null, DynamicRegionFactory.get().getConfig().getDiskDir());
-    assertEquals(null, DynamicRegionFactory.get().getConfig().getBridgeWriter());
     Region dr = getCache().getRegion("__DynamicRegions");    
     if(dr != null) {
         dr.localDestroyRegion();      
@@ -557,7 +557,7 @@ public class CacheXml41DUnitTest extends CacheXml40DUnitTest
   }
   public void testDynamicRegionFactoryNonDefault() throws CacheException {
     CacheCreation cache = new CacheCreation();
-    cache.setDynamicRegionFactoryConfig(new DynamicRegionFactory.Config((File)null, (com.gemstone.gemfire.cache.util.BridgeWriter)null, false, false));
+    cache.setDynamicRegionFactoryConfig(new DynamicRegionFactory.Config((File)null, null, false, false));
     RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
     cache.createRegion("root", attrs);
     // note that testXml can't check if they are same because enabling
@@ -567,7 +567,6 @@ public class CacheXml41DUnitTest extends CacheXml40DUnitTest
     assertEquals(false, DynamicRegionFactory.get().getConfig().getPersistBackup());
     assertEquals(true, DynamicRegionFactory.get().isOpen());
     assertEquals(null, DynamicRegionFactory.get().getConfig().getDiskDir());
-    assertEquals(null, DynamicRegionFactory.get().getConfig().getBridgeWriter());    
     Region dr = getCache().getRegion("__DynamicRegions");    
     if(dr != null) {
         dr.localDestroyRegion();      
@@ -582,7 +581,7 @@ public class CacheXml41DUnitTest extends CacheXml40DUnitTest
     CacheCreation cache = new CacheCreation();
     File f = new File("diskDir");
     f.mkdirs();
-    cache.setDynamicRegionFactoryConfig(new DynamicRegionFactory.Config(f, null));
+    cache.setDynamicRegionFactoryConfig(new DynamicRegionFactory.Config(f, null, true, true));
     RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
     cache.createRegion("root", attrs);
     // note that testXml can't check if they are same because enabling
@@ -590,28 +589,11 @@ public class CacheXml41DUnitTest extends CacheXml40DUnitTest
     testXml(cache, false);
     assertEquals(true, DynamicRegionFactory.get().isOpen());
     assertEquals(f.getAbsoluteFile(), DynamicRegionFactory.get().getConfig().getDiskDir());
-    assertEquals(null, DynamicRegionFactory.get().getConfig().getBridgeWriter());
     Region dr =getCache().getRegion("__DynamicRegions");    
     if(dr != null) {
         dr.localDestroyRegion();      
     }
   }
-  /**
-   * disabled test because it can only be done from a bridge client cache.
-   */
-  public void _testDynamicRegionFactoryCacheWriter() throws CacheException {
-    CacheCreation cache = new CacheCreation();
-    CacheWriter writer = new MyTestCacheWriter();
-    cache.setDynamicRegionFactoryConfig(new DynamicRegionFactory.Config(null, (com.gemstone.gemfire.cache.util.BridgeWriter)writer));
-    RegionAttributesCreation attrs = new RegionAttributesCreation(cache);
-    cache.createRegion("root", attrs);
-    // note that testXml can't check if they are same because enabling
-    // dynamic regions causes a meta region to be produced.
-    testXml(cache, false);
-    assertEquals(true, DynamicRegionFactory.get().isOpen());
-    assertEquals(null, DynamicRegionFactory.get().getConfig().getDiskDir());
-    assertEquals(writer, DynamicRegionFactory.get().getConfig().getBridgeWriter());
-  }
 
   /**
    * Remove this override when bug #52052 is fixed.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml45DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml45DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml45DUnitTest.java
index bc41df8..9891e59 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml45DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml45DUnitTest.java
@@ -9,7 +9,7 @@ package com.gemstone.gemfire.cache30;
 
 import com.company.app.DBLoader;
 import com.gemstone.gemfire.cache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.cache.DistributedRegion;
 import com.gemstone.gemfire.internal.cache.xmlcache.*;
@@ -46,7 +46,7 @@ public class CacheXml45DUnitTest extends CacheXml41DUnitTest {
   
 
   
-  public void setBridgeAttributes(BridgeServer bridge1)
+  public void setBridgeAttributes(CacheServer bridge1)
   {
     super.setBridgeAttributes(bridge1);
     bridge1.setMaxConnections(100);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml51DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml51DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml51DUnitTest.java
index 779b44d..59e024d 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml51DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml51DUnitTest.java
@@ -8,12 +8,12 @@
 package com.gemstone.gemfire.cache30;
 
 import com.gemstone.gemfire.cache.*;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.PartitionedRegion;
 import com.gemstone.gemfire.internal.cache.DiskWriteAttributesImpl;
 import com.gemstone.gemfire.internal.cache.xmlcache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
 
 import dunit.Host;
 import dunit.VM;
@@ -148,7 +148,7 @@ public void testMessageSyncInterval() throws CacheException {
 public void testBridgeAttributesRelatedToClientQueuesHA() throws CacheException {
   CacheCreation cache = new CacheCreation();
   cache.setMessageSyncInterval(3445);
-  BridgeServer bs = cache.addBridgeServer();
+  CacheServer bs = cache.addCacheServer();
   bs.setMaximumMessageCount(12345);
   bs.setMessageTimeToLive(56789);
   bs.setPort(AvailablePortHelper.getRandomAvailableTCPPort());
@@ -158,7 +158,7 @@ public void testBridgeAttributesRelatedToClientQueuesHA() throws CacheException
   testXml(cache);
   Cache c = getCache();
   assertNotNull(c);
-  BridgeServer server = (BridgeServer)cache.getBridgeServers().iterator().next();
+  CacheServer server = (CacheServer)cache.getCacheServers().iterator().next();
   assertNotNull(server);
   assertEquals(12345,server.getMaximumMessageCount());
   assertEquals(56789,server.getMessageTimeToLive());     
@@ -199,7 +199,7 @@ public void testBridgeAttributesRelatedToClientQueuesHA() throws CacheException
   {
     CacheCreation cache = new CacheCreation();
 
-    BridgeServer bs = cache.addBridgeServer();
+    CacheServer bs = cache.addCacheServer();
     bs.setMaxThreads(37);
     bs.setMaxConnections(999);
     bs.setPort(AvailablePortHelper.getRandomAvailableTCPPort());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml57DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml57DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml57DUnitTest.java
index 37cf277..85fcf2f 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml57DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/CacheXml57DUnitTest.java
@@ -376,7 +376,6 @@ public class CacheXml57DUnitTest extends CacheXml55DUnitTest
     assertEquals(false, DynamicRegionFactory.get().getConfig().getPersistBackup());
     assertEquals(true, DynamicRegionFactory.get().isOpen());
     assertEquals(null, DynamicRegionFactory.get().getConfig().getDiskDir());
-    assertEquals(null, DynamicRegionFactory.get().getConfig().getBridgeWriter());
     assertEquals("connectionPool", DynamicRegionFactory.get().getConfig().getPoolName());
     Region dr = getCache().getRegion("__DynamicRegions");    
     if(dr != null) {



[14/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGemFireVM.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGemFireVM.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGemFireVM.java
index 8c18e61..ab64026 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGemFireVM.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGemFireVM.java
@@ -672,7 +672,7 @@ public abstract class RemoteGemFireVM implements GemFireVM {
     return setCacheConfigValue(c, SEARCH_TIMEOUT_CODE, v);
   }
 
-  public AdminBridgeServer addBridgeServer(CacheInfo cache) 
+  public AdminBridgeServer addCacheServer(CacheInfo cache) 
     throws AdminException {
 
     BridgeServerRequest request =

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractBridgeServer.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractBridgeServer.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractBridgeServer.java
deleted file mode 100644
index 383239e..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractBridgeServer.java
+++ /dev/null
@@ -1,425 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache;
-
-import com.gemstone.gemfire.CancelException;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
-import com.gemstone.gemfire.cache.server.ServerLoadProbe;
-import com.gemstone.gemfire.cache.util.BridgeMembership;
-import com.gemstone.gemfire.cache.util.BridgeMembershipEvent;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListener;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListenerAdapter;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.distributed.internal.DM;
-import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
-import com.gemstone.gemfire.internal.admin.ClientMembershipMessage;
-import com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Set;
-
-/**
- * Abstract class that contains common code that all true implementations
- * of {@link CacheServer} can use.
- *
- * @author darrel
- * @since 5.7
- */
-public abstract class AbstractBridgeServer implements CacheServer, BridgeServer {
-
-  public static final String TEST_OVERRIDE_DEFAULT_PORT_PROPERTY = "gemfire.test.CacheServer.OVERRIDE_DEFAULT_PORT";
-
-  /** The cache that is served by this bridge server */
-  protected final InternalCache cache;
-
-  /** The port that the bridge server was configured to run on */
-  protected int port;
-  
-  /** The maximum number of connections that the BridgeServer will accept */
-  protected int maxConnections;
-
-  /** The maximum number of threads that the BridgeServer will create */
-  protected int maxThreads;
-
-  /** Whether the bridge server notifies by subscription */
-  protected boolean notifyBySubscription = true;
-  
-  /**
-   * The buffer size in bytes of the socket for this 
-   * <code>BridgeServer</code>
-   */
-  protected int socketBufferSize;
-  
-  /**
-   * The tcpNoDelay setting for outgoing sockets
-   */
-  protected boolean tcpNoDelay;
-  
-  /**
-   * The maximum amount of time between client pings. This value is used by
-   * the <code>ClientHealthMonitor</code> to determine the health of this
-   * <code>BridgeServer</code>'s clients.
-   */
-  protected int maximumTimeBetweenPings;
-  
-  /** the maximum number of messages that can be enqueued in a client-queue. */
-  protected int maximumMessageCount;
-  
-  /**
-   * the time (in seconds) after which a message in the client queue will
-   * expire.
-   */
-  protected int messageTimeToLive;
-  /**
-   * The groups this server belongs to. Use <code>getGroups</code> to read.
-   * @since 5.7
-   */
-  protected String[] groups;
-  
-  protected ServerLoadProbe loadProbe;
-
-  /**
-   * The ip address or host name that this server is to listen on.
-   * @since 5.7
-   */
-  protected String bindAddress;
-  /**
-   * The ip address or host name that will be given to clients so they can connect
-   * to this server
-   * @since 5.7
-   */
-  protected String hostnameForClients;
-  
-  /**
-   * How frequency to poll the load on this server.
-   */
-  protected long loadPollInterval;
-  
-  protected ClientSubscriptionConfig clientSubscriptionConfig;
-  
-  /**
-   * Listener that would listen to bridge membership and notify the admin 
-   * members(if any exist) as clients of this server leave/crash. 
-   */
-  protected final BridgeMembershipListener listener;
-
-  /**
-   * The number of seconds to keep transaction states for disconnected clients.
-   * This allows the client to fail over to another server and still find
-   * the transaction state to complete the transaction.
-   */
-  private int transactionTimeToLive;
-  
-  //////////////////////  Constructors  //////////////////////
-
-  /**
-   * Creates a new <code>BridgeServer</code> with the default
-   * configuration.
-   *
-   * @param cache
-   *        The cache being served
-   */
-  public AbstractBridgeServer(InternalCache cache) {
-    this(cache, true);
-  }
-
-  public AbstractBridgeServer(InternalCache cache, boolean attachListener) {
-    this.cache = cache;
-    this.port = Integer.getInteger(TEST_OVERRIDE_DEFAULT_PORT_PROPERTY, CacheServer.DEFAULT_PORT);
-    this.maxConnections = CacheServer.DEFAULT_MAX_CONNECTIONS;
-    this.maxThreads = CacheServer.DEFAULT_MAX_THREADS;
-    this.socketBufferSize = CacheServer.DEFAULT_SOCKET_BUFFER_SIZE;
-    this.tcpNoDelay = CacheServer.DEFAULT_TCP_NO_DELAY;
-    this.maximumTimeBetweenPings = CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS;
-    this.maximumMessageCount = CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT;
-    this.messageTimeToLive = CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE;
-    // TODO this should be configurable in CacheServer
-    this.transactionTimeToLive = Integer.getInteger("gemfire.cacheServer.transactionTimeToLive", 180);
-    this.groups = CacheServer.DEFAULT_GROUPS;
-    this.bindAddress = CacheServer.DEFAULT_BIND_ADDRESS;
-    this.hostnameForClients = CacheServer.DEFAULT_HOSTNAME_FOR_CLIENTS;
-    this.loadProbe = CacheServer.DEFAULT_LOAD_PROBE;
-    this.loadPollInterval = CacheServer.DEFAULT_LOAD_POLL_INTERVAL;
-    this.clientSubscriptionConfig = new ClientSubscriptionConfigImpl();
-
-    if (!attachListener) {
-      this.listener = null;
-      return;
-    }
-    listener = new BridgeMembershipListenerAdapter() {
-      /**
-       * Invoked when a client connected to this process or when this process 
-       * has got connected with a BridgeServer.
-       * 
-       * @param event
-       *          BridgeMembershipEvent associated with client getting connected
-       */
-      @Override
-      public void memberJoined(BridgeMembershipEvent event) {
-        /* process events for clients only */
-        if (event.isClient()) {
-          createAndSendMessage(event, ClientMembershipMessage.JOINED);
-        }
-      }
-      
-      /**
-       * Invoked when a client has gracefully disconnected from this process
-       * or when this process has gracefully disconnected from a BridgeServer.
-       * 
-       * @param event
-       *          BridgeMembershipEvent associated with client leaving gracefully
-       */
-      @Override
-      public void memberLeft(BridgeMembershipEvent event) {
-        /* process events for clients only */
-        if (event.isClient()) {
-          createAndSendMessage(event, ClientMembershipMessage.LEFT);
-        }
-      }
-
-      /**
-       * Invoked when a client has unexpectedly disconnected from this process
-       * or when this process has unexpectedly disconnected from a BridgeServer.
-       * 
-       * @param event
-       *          BridgeMembershipEvent associated with client getting
-       *          disconnected unexpectedly
-       */
-      @Override
-      public void memberCrashed(BridgeMembershipEvent event) {
-        /* process events for clients only */
-        if (event.isClient()) {
-          createAndSendMessage(event, ClientMembershipMessage.CRASHED);
-        }
-      }
-
-      /**
-       * Method to create & send the ClientMembershipMessage to admin members.
-       * The message is sent only if there are any admin members in the
-       * distribution system.
-       * 
-       * @param event
-       *          BridgeMembershipEvent associated for a change in client
-       *          membership
-       * @param type
-       *          type of event - one of ClientMembershipMessage.JOINED,
-       *          ClientMembershipMessage.LEFT, ClientMembershipMessage.CRASHED
-       */
-      private void createAndSendMessage(BridgeMembershipEvent event, int type) {
-        InternalDistributedSystem ds = null;
-        Cache cacheInstance = AbstractBridgeServer.this.cache;
-        if (cacheInstance != null && !(cacheInstance instanceof CacheCreation)) {
-          ds = (InternalDistributedSystem)cacheInstance.getDistributedSystem();
-        } else {
-          ds = InternalDistributedSystem.getAnyInstance();
-        }
-
-        //ds could be null
-        if (ds != null && ds.isConnected()) {
-          DM dm =  ds.getDistributionManager();
-          Set adminMemberSet = dm.getAdminMemberSet();
-
-          /* check if there are any admin members at all */
-          if (!adminMemberSet.isEmpty()) {
-            DistributedMember member = event.getMember();
-
-            ClientMembershipMessage msg = 
-              new ClientMembershipMessage(event.getMemberId(), 
-                                      member == null ? null : member.getHost(), 
-                                      type);
-            
-            msg.setRecipients(adminMemberSet);
-            dm.putOutgoing(msg);
-          }
-        }
-      }
-    };
-
-    BridgeMembership.registerBridgeMembershipListener(listener);
-  }
-
-  /////////////////////  Instance Methods  /////////////////////
-
-  public int getPort() {
-    return this.port;
-  }
-
-  public void setPort(int port) {
-    this.port = port;
-  }
-
-  public String getBindAddress() {
-    return this.bindAddress;
-  }
-
-  public void setBindAddress(String address) {
-    this.bindAddress = address;
-  }
-  
-  public String getHostnameForClients() {
-    return this.hostnameForClients;
-  }
-
-  public void setHostnameForClients(String name) {
-    this.hostnameForClients = name;
-  }
-  
-  public int getMaxConnections() {
-    return this.maxConnections;
-  }
-
-  public void setMaxConnections(int maxCon) {
-    this.maxConnections = maxCon;
-  }
-
-  public int getMaxThreads() {
-    return this.maxThreads;
-  }
-
-  public void setMaxThreads(int maxThreads) {
-    this.maxThreads = maxThreads;
-  }
-
-  public void start() throws IOException {
-    // This method is invoked during testing, but it is not necessary
-    // to do anything.
-  }
-
-  public void setNotifyBySubscription(boolean b) {
-    //this.notifyBySubscription = true;
-  }
-
-  public boolean getNotifyBySubscription() {
-    return this.notifyBySubscription;
-  }
-
-  public void setSocketBufferSize(int socketBufferSize) {
-    this.socketBufferSize = socketBufferSize;
-  }
-  
-  public int getSocketBufferSize() {
-    return this.socketBufferSize;
-  }
-
-  public void setMaximumTimeBetweenPings(int maximumTimeBetweenPings) {
-    this.maximumTimeBetweenPings = maximumTimeBetweenPings;
-  }
-  
-  public int getMaximumTimeBetweenPings() {
-    return this.maximumTimeBetweenPings;
-  }
-  
-  public int getMaximumMessageCount() {
-    return this.maximumMessageCount;
-  }
-
-  public void setMaximumMessageCount(int maximumMessageCount) {
-    this.maximumMessageCount = maximumMessageCount;
-  }
-  
-  public void setTransactionTimeToLive(int seconds) {
-    this.transactionTimeToLive = seconds;
-  }
-  
-  public int getTransactionTimeToLive() {
-    return this.transactionTimeToLive;
-  }
-  
-  public int getMessageTimeToLive() {
-    return this.messageTimeToLive;
-  }
-
-  public void setMessageTimeToLive(int messageTimeToLive) {
-    this.messageTimeToLive = messageTimeToLive;
-  }
-  
-  public void setGroups(String[] groups) {
-    if (groups == null) {
-      this.groups = CacheServer.DEFAULT_GROUPS;
-    }
-    else if (groups.length > 0) {
-      // copy it for isolation
-      String [] copy = new String[groups.length];
-      System.arraycopy(groups, 0, copy, 0, groups.length);
-      this.groups = copy;
-    } else {
-      this.groups = CacheServer.DEFAULT_GROUPS; // keep findbugs happy
-    }
-  }
-
-  public String[] getGroups() {
-    String[] result = this.groups;
-    if (result.length > 0) {
-      // copy it for isolation
-      String [] copy = new String[result.length];
-      System.arraycopy(result, 0, copy, 0, result.length);
-      result = copy;
-    }
-    return result;
-  }
-  
-  public ServerLoadProbe getLoadProbe() {
-    return loadProbe;
-  }
-
-  public void setLoadProbe(ServerLoadProbe loadProbe) {
-    this.loadProbe = loadProbe;
-  }
-  
-  public long getLoadPollInterval() {
-    return loadPollInterval;
-  }
-
-  public void setLoadPollInterval(long loadPollInterval) {
-    this.loadPollInterval = loadPollInterval;
-  }
-
-  public void setTcpNoDelay(boolean setting) {
-    this.tcpNoDelay = setting;
-  }
-  
-  public boolean getTcpNoDelay() {
-    return this.tcpNoDelay;
-  }
-
-  public Cache getCache() {
-    return this.cache;
-  }
-
-  private static boolean eq(String s1, String s2) {
-    if (s1 == null) {
-      return s2 == null;
-    } else {
-      return s1.equals(s2);
-    }
-  }
-  
-  /**
-   * Returns whether or not this bridge server has the same
-   * configuration as another bridge server.
-   */
-  public boolean sameAs(CacheServer other) {
-    return getPort() == other.getPort()
-      && eq(getBindAddress(), other.getBindAddress())
-      && getSocketBufferSize() == other.getSocketBufferSize()
-      && getMaximumTimeBetweenPings() == other.getMaximumTimeBetweenPings()
-      && getNotifyBySubscription() == other.getNotifyBySubscription()
-      && getMaxConnections() == other.getMaxConnections()
-      && getMaxThreads() == other.getMaxThreads()
-      && getMaximumMessageCount() == other.getMaximumMessageCount()
-      && getMessageTimeToLive() == other.getMessageTimeToLive()
-      && Arrays.equals(getGroups(), other.getGroups())
-      && getLoadProbe().equals(other.getLoadProbe())
-      && getLoadPollInterval() == other.getLoadPollInterval()
-      && getTcpNoDelay() == other.getTcpNoDelay();
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractCacheServer.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractCacheServer.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractCacheServer.java
new file mode 100644
index 0000000..42b6bcd
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractCacheServer.java
@@ -0,0 +1,398 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache;
+
+import com.gemstone.gemfire.CancelException;
+import com.gemstone.gemfire.cache.Cache;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
+import com.gemstone.gemfire.cache.server.ServerLoadProbe;
+import com.gemstone.gemfire.distributed.DistributedMember;
+import com.gemstone.gemfire.distributed.internal.DM;
+import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
+import com.gemstone.gemfire.internal.admin.ClientMembershipMessage;
+import com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation;
+import com.gemstone.gemfire.management.membership.ClientMembership;
+import com.gemstone.gemfire.management.membership.ClientMembershipEvent;
+import com.gemstone.gemfire.management.membership.ClientMembershipListener;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Set;
+
+/**
+ * Abstract class that contains common code that all true implementations
+ * of {@link CacheServer} can use.
+ *
+ * @author darrel
+ * @since 5.7
+ */
+public abstract class AbstractCacheServer implements CacheServer {
+
+  public static final String TEST_OVERRIDE_DEFAULT_PORT_PROPERTY = "gemfire.test.CacheServer.OVERRIDE_DEFAULT_PORT";
+
+  /** The cache that is served by this bridge server */
+  protected final InternalCache cache;
+
+  /** The port that the bridge server was configured to run on */
+  protected int port;
+  
+  /** The maximum number of connections that the BridgeServer will accept */
+  protected int maxConnections;
+
+  /** The maximum number of threads that the BridgeServer will create */
+  protected int maxThreads;
+
+  /** Whether the bridge server notifies by subscription */
+  protected boolean notifyBySubscription = true;
+  
+  /**
+   * The buffer size in bytes of the socket for this 
+   * <code>BridgeServer</code>
+   */
+  protected int socketBufferSize;
+  
+  /**
+   * The tcpNoDelay setting for outgoing sockets
+   */
+  protected boolean tcpNoDelay;
+  
+  /**
+   * The maximum amount of time between client pings. This value is used by
+   * the <code>ClientHealthMonitor</code> to determine the health of this
+   * <code>BridgeServer</code>'s clients.
+   */
+  protected int maximumTimeBetweenPings;
+  
+  /** the maximum number of messages that can be enqueued in a client-queue. */
+  protected int maximumMessageCount;
+  
+  /**
+   * the time (in seconds) after which a message in the client queue will
+   * expire.
+   */
+  protected int messageTimeToLive;
+  /**
+   * The groups this server belongs to. Use <code>getGroups</code> to read.
+   * @since 5.7
+   */
+  protected String[] groups;
+  
+  protected ServerLoadProbe loadProbe;
+
+  /**
+   * The ip address or host name that this server is to listen on.
+   * @since 5.7
+   */
+  protected String bindAddress;
+  /**
+   * The ip address or host name that will be given to clients so they can connect
+   * to this server
+   * @since 5.7
+   */
+  protected String hostnameForClients;
+  
+  /**
+   * How frequency to poll the load on this server.
+   */
+  protected long loadPollInterval;
+  
+  protected ClientSubscriptionConfig clientSubscriptionConfig;
+  
+  /**
+   * Listens to client membership events and notifies any admin 
+   * members as clients of this server leave/crash. 
+   */
+  protected final ClientMembershipListener listener;
+
+  /**
+   * The number of seconds to keep transaction states for disconnected clients.
+   * This allows the client to fail over to another server and still find
+   * the transaction state to complete the transaction.
+   */
+  private int transactionTimeToLive;
+  
+  //////////////////////  Constructors  //////////////////////
+
+  /**
+   * Creates a new <code>BridgeServer</code> with the default
+   * configuration.
+   *
+   * @param cache
+   *        The cache being served
+   */
+  public AbstractCacheServer(InternalCache cache) {
+    this(cache, true);
+  }
+
+  public AbstractCacheServer(InternalCache cache, boolean attachListener) {
+    this.cache = cache;
+    this.port = Integer.getInteger(TEST_OVERRIDE_DEFAULT_PORT_PROPERTY, CacheServer.DEFAULT_PORT);
+    this.maxConnections = CacheServer.DEFAULT_MAX_CONNECTIONS;
+    this.maxThreads = CacheServer.DEFAULT_MAX_THREADS;
+    this.socketBufferSize = CacheServer.DEFAULT_SOCKET_BUFFER_SIZE;
+    this.tcpNoDelay = CacheServer.DEFAULT_TCP_NO_DELAY;
+    this.maximumTimeBetweenPings = CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS;
+    this.maximumMessageCount = CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT;
+    this.messageTimeToLive = CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE;
+    // TODO this should be configurable in CacheServer
+    this.transactionTimeToLive = Integer.getInteger("gemfire.cacheServer.transactionTimeToLive", 180);
+    this.groups = CacheServer.DEFAULT_GROUPS;
+    this.bindAddress = CacheServer.DEFAULT_BIND_ADDRESS;
+    this.hostnameForClients = CacheServer.DEFAULT_HOSTNAME_FOR_CLIENTS;
+    this.loadProbe = CacheServer.DEFAULT_LOAD_PROBE;
+    this.loadPollInterval = CacheServer.DEFAULT_LOAD_POLL_INTERVAL;
+    this.clientSubscriptionConfig = new ClientSubscriptionConfigImpl();
+
+    if (!attachListener) {
+      this.listener = null;
+      return;
+    }
+    listener = new ClientMembershipListener() {
+
+      @Override
+      public void memberJoined(ClientMembershipEvent event) {
+        if (event.isClient()) {
+          createAndSendMessage(event, ClientMembershipMessage.JOINED);
+        }
+      }
+
+      @Override
+      public void memberLeft(ClientMembershipEvent event) {
+        if (event.isClient()) {
+          createAndSendMessage(event, ClientMembershipMessage.LEFT);
+        }
+      }
+
+      @Override
+      public void memberCrashed(ClientMembershipEvent event) {
+        if (event.isClient()) {
+          createAndSendMessage(event, ClientMembershipMessage.CRASHED);
+        }
+      }
+      
+      /**
+       * Method to create & send the ClientMembershipMessage to admin members.
+       * The message is sent only if there are any admin members in the
+       * distribution system.
+       * 
+       * @param event
+       *          describes a change in client membership
+       * @param type
+       *          type of event - one of ClientMembershipMessage.JOINED,
+       *          ClientMembershipMessage.LEFT, ClientMembershipMessage.CRASHED
+       */
+      private void createAndSendMessage(ClientMembershipEvent event, int type) {
+        InternalDistributedSystem ds = null;
+        Cache cacheInstance = AbstractCacheServer.this.cache;
+        if (cacheInstance != null && !(cacheInstance instanceof CacheCreation)) {
+          ds = (InternalDistributedSystem)cacheInstance.getDistributedSystem();
+        } else {
+          ds = InternalDistributedSystem.getAnyInstance();
+        }
+
+        //ds could be null
+        if (ds != null && ds.isConnected()) {
+          DM dm =  ds.getDistributionManager();
+          Set adminMemberSet = dm.getAdminMemberSet();
+
+          /* check if there are any admin members at all */
+          if (!adminMemberSet.isEmpty()) {
+            DistributedMember member = event.getMember();
+
+            ClientMembershipMessage msg = 
+              new ClientMembershipMessage(event.getMemberId(), 
+                                      member == null ? null : member.getHost(), 
+                                      type);
+            
+            msg.setRecipients(adminMemberSet);
+            dm.putOutgoing(msg);
+          }
+        }
+      }
+    };
+
+    ClientMembership.registerClientMembershipListener(listener);
+  }
+
+  /////////////////////  Instance Methods  /////////////////////
+
+  public int getPort() {
+    return this.port;
+  }
+
+  public void setPort(int port) {
+    this.port = port;
+  }
+
+  public String getBindAddress() {
+    return this.bindAddress;
+  }
+
+  public void setBindAddress(String address) {
+    this.bindAddress = address;
+  }
+  
+  public String getHostnameForClients() {
+    return this.hostnameForClients;
+  }
+
+  public void setHostnameForClients(String name) {
+    this.hostnameForClients = name;
+  }
+  
+  public int getMaxConnections() {
+    return this.maxConnections;
+  }
+
+  public void setMaxConnections(int maxCon) {
+    this.maxConnections = maxCon;
+  }
+
+  public int getMaxThreads() {
+    return this.maxThreads;
+  }
+
+  public void setMaxThreads(int maxThreads) {
+    this.maxThreads = maxThreads;
+  }
+
+  public void start() throws IOException {
+    // This method is invoked during testing, but it is not necessary
+    // to do anything.
+  }
+
+  public void setNotifyBySubscription(boolean b) {
+    //this.notifyBySubscription = true;
+  }
+
+  public boolean getNotifyBySubscription() {
+    return this.notifyBySubscription;
+  }
+
+  public void setSocketBufferSize(int socketBufferSize) {
+    this.socketBufferSize = socketBufferSize;
+  }
+  
+  public int getSocketBufferSize() {
+    return this.socketBufferSize;
+  }
+
+  public void setMaximumTimeBetweenPings(int maximumTimeBetweenPings) {
+    this.maximumTimeBetweenPings = maximumTimeBetweenPings;
+  }
+  
+  public int getMaximumTimeBetweenPings() {
+    return this.maximumTimeBetweenPings;
+  }
+  
+  public int getMaximumMessageCount() {
+    return this.maximumMessageCount;
+  }
+
+  public void setMaximumMessageCount(int maximumMessageCount) {
+    this.maximumMessageCount = maximumMessageCount;
+  }
+  
+  public void setTransactionTimeToLive(int seconds) {
+    this.transactionTimeToLive = seconds;
+  }
+  
+  public int getTransactionTimeToLive() {
+    return this.transactionTimeToLive;
+  }
+  
+  public int getMessageTimeToLive() {
+    return this.messageTimeToLive;
+  }
+
+  public void setMessageTimeToLive(int messageTimeToLive) {
+    this.messageTimeToLive = messageTimeToLive;
+  }
+  
+  public void setGroups(String[] groups) {
+    if (groups == null) {
+      this.groups = CacheServer.DEFAULT_GROUPS;
+    }
+    else if (groups.length > 0) {
+      // copy it for isolation
+      String [] copy = new String[groups.length];
+      System.arraycopy(groups, 0, copy, 0, groups.length);
+      this.groups = copy;
+    } else {
+      this.groups = CacheServer.DEFAULT_GROUPS; // keep findbugs happy
+    }
+  }
+
+  public String[] getGroups() {
+    String[] result = this.groups;
+    if (result.length > 0) {
+      // copy it for isolation
+      String [] copy = new String[result.length];
+      System.arraycopy(result, 0, copy, 0, result.length);
+      result = copy;
+    }
+    return result;
+  }
+  
+  public ServerLoadProbe getLoadProbe() {
+    return loadProbe;
+  }
+
+  public void setLoadProbe(ServerLoadProbe loadProbe) {
+    this.loadProbe = loadProbe;
+  }
+  
+  public long getLoadPollInterval() {
+    return loadPollInterval;
+  }
+
+  public void setLoadPollInterval(long loadPollInterval) {
+    this.loadPollInterval = loadPollInterval;
+  }
+
+  public void setTcpNoDelay(boolean setting) {
+    this.tcpNoDelay = setting;
+  }
+  
+  public boolean getTcpNoDelay() {
+    return this.tcpNoDelay;
+  }
+
+  public Cache getCache() {
+    return this.cache;
+  }
+
+  private static boolean eq(String s1, String s2) {
+    if (s1 == null) {
+      return s2 == null;
+    } else {
+      return s1.equals(s2);
+    }
+  }
+  
+  /**
+   * Returns whether or not this bridge server has the same
+   * configuration as another bridge server.
+   */
+  public boolean sameAs(CacheServer other) {
+    return getPort() == other.getPort()
+      && eq(getBindAddress(), other.getBindAddress())
+      && getSocketBufferSize() == other.getSocketBufferSize()
+      && getMaximumTimeBetweenPings() == other.getMaximumTimeBetweenPings()
+      && getNotifyBySubscription() == other.getNotifyBySubscription()
+      && getMaxConnections() == other.getMaxConnections()
+      && getMaxThreads() == other.getMaxThreads()
+      && getMaximumMessageCount() == other.getMaximumMessageCount()
+      && getMessageTimeToLive() == other.getMessageTimeToLive()
+      && Arrays.equals(getGroups(), other.getGroups())
+      && getLoadProbe().equals(other.getLoadProbe())
+      && getLoadPollInterval() == other.getLoadPollInterval()
+      && getTcpNoDelay() == other.getTcpNoDelay();
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegion.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegion.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegion.java
index 90dcb41..344155b 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegion.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/AbstractRegion.java
@@ -74,9 +74,6 @@ import com.gemstone.gemfire.cache.query.SelectResults;
 import com.gemstone.gemfire.cache.query.TypeMismatchException;
 import com.gemstone.gemfire.cache.query.internal.index.IndexManager;
 import com.gemstone.gemfire.cache.snapshot.RegionSnapshotService;
-import com.gemstone.gemfire.cache.util.BridgeClient;
-import com.gemstone.gemfire.cache.util.BridgeLoader;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
 import com.gemstone.gemfire.cache.wan.GatewaySender;
 import com.gemstone.gemfire.compression.Compressor;
 import com.gemstone.gemfire.distributed.DistributedMember;
@@ -486,9 +483,6 @@ public abstract class AbstractRegion implements Region, RegionAttributes,
    */
   public CacheLoader basicGetLoader() {
     CacheLoader result = this.cacheLoader;
-    if (isBridgeLoader(result)) {
-      result = null;
-    }
     return result;
   }
   /**
@@ -498,9 +492,6 @@ public abstract class AbstractRegion implements Region, RegionAttributes,
    */
   public CacheWriter basicGetWriter() {
     CacheWriter result = this.cacheWriter;
-    if (isBridgeWriter(result)) {
-      result = null;
-    }
     return result;
   }
   
@@ -1200,11 +1191,6 @@ public abstract class AbstractRegion implements Region, RegionAttributes,
   // synchronized so not reentrant
   public synchronized CacheLoader setCacheLoader(CacheLoader cl) {
     checkReadiness();
-    if (cl != null && isBridgeLoader(cl)) {
-      if (getPoolName() != null) {
-        throw new IllegalStateException("A region with a connection pool can not have a BridgeLoader.");
-      }
-    }
     CacheLoader oldLoader = this.cacheLoader;
     assignCacheLoader(cl);
     cacheLoaderChanged(oldLoader);
@@ -1213,24 +1199,12 @@ public abstract class AbstractRegion implements Region, RegionAttributes,
 
   private synchronized void assignCacheLoader(CacheLoader cl) {
     this.cacheLoader = cl;
-    if (cl instanceof BridgeLoader) {
-      BridgeLoader bl = (BridgeLoader) cl;
-      bl.attach(this);
-    } else if (cl instanceof BridgeClient) {
-      BridgeClient bc = (BridgeClient)cl;
-      bc.attach(this);
-    }
   }
 
   // synchronized so not reentrant
   public synchronized CacheWriter setCacheWriter(CacheWriter cacheWriter)
   {
     checkReadiness();
-    if (cacheWriter != null && isBridgeWriter(cacheWriter)) {
-      if (getPoolName() != null) {
-        throw new IllegalStateException("A region with a connection pool can not have a BridgeWriter.");
-      }
-    }
     CacheWriter oldWriter = this.cacheWriter;
     assignCacheWriter(cacheWriter);
     cacheWriterChanged(oldWriter);
@@ -1240,10 +1214,6 @@ public abstract class AbstractRegion implements Region, RegionAttributes,
   private synchronized void assignCacheWriter(CacheWriter cacheWriter)
   {
     this.cacheWriter = cacheWriter;
-    if (cacheWriter instanceof BridgeWriter) {
-      BridgeWriter bw = (BridgeWriter)cacheWriter;
-      bw.attach(this);
-    }
   }
 
   void checkEntryTimeoutAction(String mode, ExpirationAction ea) {
@@ -1572,15 +1542,6 @@ public abstract class AbstractRegion implements Region, RegionAttributes,
   protected void closeCacheCallback(CacheCallback cb)
   {
     if (cb != null) {
-      if (cb instanceof BridgeWriter) {
-        BridgeWriter bw = (BridgeWriter)cb;
-        bw.detach(this);
-      }
-      else if (cb instanceof BridgeLoader) {
-        BridgeLoader bl = (BridgeLoader)cb;
-        bl.detach(this);
-      }
-
       try {
         cb.close();
       }
@@ -1610,19 +1571,6 @@ public abstract class AbstractRegion implements Region, RegionAttributes,
     // nothing needed by default
   }
 
-  /**
-   * @since 5.7
-   */
-  public static boolean isBridgeLoader(CacheLoader cl) {
-    return cl instanceof BridgeLoader || cl instanceof BridgeClient;
-  }
-  /**
-   * @since 5.7
-   */
-  public static boolean isBridgeWriter(CacheWriter cw) {
-    return cw instanceof BridgeWriter;
-  }
-
   protected void cacheWriterChanged(CacheWriter oldWriter)
   {
     if (this.cacheWriter != oldWriter) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserver.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserver.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserver.java
deleted file mode 100755
index d8b41a2..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserver.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache;
-
-import com.gemstone.gemfire.distributed.internal.ServerLocation;
-import com.gemstone.gemfire.internal.cache.tier.sockets.Message;
-
-/**
- * This interface is used by testing/debugging code to be notified of different
- * events. See the documentation for class BridgeObserverHolder for details.
- * 
- * @author Yogesh Mahajan
- * @since 5.1
- *  
- */
-public interface BridgeObserver
-{
-  /**
-   * This callback is called when now primary Ep is identified.
-   */
-  public void afterPrimaryIdentificationFromBackup(ServerLocation location);
-
-  /**
-   * This callback is called just before interest registartion
-   */
-  public void beforeInterestRegistration();
-
-  /**
-   * This callback is called just after interest registartion
-   */
-  public void afterInterestRegistration();
-
-  /**
-   * This callback is called just before primary identification
-   */
-  public void beforePrimaryIdentificationFromBackup();
-
-  /**
-   * This callback is called just before Interest Recovery by DSM thread happens
-   */
-  public void beforeInterestRecovery();
-  
-  /**
-   * Invoked by CacheClientUpdater just before invoking endpointDied for
-   * fail over
-   * @param location ServerLocation which has failed
-   */
-  public void beforeFailoverByCacheClientUpdater(ServerLocation location);
-  /**
-   * Invoked before sending an instantiator message to server
-   * 
-   * @param eventId
-   */
-  public void beforeSendingToServer(EventID eventId);
-  /**
-   * Invoked after sending an instantiator message to server 
-   * 
-   * @param eventId
-   */
-  public void afterReceivingFromServer(EventID eventId);
-
-  /**
-   * This callback is called just before sending client ack to the primary servrer.
-   */
-   public void beforeSendingClientAck();  
-
-   /**
-    * Invoked after Message is created
-    *
-    * @param msg
-    */
-   public void afterMessageCreation(Message msg);
-   
-   /**
-    * Invoked after Queue Destroy Message has been sent
-    */
-   public void afterQueueDestroyMessage();
-   
-   /**
-    * Invoked after a primary is recovered from a backup or new connection. 
-    */
-   public void afterPrimaryRecovered(ServerLocation location);
-   
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverAdapter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverAdapter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverAdapter.java
deleted file mode 100755
index 0dce187..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverAdapter.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache;
-
-import com.gemstone.gemfire.distributed.internal.ServerLocation;
-import com.gemstone.gemfire.internal.cache.tier.sockets.Message;
-
-/**
- * This class provides 'do-nothing' implementations of all of the methods of
- * interface BridgeObserver. See the documentation for class
- * BridgeObserverHolder for details.
- * 
- * @author Yogesh Mahajan
- * @since 5.1
- */
-public class BridgeObserverAdapter implements BridgeObserver
-{
-  /**
-   * This callback is called when now primary Ep is identified.
-   */
-  public void afterPrimaryIdentificationFromBackup(ServerLocation primaryEndpoint)
-  {
-  }
-
-  /**
-   * This callback is called just before interest registartion
-   */
-  public void beforeInterestRegistration()
-  {
-  }
-
-  /**
-   * This callback is called just after interest registartion
-   */
-  public void afterInterestRegistration()
-  {
-  }
-
-  /**
-   * This callback is called just before primary identification
-   */
-  public void beforePrimaryIdentificationFromBackup()
-  {
-  }
-
-  /**
-   * This callback is called just before Interest Recovery by DSM thread happens
-   */
-  public void beforeInterestRecovery()
-  {
-
-  }
-
-  public void beforeFailoverByCacheClientUpdater(ServerLocation epFailed)
-  {
-  }
-  /**
-   * Invoked before sending an instantiator message to server
-   * 
-   * @param eventId
-   */
-  public void beforeSendingToServer(EventID eventId){
-    
-  }
-  /**
-   * Invoked after sending an instantiator message to server 
-   * 
-   * @param eventId
-   */
-  public void afterReceivingFromServer(EventID eventId){
-    
-  }
-  
-  /**
-   * This callback is called just before sending client ack to the primary servrer.
-   */
-  public void beforeSendingClientAck(){
-    
-  }  
-
-  /**
-   * Invoked after Message is created
-   *
-   * @param msg
-   */
-  public void afterMessageCreation(Message msg){
-  
-  }
-  
-  /**
-   * Invoked after Queue Destroy Message has been sent
-   */
-  public void afterQueueDestroyMessage(){
-    
-  }
-  
-  /**
-   * Invoked after a primary is recovered from a backup or new connection. 
-   */
-  public void afterPrimaryRecovered(ServerLocation location) {
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverHolder.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverHolder.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverHolder.java
deleted file mode 100755
index d68a608..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeObserverHolder.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache;
-
-import com.gemstone.gemfire.cache.query.internal.Support;
-
-/**
- * This class is intended to hold a single 'observer' which will receive
- * callbacks. There can be only one such observer at a time. If no observer is
- * needed, this member variable should point to an object with 'do-nothing'
- * methods, such as BridgeObserverAdapter.
- * 
- * @author Yogesh Mahajan
- * @since 5.1
- */
-public class BridgeObserverHolder
-  {
-
-  /**
-   * The default 'do-nothing' bridge observer *
-   */
-  private static final BridgeObserver NO_OBSERVER = new BridgeObserverAdapter();
-
-  /**
-   * The current observer which will be notified of all query events.
-   */
-  private static BridgeObserver _instance = NO_OBSERVER;
-
-  /**
-   * Set the given observer to be notified of events. Returns the current
-   * observer.
-   */
-  public static final BridgeObserver setInstance(BridgeObserver observer)
-  {
-    Support.assertArg(observer != null,
-        "setInstance expects a non-null argument!");
-    BridgeObserver oldObserver = _instance;
-    _instance = observer;
-    return oldObserver;
-  }
-
-  /** Return the current BridgeObserver instance */
-  public static final BridgeObserver getInstance()
-  {
-    return _instance;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeRegionEventImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeRegionEventImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeRegionEventImpl.java
deleted file mode 100755
index 7bcaf64..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeRegionEventImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-
-package com.gemstone.gemfire.internal.cache;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import com.gemstone.gemfire.DataSerializer;
-import com.gemstone.gemfire.cache.Operation;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
-
-//import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
-
-/**
- * Class <code>BridgeRegionEventImpl</code> is an implementation of a bridge
- * region event, which is just an <code>RegionEvent</code> with the client's
- * host and port for notification purposes.
- * 
- * @author Girish Thombare
- * 
- * @since 5.1
- */
-public final class BridgeRegionEventImpl extends RegionEventImpl
-  {
-
-  /**
-   * The originating membershipId of this event.
-   */
-  private  ClientProxyMembershipID context;
-
-  public BridgeRegionEventImpl() {
-  }
-  
-  /**
-   * To be called from the Distributed Message without setting EventID
-   * @param region
-   * @param op
-   * @param callbackArgument
-   * @param originRemote
-   * @param distributedMember
-   */
-  public BridgeRegionEventImpl(LocalRegion region, Operation op, Object callbackArgument,boolean originRemote, DistributedMember distributedMember,ClientProxyMembershipID contx) {
-    super(region, op,callbackArgument, originRemote,distributedMember);
-    setContext(contx);
-  }
-
-  public BridgeRegionEventImpl(LocalRegion region, Operation op, Object callbackArgument,boolean originRemote, DistributedMember distributedMember,ClientProxyMembershipID contx,EventID eventId) {
-      super(region, op,callbackArgument, originRemote,distributedMember, eventId);
-      setContext(contx);
-  }
-
-
-  /**
-   * sets The membershipId originating this event
-   *  
-   */
-  protected void setContext(ClientProxyMembershipID contx)
-  {
-    this.context = contx;
-  }
-
-  /**
-   * Returns The context originating this event
-   * 
-   * @return The context originating this event
-   */
-  @Override
-  public ClientProxyMembershipID getContext()
-  {
-    return this.context;
-  }
-
-  @Override
-  public String toString()
-  {
-    String superStr = super.toString();
-    StringBuffer buffer = new StringBuffer();
-    String str = superStr.substring(0, superStr.length() - 1);
-    buffer.append(str).append(";context=").append(getContext()).append(']');
-    return buffer.toString();
-  }
-
-  @Override
-  public int getDSFID() {
-    return BRIDGE_REGION_EVENT;
-  }
-
-  @Override
-  public void toData(DataOutput out) throws IOException
-  {
-    super.toData(out);
-    DataSerializer.writeObject(getContext(), out);
-  }
-
-  @Override
-  public void fromData(DataInput in) throws IOException, ClassNotFoundException
-  {
-    super.fromData(in);
-    setContext(ClientProxyMembershipID.readCanonicalized(in));
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerAdvisor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerAdvisor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerAdvisor.java
deleted file mode 100644
index 733b762..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerAdvisor.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-
-package com.gemstone.gemfire.internal.cache;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.List;
-
-import com.gemstone.gemfire.DataSerializer;
-import com.gemstone.gemfire.cache.server.ServerLoad;
-import com.gemstone.gemfire.distributed.internal.DistributionAdvisee;
-import com.gemstone.gemfire.distributed.internal.DistributionManager;
-import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
-import com.gemstone.gemfire.internal.InternalDataSerializer;
-
-
-/**
- * Used to give advise to a bridge server.
- * Bridge server currently need to know about controller's
- * @author darrel
- *
- */
-public class BridgeServerAdvisor extends GridAdvisor {
-  
-  /** Creates a new instance of BridgeServerAdvisor */
-  private BridgeServerAdvisor(DistributionAdvisee server) {
-    super(server);
-  }
-
-  public static BridgeServerAdvisor createBridgeServerAdvisor(DistributionAdvisee server) {
-    BridgeServerAdvisor advisor = new BridgeServerAdvisor(server);
-    advisor.initialize();
-    return advisor;
-  }
-
-  @Override
-  public String toString() {
-    return "BridgeServerAdvisor for " + getAdvisee().getFullPath();
-  }
-
-  /** Instantiate new distribution profile for this member */
-  @Override
-  protected Profile instantiateProfile(
-      InternalDistributedMember memberId, int version) {
-    return new BridgeServerProfile(memberId, version);
-  }
-  
-  /**
-   * Describes a bridge server for distribution purposes.
-   */
-  public static class BridgeServerProfile extends GridAdvisor.GridProfile {
-    private String[] groups;
-    private int maxConnections;
-    private ServerLoad initialLoad;
-    private long loadPollInterval;
-
-    /** for internal use, required for DataSerializer.readObject */
-    public BridgeServerProfile() {
-    }
-
-    public BridgeServerProfile(InternalDistributedMember memberId, int version) {
-      super(memberId, version);
-    }
-
-    public BridgeServerProfile(BridgeServerProfile toCopy) {
-      super(toCopy);
-      this.groups = toCopy.groups;
-    }
-
-    /** don't modify the returned array! */
-    public String[] getGroups() {
-      return this.groups;
-    }
-    public void setGroups(String[] groups) {
-      this.groups = groups;
-    }
-    
-    public ServerLoad getInitialLoad() {
-      return initialLoad;
-    }
-    
-    public int getMaxConnections() {
-      return maxConnections;
-    }
-    
-    public void setMaxConnections(int maxConnections) {
-      this.maxConnections = maxConnections;
-    }
-
-    public void setInitialLoad(ServerLoad initialLoad) {
-      this.initialLoad = initialLoad;
-    }
-    public long getLoadPollInterval() {
-      return this.loadPollInterval;
-    }
-    public void setLoadPollInterval(long v) {
-      this.loadPollInterval = v;
-    }
-
-    /**
-     * Used to process an incoming bridge server profile. Any controller in this
-     * vm needs to be told about this incoming new bridge server. The reply
-     * needs to contain any controller(s) that exist in this vm.
-     * 
-     * @since 5.7
-     */
-    @Override
-    public void processIncoming(DistributionManager dm, String adviseePath,
-        boolean removeProfile, boolean exchangeProfiles,
-        final List<Profile> replyProfiles) {
-      // tell local controllers about this bridge server
-      tellLocalControllers(removeProfile, exchangeProfiles, replyProfiles);
-      // for QRM messaging we need bridge servers to know about each other
-      tellLocalBridgeServers(removeProfile, exchangeProfiles, replyProfiles);
-    }
-
-    @Override
-    public int getDSFID() {
-      return BRIDGE_SERVER_PROFILE;
-    }
-
-    @Override
-    public void toData(DataOutput out) throws IOException {
-      super.toData(out);
-      DataSerializer.writeStringArray(this.groups, out);
-      out.writeInt(maxConnections);
-      InternalDataSerializer.invokeToData(initialLoad, out);
-      out.writeLong(getLoadPollInterval());
-    }
-
-    @Override
-    public void fromData(DataInput in) throws IOException, ClassNotFoundException {
-      super.fromData(in);
-      this.groups = DataSerializer.readStringArray(in);
-      this.maxConnections = in.readInt();
-      this.initialLoad = new ServerLoad();
-      InternalDataSerializer.invokeFromData(initialLoad, in);
-      setLoadPollInterval(in.readLong());
-    }
-
-    @Override
-    public StringBuilder getToStringHeader() {
-      return new StringBuilder("BridgeServerProfile");
-    }
-
-    @Override
-    public void fillInToString(StringBuilder sb) {
-      super.fillInToString(sb);
-      if (this.groups != null) {
-        sb.append("; groups=" + Arrays.asList(this.groups));
-        sb.append("; maxConnections=" + maxConnections);
-        sb.append("; initialLoad=" + initialLoad);
-        sb.append("; loadPollInterval=" + getLoadPollInterval());
-      }
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerImpl.java
deleted file mode 100644
index f7fa15f..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BridgeServerImpl.java
+++ /dev/null
@@ -1,816 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.logging.log4j.Logger;
-
-import com.gemstone.gemfire.CancelCriterion;
-import com.gemstone.gemfire.GemFireIOException;
-import com.gemstone.gemfire.InternalGemFireError;
-import com.gemstone.gemfire.InvalidValueException;
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.ClientSession;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.DiskStore;
-import com.gemstone.gemfire.cache.DiskStoreFactory;
-import com.gemstone.gemfire.cache.DynamicRegionFactory;
-import com.gemstone.gemfire.cache.EvictionAction;
-import com.gemstone.gemfire.cache.ExpirationAction;
-import com.gemstone.gemfire.cache.ExpirationAttributes;
-import com.gemstone.gemfire.cache.InterestRegistrationListener;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.RegionExistsException;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
-import com.gemstone.gemfire.cache.server.ServerLoadProbe;
-import com.gemstone.gemfire.cache.server.internal.LoadMonitor;
-import com.gemstone.gemfire.cache.util.BridgeMembership;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListener;
-import com.gemstone.gemfire.cache.wan.GatewayTransportFilter;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.distributed.internal.DM;
-import com.gemstone.gemfire.distributed.internal.DistributionAdvisee;
-import com.gemstone.gemfire.distributed.internal.DistributionAdvisor;
-import com.gemstone.gemfire.distributed.internal.DistributionAdvisor.Profile;
-import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
-import com.gemstone.gemfire.distributed.internal.ResourceEvent;
-import com.gemstone.gemfire.distributed.internal.ServerLocation;
-import com.gemstone.gemfire.distributed.internal.membership.MemberAttributes;
-import com.gemstone.gemfire.internal.Assert;
-import com.gemstone.gemfire.internal.OSProcess;
-import com.gemstone.gemfire.internal.admin.ClientHealthMonitoringRegion;
-import com.gemstone.gemfire.internal.cache.BridgeServerAdvisor.BridgeServerProfile;
-import com.gemstone.gemfire.internal.cache.ha.HARegionQueue;
-import com.gemstone.gemfire.internal.cache.tier.Acceptor;
-import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
-import com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientNotifier;
-import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-import com.gemstone.gemfire.internal.logging.LogService;
-import com.gemstone.gemfire.internal.logging.log4j.LocalizedMessage;
-
-/**
- * An implementation of the <code>CacheServer</code> interface that delegates
- * most of the heavy lifting to an {@link Acceptor}.
- * 
- * @author David Whitlock
- * @since 4.0
- */
-@SuppressWarnings("deprecation")
-public class BridgeServerImpl
-  extends AbstractBridgeServer
-  implements DistributionAdvisee {
-
-  private static final Logger logger = LogService.getLogger();
-  
-  private static final int FORCE_LOAD_UPDATE_FREQUENCY= Integer.getInteger("gemfire.BridgeServer.FORCE_LOAD_UPDATE_FREQUENCY", 10).intValue();
-  
-  /** The acceptor that does the actual serving */
-  private volatile AcceptorImpl acceptor;
-
-  // moved to AbstractBridgeServer
-
-
-
-  /**
-   * The advisor used by this bridge sever.
-   * @since 5.7
-   */
-  private volatile BridgeServerAdvisor advisor;
-
-  /**
-   * The monitor used to monitor load on this
-   * bridge server and distribute load to the locators
-   * @since 5.7
-   */
-  private volatile LoadMonitor loadMonitor;
-
-  /**
-   * boolean that represents whether this server is a GatewayReceiver or a simple BridgeServer
-   */
-  private boolean isGatewayReceiver;
-  
-  private List<GatewayTransportFilter> gatewayTransportFilters = Collections.EMPTY_LIST;
-  
-  /**
-   * Needed because this guy is an advisee
-   * @since 5.7
-   */
-  private int serialNumber; // changed on each start
-
-  public static final boolean ENABLE_NOTIFY_BY_SUBSCRIPTION_FALSE = 
-  Boolean.getBoolean("gemfire.cache-server.enable-notify-by-subscription-false");
-  
- 
-  // ////////////////////// Constructors //////////////////////
-
-  /**
-   * Creates a new <code>BridgeServerImpl</code> that serves the contents of
-   * the give <code>Cache</code>. It has the default configuration.
-   */
-  public BridgeServerImpl(GemFireCacheImpl cache, boolean isGatewayReceiver) {
-    super(cache);
-    this.isGatewayReceiver = isGatewayReceiver;
-  }
-
-  // //////////////////// Instance Methods ///////////////////
-  
-  public CancelCriterion getCancelCriterion() {
-    return cache.getCancelCriterion();    
-  }
-
-  /**
-   * Checks to see whether or not this bridge server is running. If so, an
-   * {@link IllegalStateException} is thrown.
-   */
-  private void checkRunning() {
-    if (this.isRunning()) {
-      throw new IllegalStateException(LocalizedStrings.BridgeServerImpl_A_BRIDGE_SERVERS_CONFIGURATION_CANNOT_BE_CHANGED_ONCE_IT_IS_RUNNING.toLocalizedString());
-    }
-  }
-
-  public boolean isGatewayReceiver() {
-    return this.isGatewayReceiver;
-  }
-  
-  @Override
-  public int getPort() {
-    if (this.acceptor != null) {
-      return this.acceptor.getPort();
-    }
-    else {
-      return super.getPort();
-    }
-  }
-
-  @Override
-  public void setPort(int port) {
-    checkRunning();
-    super.setPort(port);
-  }
-
-  @Override
-  public void setBindAddress(String address) {
-    checkRunning();
-    super.setBindAddress(address);
-  }
-  @Override
-  public void setHostnameForClients(String name) {
-    checkRunning();
-    super.setHostnameForClients(name);
-  }
-
-  @Override
-  public void setMaxConnections(int maxCon) {
-    checkRunning();
-    super.setMaxConnections(maxCon);
-  }
-
-  @Override
-  public void setMaxThreads(int maxThreads) {
-    checkRunning();
-    super.setMaxThreads(maxThreads);
-  }
-
-  @Override
-  public void setNotifyBySubscription(boolean b) {
-    checkRunning();
-    if (BridgeServerImpl.ENABLE_NOTIFY_BY_SUBSCRIPTION_FALSE) {
-      this.notifyBySubscription = b;
-    }
-  }
-
-  @Override
-  public void setMaximumMessageCount(int maximumMessageCount) {
-    checkRunning();
-    super.setMaximumMessageCount(maximumMessageCount);
-  }
-
-  @Override
-  public void setSocketBufferSize(int socketBufferSize) {
-    this.socketBufferSize = socketBufferSize;
-  }
-
-  @Override
-  public int getSocketBufferSize() {
-    return this.socketBufferSize;
-  }
-  
-  @Override
-  public void setMaximumTimeBetweenPings(int maximumTimeBetweenPings) {
-    this.maximumTimeBetweenPings = maximumTimeBetweenPings;
-  }
-
-  @Override
-  public int getMaximumTimeBetweenPings() {
-    return this.maximumTimeBetweenPings;
-  }
-
-
-  @Override
-  public void setLoadPollInterval(long loadPollInterval) {
-    checkRunning();
-    super.setLoadPollInterval(loadPollInterval);
-  }
-
-  @Override
-  public int getMaximumMessageCount() {
-    return this.maximumMessageCount;
-  }
-
-  @Override
-  public void setLoadProbe(ServerLoadProbe loadProbe) {
-    checkRunning();
-    super.setLoadProbe(loadProbe);
-  }
-
-  public void setGatewayTransportFilter(
-      List<GatewayTransportFilter> transportFilters) {
-    this.gatewayTransportFilters = transportFilters;
-  }
-  
-  @Override
-  public int getMessageTimeToLive() {
-    return this.messageTimeToLive;
-  }
-  
-
-  public ClientSubscriptionConfig getClientSubscriptionConfig(){
-    return this.clientSubscriptionConfig;
-  }
-
-  /**
-   * Sets the configuration of <b>this</b> <code>CacheServer</code> based on
-   * the configuration of <b>another</b> <code>CacheServer</code>.
-   */
-  public void configureFrom(CacheServer other) {
-    setPort(other.getPort());
-    setBindAddress(other.getBindAddress());
-    setHostnameForClients(other.getHostnameForClients());
-    setMaxConnections(other.getMaxConnections());
-    setMaxThreads(other.getMaxThreads());
-    setNotifyBySubscription(other.getNotifyBySubscription());
-    setSocketBufferSize(other.getSocketBufferSize());
-    setTcpNoDelay(other.getTcpNoDelay());
-    setMaximumTimeBetweenPings(other.getMaximumTimeBetweenPings());
-    setMaximumMessageCount(other.getMaximumMessageCount());
-    setMessageTimeToLive(other.getMessageTimeToLive());
-//    setTransactionTimeToLive(other.getTransactionTimeToLive());  not implemented in CacheServer for v6.6
-    setGroups(other.getGroups());
-    setLoadProbe(other.getLoadProbe());
-    setLoadPollInterval(other.getLoadPollInterval());
-    ClientSubscriptionConfig cscOther = other.getClientSubscriptionConfig();
-    ClientSubscriptionConfig cscThis = this.getClientSubscriptionConfig();
-    // added for configuration of ha overflow
-    cscThis.setEvictionPolicy(cscOther.getEvictionPolicy());
-    cscThis.setCapacity(cscOther.getCapacity());
-    String diskStoreName = cscOther.getDiskStoreName();
-    if (diskStoreName != null) {
-      cscThis.setDiskStoreName(diskStoreName);
-    } else {
-      cscThis.setOverflowDirectory(cscOther.getOverflowDirectory());
-    }
-  }
-
-  @Override
-  public synchronized void start() throws IOException {
-    Assert.assertTrue(this.cache != null);
-    boolean isSqlFabricSystem = ((GemFireCacheImpl)this.cache).isSqlfSystem();
-    
-    this.serialNumber = createSerialNumber();
-    if (DynamicRegionFactory.get().isOpen()) {
-      // force notifyBySubscription to be true so that meta info is pushed
-      // from servers to clients instead of invalidates.
-      if (!this.notifyBySubscription) {
-        logger.info(LocalizedMessage.create(LocalizedStrings.BridgeServerImpl_FORCING_NOTIFYBYSUBSCRIPTION_TO_SUPPORT_DYNAMIC_REGIONS));
-        this.notifyBySubscription = true;
-      }
-    }
-    this.advisor = BridgeServerAdvisor.createBridgeServerAdvisor(this);
-    this.loadMonitor = new LoadMonitor(loadProbe, maxConnections,
-        loadPollInterval, FORCE_LOAD_UPDATE_FREQUENCY, 
-        advisor);
-    List overflowAttributesList = new LinkedList();
-    ClientSubscriptionConfig csc = this.getClientSubscriptionConfig();
-    overflowAttributesList.add(0, csc.getEvictionPolicy());
-    overflowAttributesList.add(1, Integer.valueOf(csc.getCapacity()));
-    overflowAttributesList.add(2, Integer.valueOf(this.port));
-    String diskStoreName = csc.getDiskStoreName();
-    if (diskStoreName != null) {
-      overflowAttributesList.add(3, diskStoreName);
-      overflowAttributesList.add(4, true); // indicator to use diskstore
-    } else {
-      overflowAttributesList.add(3, csc.getOverflowDirectory());
-      overflowAttributesList.add(4, false);
-    }
-
-    this.acceptor = new AcceptorImpl(getPort(), 
-                                     getBindAddress(),
-                                     getNotifyBySubscription(),
-                                     getSocketBufferSize(), 
-                                     getMaximumTimeBetweenPings(), 
-                                     this.cache,
-                                     getMaxConnections(), 
-                                     getMaxThreads(), 
-                                     getMaximumMessageCount(),
-                                     getMessageTimeToLive(),
-                                     getTransactionTimeToLive(),
-                                     this.loadMonitor,
-                                     overflowAttributesList, 
-                                     isSqlFabricSystem,
-                                     this.isGatewayReceiver,
-                                     this.gatewayTransportFilters, this.tcpNoDelay);
-
-    this.acceptor.start();
-    this.advisor.handshake();
-    this.loadMonitor.start(new ServerLocation(getExternalAddress(),
-        getPort()), acceptor.getStats());
-    
-    // TODO : Need to provide facility to enable/disable client health monitoring.
-    //Creating ClientHealthMonitoring region.
-    // Force initialization on current cache
-    if(cache instanceof GemFireCacheImpl) {
-      ClientHealthMonitoringRegion.getInstance((GemFireCacheImpl)cache);
-    }
-    this.cache.getLoggerI18n().config(LocalizedStrings.BridgeServerImpl_CACHESERVER_CONFIGURATION___0, getConfig());
-    
-    /* 
-     * If the stopped bridge server is restarted, we'll need to re-register the 
-     * client membership listener. If the listener is already registered it 
-     * won't be registered as would the case when start() is invoked for the 
-     * first time.  
-     */
-    BridgeMembershipListener[] membershipListeners = 
-                                BridgeMembership.getBridgeMembershipListeners();
-    
-    boolean membershipListenerRegistered = false;
-    for (BridgeMembershipListener membershipListener : membershipListeners) {
-      //just checking by reference as the listener instance is final
-      if (listener == membershipListener) {
-        membershipListenerRegistered = true;
-        break;
-      }
-    }
-    
-    if (!membershipListenerRegistered) {
-      BridgeMembership.registerBridgeMembershipListener(listener);
-    }
-    
-    if (!isGatewayReceiver) {
-      InternalDistributedSystem system = ((GemFireCacheImpl) this.cache)
-          .getDistributedSystem();
-      system.handleResourceEvent(ResourceEvent.CACHE_SERVER_START, this);
-    }
-    
-  }
-
-  
-  /**
-   * Gets the address that this bridge server can be contacted on from external
-   * processes.
-   * @since 5.7
-   */
-  public String getExternalAddress() {
-    return getExternalAddress(true);
-  }
-  
-  public String getExternalAddress(boolean checkServerRunning) {
-    if (checkServerRunning) {
-      if (!this.isRunning()) {
-        String s = "A bridge server's bind address is only available if it has been started";
-        this.cache.getCancelCriterion().checkCancelInProgress(null);
-        throw new IllegalStateException(s);
-      }
-    }
-    if (this.hostnameForClients == null || this.hostnameForClients.equals("")) {
-      if (this.acceptor != null) {
-        return this.acceptor.getExternalAddress();
-      }
-      else {
-        return null;
-      }
-    }
-    else {
-      return this.hostnameForClients;
-    }
-  }
-
-  public boolean isRunning() {
-    return this.acceptor != null && this.acceptor.isRunning();
-  }
-
-  public synchronized void stop() {
-    if (!isRunning()) {
-      return;
-    }
-    
-    RuntimeException firstException = null;
-    
-    try {
-      if(this.loadMonitor != null) {
-        this.loadMonitor.stop();
-      }
-    } catch(RuntimeException e) {
-      cache.getLoggerI18n().warning(LocalizedStrings.BridgeServerImpl_CACHESERVER_ERROR_CLOSING_LOAD_MONITOR, e);
-      firstException = e;
-    }
-    
-    try {
-      if (this.advisor != null) {
-        this.advisor.close();
-      }
-    } catch(RuntimeException e) {
-      cache.getLoggerI18n().warning(LocalizedStrings.BridgeServerImpl_CACHESERVER_ERROR_CLOSING_ADVISOR, e);
-      firstException = e;
-    } 
-    
-    try {
-      if (this.acceptor != null) {
-        this.acceptor.close();
-      }
-    } catch(RuntimeException e) {
-      logger.warn(LocalizedMessage.create(LocalizedStrings.BridgeServerImpl_CACHESERVER_ERROR_CLOSING_ACCEPTOR_MONITOR), e);
-      if (firstException != null) {
-        firstException = e;
-      }
-    }
-    
-    if(firstException != null) {
-      throw firstException;
-    }
-    
-    //TODO : We need to clean up the admin region created for client
-    //monitoring.
-    
-    // BridgeServer is still available, just not running, so we don't take
-    // it out of the cache's list...
-    // cache.removeBridgeServer(this);
-
-    /* Assuming start won't be called after stop */
-    BridgeMembership.unregisterBridgeMembershipListener(this.listener);
-    
-    TXManagerImpl txMgr = (TXManagerImpl) cache.getCacheTransactionManager();
-    txMgr.removeHostedTXStatesForClients();
-    
-    if (!isGatewayReceiver) {
-      InternalDistributedSystem system = ((GemFireCacheImpl) this.cache)
-          .getDistributedSystem();
-      system.handleResourceEvent(ResourceEvent.CACHE_SERVER_STOP, this);
-    }
-
-  }
-
-  private String getConfig() {
-    ClientSubscriptionConfig csc = this.getClientSubscriptionConfig();
-    String str =
-    "port=" + getPort() + " max-connections=" + getMaxConnections()
-        + " max-threads=" + getMaxThreads() + " notify-by-subscription="
-        + getNotifyBySubscription() + " socket-buffer-size="
-        + getSocketBufferSize() + " maximum-time-between-pings="
-        + getMaximumTimeBetweenPings() + " maximum-message-count="
-        + getMaximumMessageCount() + " message-time-to-live="
-        + getMessageTimeToLive() + " eviction-policy=" + csc.getEvictionPolicy()
-        + " capacity=" + csc.getCapacity() + " overflow directory=";
-    if (csc.getDiskStoreName() != null) {
-      str += csc.getDiskStoreName();
-    } else {
-      str += csc.getOverflowDirectory(); 
-    }
-    str += 
-        " groups=" + Arrays.asList(getGroups())
-        + " loadProbe=" + loadProbe
-        + " loadPollInterval=" + loadPollInterval
-        + " tcpNoDelay=" + tcpNoDelay;
-    return str;
-  }
-
-  @Override
-  public String toString() {
-    ClientSubscriptionConfig csc = this.getClientSubscriptionConfig();
-    String str = 
-    "CacheServer on port=" + getPort() + " client subscription config policy="
-        + csc.getEvictionPolicy() + " client subscription config capacity="
-        + csc.getCapacity();
-    if (csc.getDiskStoreName() != null) {
-      str += " client subscription config overflow disk store="
-        + csc.getDiskStoreName();
-    } else {
-      str += " client subscription config overflow directory="
-        + csc.getOverflowDirectory();
-    }
-    return str;
-  }
-
-  /**
-   * Test method used to access the internal acceptor
-   * 
-   * @return the internal acceptor
-   */
-  public AcceptorImpl getAcceptor() {
-    return this.acceptor;
-  }
-
-  // DistributionAdvisee methods
-
-  public DM getDistributionManager() {
-    return getSystem().getDistributionManager();
-  }
-  
-  public ClientSession getClientSession(String durableClientId) {
-    return getCacheClientNotifier().getClientProxy(durableClientId);
-  }
-
-  public ClientSession getClientSession(DistributedMember member) {
-    return getCacheClientNotifier().getClientProxy(
-        ClientProxyMembershipID.getClientId(member));
-  }
-  
-  public Set getAllClientSessions() {
-    return new HashSet(getCacheClientNotifier().getClientProxies());
-  }
-
-  /**
-   * create client subscription
-   * 
-   * @param cache
-   * @param ePolicy
-   * @param capacity
-   * @param port
-   * @param overFlowDir
-   * @param isDiskStore
-   * @return client subscription name
-   * @since 5.7
-   */
-  public static String clientMessagesRegion(GemFireCacheImpl cache, String ePolicy,
-      int capacity, int port, String overFlowDir, boolean isDiskStore) {
-    AttributesFactory factory = getAttribFactoryForClientMessagesRegion(cache, 
-        ePolicy, capacity, overFlowDir, isDiskStore);
-    RegionAttributes attr = factory.create();
-
-    return createClientMessagesRegion(attr, cache, capacity, port);
-  }
-
-  public static AttributesFactory getAttribFactoryForClientMessagesRegion(
-      GemFireCacheImpl cache,
-      String ePolicy, int capacity, String overflowDir, boolean isDiskStore)
-      throws InvalidValueException, GemFireIOException {
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-
-    if (isDiskStore) {
-      // overflowDir parameter is actually diskstore name
-      factory.setDiskStoreName(overflowDir);
-      // client subscription queue is always overflow to disk, so do async
-      // see feature request #41479
-      factory.setDiskSynchronous(true);
-    } else if  (overflowDir == null || overflowDir.equals(ClientSubscriptionConfig.DEFAULT_OVERFLOW_DIRECTORY)) {
-      factory.setDiskStoreName(null);
-      // client subscription queue is always overflow to disk, so do async
-      // see feature request #41479
-      factory.setDiskSynchronous(true);
-    } else {
-      File dir = new File(overflowDir + File.separatorChar
-          + generateNameForClientMsgsRegion(OSProcess.getId()));
-      // This will delete the overflow directory when virtual machine terminates.
-      dir.deleteOnExit();
-      if (!dir.mkdirs() && !dir.isDirectory()) {
-        throw new GemFireIOException("Could not create client subscription overflow directory: "
-            + dir.getAbsolutePath());
-      }
-      File[] dirs = { dir };
-      DiskStoreFactory dsf = cache.createDiskStoreFactory();
-      DiskStore bsi = dsf.setAutoCompact(true)
-      .setDiskDirsAndSizes(dirs, new int[] { Integer.MAX_VALUE })
-      .create("bsi");
-      factory.setDiskStoreName("bsi");
-      // backward compatibility, it was sync
-      factory.setDiskSynchronous(true);
-    }
-    factory.setDataPolicy(DataPolicy.NORMAL);
-    // enable statistics
-    factory.setStatisticsEnabled(true);
-    /* setting LIFO related eviction attributes */
-    if (HARegionQueue.HA_EVICTION_POLICY_ENTRY.equals(ePolicy)) {
-      factory
-          .setEvictionAttributes(EvictionAttributesImpl.createLIFOEntryAttributes(
-              capacity, EvictionAction.OVERFLOW_TO_DISK));
-    }
-    else if (HARegionQueue.HA_EVICTION_POLICY_MEMORY.equals(ePolicy)) { // condition refinement
-      factory
-          .setEvictionAttributes(EvictionAttributesImpl.createLIFOMemoryAttributes(
-              capacity, EvictionAction.OVERFLOW_TO_DISK));
-    }
-    else {
-      // throw invalid eviction policy exception
-      throw new InvalidValueException(
-        LocalizedStrings.BridgeServerImpl__0_INVALID_EVICTION_POLICY.toLocalizedString(ePolicy));
-    }
-    return factory;
-  }
-
-  public static String createClientMessagesRegion(RegionAttributes attr,
-      GemFireCacheImpl cache, int capacity, int port) {
-    // generating unique name in VM for ClientMessagesRegion
-    String regionName = generateNameForClientMsgsRegion(port);
-    try {
-      cache.createVMRegion(regionName, attr,
-          new InternalRegionArguments().setDestroyLockFlag(true)
-              .setRecreateFlag(false).setSnapshotInputStream(null)
-              .setImageTarget(null).setIsUsedForMetaRegion(true));
-    }
-    catch (RegionExistsException ree) {
-      InternalGemFireError assErr = new InternalGemFireError(
-          "unexpected exception");
-      assErr.initCause(ree);
-      throw assErr;
-    }
-    catch (IOException e) {
-      // only if loading snapshot, not here
-      InternalGemFireError assErr = new InternalGemFireError(
-          "unexpected exception");
-      assErr.initCause(e);
-      throw assErr;
-    }
-    catch (ClassNotFoundException e) {
-      // only if loading snapshot, not here
-      InternalGemFireError assErr = new InternalGemFireError(
-          "unexpected exception");
-      assErr.initCause(e);
-      throw assErr;
-    }
-    return regionName;
-  }
-
-  public static String createClientMessagesRegionForTesting(GemFireCacheImpl cache,
-      String ePolicy, int capacity, int port, int expiryTime, String overFlowDir, boolean isDiskStore) {
-    AttributesFactory factory = getAttribFactoryForClientMessagesRegion(cache, 
-        ePolicy, capacity, overFlowDir, isDiskStore);
-    ExpirationAttributes ea = new ExpirationAttributes(expiryTime,
-        ExpirationAction.LOCAL_INVALIDATE);
-    factory.setEntryTimeToLive(ea);
-    RegionAttributes attr = factory.create();
-
-    return createClientMessagesRegion(attr, cache, capacity, port);
-  }
-
-  /**
-   * Generates the name for the client subscription using the given id.
-   * 
-   * @param id
-   * @return String
-   * @since 5.7 
-   */
-  public static String generateNameForClientMsgsRegion(int id) {
-    return ClientSubscriptionConfigImpl.CLIENT_SUBSCRIPTION + "_" + id;
-  }
-
-  /*
-   * Marker class name to identify the lock more easily in thread dumps private
-   * static class ClientMessagesRegionLock extends Object { }
-   */
-  public DistributionAdvisor getDistributionAdvisor() {
-    return this.advisor;
-  }
-  
-  /**
-   * Returns the BridgeServerAdvisor for this server
-   */
-  public BridgeServerAdvisor getCacheServerAdvisor() {
-    return this.advisor;
-  }
-  
-  public Profile getProfile() {
-    return getDistributionAdvisor().createProfile();
-  }
-  
-  public DistributionAdvisee getParentAdvisee() {
-    return null;
-  }
-  
-  /**
-   * Returns the underlying <code>InternalDistributedSystem</code> connection.
-   * @return the underlying <code>InternalDistributedSystem</code>
-   */
-  public InternalDistributedSystem getSystem() {
-    return (InternalDistributedSystem)this.cache.getDistributedSystem();
-  }
-  
-  public String getName() {
-    return "CacheServer";
-  }
-  
-  public String getFullPath() {
-    return getName();
-  }
-
-  private final static AtomicInteger profileSN = new AtomicInteger();
-  
-  private static int createSerialNumber() {
-    return profileSN.incrementAndGet();
-  }
-
-  /**
-   * Returns an array of all the groups of this bridge server.
-   * This includes those from the groups gemfire property
-   * and those explicitly added to this server.
-   */
-  public String[] getCombinedGroups() {
-    ArrayList<String> groupList = new ArrayList<String>();
-    for (String g: MemberAttributes.parseGroups(null, getSystem().getConfig().getGroups())) {
-      if (!groupList.contains(g)) {
-        groupList.add(g);
-      }
-    }
-    for (String g: getGroups()) {
-      if (!groupList.contains(g)) {
-        groupList.add(g);
-      }
-    }
-    String[] groups = new String[groupList.size()];
-    return groupList.toArray(groups);
-  }
-  
-  public /*synchronized causes deadlock*/ void fillInProfile(Profile profile) {
-    assert profile instanceof BridgeServerProfile;
-    BridgeServerProfile bp = (BridgeServerProfile)profile;
-    bp.setHost(getExternalAddress(false));
-    bp.setPort(getPort());
-    bp.setGroups(getCombinedGroups());
-    bp.setMaxConnections(maxConnections);
-    bp.setInitialLoad(loadMonitor.getLastLoad());
-    bp.setLoadPollInterval(getLoadPollInterval());
-    bp.serialNumber = getSerialNumber();
-    bp.finishInit();
-  }
-
-  public int getSerialNumber() {
-    return this.serialNumber;
-  }
-
-  
-   protected CacheClientNotifier getCacheClientNotifier() {
-    return getAcceptor().getCacheClientNotifier();
-  } 
-   
-  /**
-   * Registers a new <code>InterestRegistrationListener</code> with the set of
-   * <code>InterestRegistrationListener</code>s.
-   * 
-   * @param listener
-   *                The <code>InterestRegistrationListener</code> to register
-   * @throws IllegalStateException if the BridgeServer has not been started
-   * @since 5.8Beta
-   */
-  public void registerInterestRegistrationListener(
-      InterestRegistrationListener listener) {
-    if (!this.isRunning()) {
-      throw new IllegalStateException(LocalizedStrings.BridgeServerImpl_MUST_BE_RUNNING.toLocalizedString());
-    }
-    getCacheClientNotifier().registerInterestRegistrationListener(listener); 
-  }
-
-  /**
-   * Unregisters an existing <code>InterestRegistrationListener</code> from
-   * the set of <code>InterestRegistrationListener</code>s.
-   * 
-   * @param listener
-   *                The <code>InterestRegistrationListener</code> to
-   *                unregister
-   * 
-   * @since 5.8Beta
-   */
-  public void unregisterInterestRegistrationListener(
-      InterestRegistrationListener listener) {
-    getCacheClientNotifier().unregisterInterestRegistrationListener(listener);     
-  }
-
-  /**
-   * Returns a read-only set of <code>InterestRegistrationListener</code>s
-   * registered with this notifier.
-   * 
-   * @return a read-only set of <code>InterestRegistrationListener</code>s
-   *         registered with this notifier
-   * 
-   * @since 5.8Beta
-   */
-  public Set getInterestRegistrationListeners() {
-    return getCacheClientNotifier().getInterestRegistrationListeners(); 
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BucketAdvisor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BucketAdvisor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BucketAdvisor.java
index 1299d75..ec75a92 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BucketAdvisor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/BucketAdvisor.java
@@ -1789,7 +1789,7 @@ public final class BucketAdvisor extends CacheDistributionAdvisor  {
 
       HashSet<BucketServerLocation66> serverLocations = new HashSet<BucketServerLocation66>();
       for (Object object : servers) {
-        BridgeServerImpl server = (BridgeServerImpl)object;
+        CacheServerImpl server = (CacheServerImpl)object;
         if (server.isRunning() && (server.getExternalAddress() != null)) {
           BucketServerLocation66 location = new BucketServerLocation66(
               getBucket().getId(), server.getPort(), server

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheConfig.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheConfig.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheConfig.java
index 7aaa241..4c29879 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheConfig.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheConfig.java
@@ -9,7 +9,7 @@ package com.gemstone.gemfire.internal.cache;
 
 import java.util.List;
 
-import com.gemstone.gemfire.internal.cache.xmlcache.BridgeServerCreation;
+import com.gemstone.gemfire.internal.cache.xmlcache.CacheServerCreation;
 import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
 import com.gemstone.gemfire.pdx.PdxSerializer;
 import com.gemstone.gemfire.pdx.ReflectionBasedAutoSerializer;
@@ -40,7 +40,7 @@ public class CacheConfig {
   /**
    * list of cache servers to create after auto-reconnect if cluster configuration is being used
    */
-  private List<BridgeServerCreation> cacheServerCreation;
+  private List<CacheServerCreation> cacheServerCreation;
   
   /**
    * This indicates if the pdxReadSerialized value is set by user. This is used 
@@ -137,12 +137,12 @@ public class CacheConfig {
   }
 
   
-  public List<BridgeServerCreation> getCacheServerCreation() {
+  public List<CacheServerCreation> getCacheServerCreation() {
     return this.cacheServerCreation;
   }
   
   
-  public void setCacheServerCreation(List<BridgeServerCreation> servers) {
+  public void setCacheServerCreation(List<CacheServerCreation> servers) {
     this.cacheServerCreation = servers;
   }
 


[10/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/GetMemberInformationFunction.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/GetMemberInformationFunction.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/GetMemberInformationFunction.java
index face825..ff4d945 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/GetMemberInformationFunction.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/GetMemberInformationFunction.java
@@ -25,7 +25,7 @@ import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.internal.InternalEntity;
 import com.gemstone.gemfire.internal.cache.CacheClientStatus;
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
 import com.gemstone.gemfire.management.internal.cli.CliUtil;
 import com.gemstone.gemfire.management.internal.cli.domain.CacheServerInfo;
@@ -114,7 +114,7 @@ public class GetMemberInformationFunction extends FunctionAdapter implements Int
           CacheServerInfo cacheServerInfo = new CacheServerInfo(bindAddress, port, isRunning);
           memberInfo.addCacheServerInfo(cacheServerInfo);
         }
-        Map<ClientProxyMembershipID, CacheClientStatus> allConnectedClients = InternalBridgeMembership
+        Map<ClientProxyMembershipID, CacheClientStatus> allConnectedClients = InternalClientMembership
             .getStatusForAllClientsIgnoreSubscriptionStatus();
         Iterator<ClientProxyMembershipID> it = allConnectedClients.keySet().iterator();
         int numConnections = 0;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/management/membership/ClientMembership.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/membership/ClientMembership.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/membership/ClientMembership.java
index e5369c1..e07f19b 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/membership/ClientMembership.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/membership/ClientMembership.java
@@ -7,7 +7,7 @@
  */
 package com.gemstone.gemfire.management.membership;
 
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 
 /**
  * Provides utility methods for registering and unregistering
@@ -29,7 +29,7 @@ public final class ClientMembership {
    *          a ClientMembershipListener to be registered
    */
   public static void registerClientMembershipListener(ClientMembershipListener listener) {
-    InternalBridgeMembership.registerClientMembershipListener(listener);
+    InternalClientMembership.registerClientMembershipListener(listener);
   }
 
   /**
@@ -40,7 +40,7 @@ public final class ClientMembership {
    *          a ClientMembershipListener to be unregistered
    */
   public static void unregisterClientMembershipListener(ClientMembershipListener listener) {
-    InternalBridgeMembership.unregisterClientMembershipListener(listener);
+    InternalClientMembership.unregisterClientMembershipListener(listener);
   }
 
   /**
@@ -52,7 +52,7 @@ public final class ClientMembership {
    *         array if no listeners
    */
   public static ClientMembershipListener[] getClientMembershipListeners() {
-    return InternalBridgeMembership.getClientMembershipListeners();
+    return InternalClientMembership.getClientMembershipListeners();
   }
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd b/gemfire-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd
index 35af50c..989ca37 100644
--- a/gemfire-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd
+++ b/gemfire-core/src/main/resources/META-INF/schemas/schema.pivotal.io/gemfire/cache/cache-9.0.xsd
@@ -257,15 +257,6 @@ declarative caching XML file elements unless indicated otherwise.
             </xsd:complexContent>
           </xsd:complexType>
         </xsd:element>
-        <xsd:element maxOccurs="unbounded" minOccurs="0" name="bridge-server" type="gf:server-type">
-          <xsd:annotation>
-            <xsd:documentation>
-              The "bridge-server" element specifies a Cache Bridge Server that is started when the Cache is declaratively initialized.
-              NOTE: as
-              of 5.7 this element is deprecated; use the "cache-server" element instead.
-            </xsd:documentation>
-          </xsd:annotation>
-        </xsd:element>
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="pool" type="gf:pool-type" />
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="disk-store" type="gf:disk-store-type" />
         <xsd:element maxOccurs="unbounded" minOccurs="0" name="hdfs-store" type="gf:hdfs-store-type" />
@@ -917,14 +908,6 @@ As of 6.5 disk-dirs is deprecated on region-attributes. Use disk-store-name inst
     <!-- ======================================================= -->
 
   <xsd:complexType name="server-type">
-    <xsd:annotation>
-      <xsd:documentation>
-        The "bridge-server" element specifies a Cache Bridge Server that is started when the Cache is declaratively initialized.
-        NOTE: as
-        of 5.7
-        this element is deprecated; use the "cache-server" element instead.
-      </xsd:documentation>
-    </xsd:annotation>
     <xsd:sequence>
       <xsd:element maxOccurs="unbounded" minOccurs="0" name="group" type="xsd:string">
         <xsd:annotation>
@@ -1327,19 +1310,10 @@ As of 6.5 disk-dirs is deprecated on region-attributes. Use disk-store-name inst
         pool used
         by client applications in a client/server cache configuration.
         It should not be specified in servers or peers.
-
-        The optional "cache-loader" and
-        "cache-writer" are for legacy client client
-        applications that doen't use a connection pool. They must be a
-        bridge-loader and a bridge-writer. They should
-        not be specified in
-        servers or peers.
       </xsd:documentation>
     </xsd:annotation>
     <xsd:sequence>
       <xsd:element maxOccurs="1" minOccurs="0" name="disk-dir" type="gf:disk-dir-type" />
-      <xsd:element maxOccurs="1" minOccurs="0" name="cache-loader" type="gf:cache-loader-type" />
-      <xsd:element maxOccurs="1" minOccurs="0" name="cache-writer" type="gf:cache-writer-type" />
     </xsd:sequence>
     <xsd:attribute name="disable-persist-backup" type="xsd:boolean" use="optional" />
     <xsd:attribute name="disable-register-interest" type="xsd:boolean" use="optional" />

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/batterytest/greplogs/ExpectedStrings.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/batterytest/greplogs/ExpectedStrings.java b/gemfire-core/src/test/java/batterytest/greplogs/ExpectedStrings.java
index 1888fbe..ec4d4a4 100644
--- a/gemfire-core/src/test/java/batterytest/greplogs/ExpectedStrings.java
+++ b/gemfire-core/src/test/java/batterytest/greplogs/ExpectedStrings.java
@@ -120,8 +120,7 @@ public class ExpectedStrings {
       expected.add(Pattern.compile("No admin on"));
       expected.add(Pattern.compile("nonExistentMethod"));
       expected.add(Pattern.compile("Expected exception"));
-      expected.add(Pattern.compile("BridgeLoaderTestNonSerializable"));
-      expected.add(Pattern.compile("BridgeLoaderTestSerializableImpl"));
+      expected.add(Pattern.compile("ConnectionPoolTestNonSerializable"));
       expected.add(Pattern.compile("One or more DUnit tests failed"));
       expected.add(Pattern.compile("ReplyException"));
       expected.add(Pattern.compile("fine 2"));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/AttributesFactoryJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/AttributesFactoryJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/AttributesFactoryJUnitTest.java
index e2e5024..54482d0 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/AttributesFactoryJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/AttributesFactoryJUnitTest.java
@@ -14,7 +14,6 @@ import org.junit.experimental.categories.Category;
 
 import junit.framework.TestCase;
 
-import com.gemstone.gemfire.cache.util.BridgeLoader;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.cache.util.CacheWriterAdapter;
 import com.gemstone.gemfire.compression.SnappyCompressor;
@@ -400,23 +399,6 @@ public class AttributesFactoryJUnitTest extends TestCase {
     factory = new AttributesFactory();
     factory.setCacheLoader(cl);
     factory.setPoolName("mypool");
-    
-    factory = new AttributesFactory();
-    factory.setCacheLoader(new BridgeLoader());
-    
-    try {
-      factory.setPoolName("mypool");
-      fail("expected IllegalStateException");
-    } catch (IllegalStateException expected) {
-    }
-    
-    factory = new AttributesFactory();
-    factory.setCacheLoader(new BridgeLoader());
-    try {
-      factory.setPoolName("mypool");
-      fail("expected IllegalStateException");
-    } catch (IllegalStateException expected) {
-    }
   }
   
  /**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ClientHelper.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ClientHelper.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ClientHelper.java
index 29c3d41..c961159 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ClientHelper.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ClientHelper.java
@@ -14,7 +14,6 @@ import java.util.Set;
 import com.gemstone.gemfire.cache.DynamicRegionFactory.Config;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.ServerProxy;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ConnectionPoolAndLoaderDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ConnectionPoolAndLoaderDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ConnectionPoolAndLoaderDUnitTest.java
index ec8fb09..336dfd3 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ConnectionPoolAndLoaderDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/ConnectionPoolAndLoaderDUnitTest.java
@@ -14,7 +14,7 @@ import junit.framework.Assert;
 
 import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheWriterAdapter;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -394,7 +394,7 @@ public class ConnectionPoolAndLoaderDUnitTest  extends CacheTestCase {
   throws IOException {
 
   Cache cache = getCache();
-  BridgeServer bridge = cache.addBridgeServer();
+  CacheServer bridge = cache.addCacheServer();
   bridge.setPort(port);
   bridge.setNotifyBySubscription(notifyBySubscription);
   bridge.start();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
index 1fdb67c..0e63bff 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceDUnitTest.java
@@ -20,12 +20,12 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.client.NoAvailableServersException;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.util.BridgeMembership;
-import com.gemstone.gemfire.cache.util.BridgeMembershipEvent;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListenerAdapter;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
+import com.gemstone.gemfire.management.membership.ClientMembership;
+import com.gemstone.gemfire.management.membership.ClientMembershipEvent;
+import com.gemstone.gemfire.management.membership.ClientMembershipListenerAdapter;
 
 import dunit.Host;
 import dunit.SerializableCallable;
@@ -269,7 +269,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
     final String locators = getServerHostName(vm0.getHost()) + "[" + locatorPort + "]";
     
     final int serverPort1 =startBridgeServerInVM(vm1, new String[] {"group1"}, locators);
-    final int serverPort2 =addBridgeServerInVM(vm1, new String[] {"group2"});
+    final int serverPort2 =addCacheServerInVM(vm1, new String[] {"group2"});
     
     startBridgeClientInVM(vm2, "group2", getServerHostName(vm0.getHost()), locatorPort);
     
@@ -282,7 +282,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
     checkEndpoints(vm2, new int[] {serverPort1});
   }
   
-  public void testBridgeMembershipListener() throws Exception {
+  public void testClientMembershipListener() throws Exception {
     final Host host = Host.getHost(0);
     VM locatorVM = host.getVM(0);
     VM bridge1VM = host.getVM(1);
@@ -452,7 +452,7 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
     vm.invoke(new SerializableRunnable("Add membership listener") {
       public void run() {
         MyListener listener = new MyListener();
-        BridgeMembership.registerBridgeMembershipListener(listener);
+        ClientMembership.registerClientMembershipListener(listener);
         remoteObjects.put(BRIDGE_LISTENER, listener);
       }
     });
@@ -541,12 +541,13 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
     });
   }
   
-  public static class MyListener extends BridgeMembershipListenerAdapter implements Serializable {
+  public static class MyListener extends ClientMembershipListenerAdapter implements Serializable {
     protected int crashes = 0;
     protected int joins = 0;
     protected int departures= 0;
 
-    public synchronized void memberCrashed(BridgeMembershipEvent event) {
+    @Override
+    public synchronized void memberCrashed(ClientMembershipEvent event) {
       crashes++;
       notifyAll();
     }
@@ -557,12 +558,14 @@ public class AutoConnectionSourceDUnitTest extends LocatorTestBase {
       departures = 0;
     }
 
-    public synchronized void memberJoined(BridgeMembershipEvent event) {
+    @Override
+    public synchronized void memberJoined(ClientMembershipEvent event) {
       joins++;
       notifyAll();
     }
 
-    public synchronized void memberLeft(BridgeMembershipEvent event) {
+    @Override
+    public synchronized void memberLeft(ClientMembershipEvent event) {
       departures++;
       notifyAll();
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceWithUDPDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceWithUDPDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceWithUDPDUnitTest.java
index 8509c54..9f1d67a 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceWithUDPDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/AutoConnectionSourceWithUDPDUnitTest.java
@@ -21,7 +21,7 @@ import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.Locator;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -90,7 +90,7 @@ public class AutoConnectionSourceWithUDPDUnitTest extends
             for(int i = 0; i < regions.length; i++) {
               cache.createRegion(regions[i], attrs);
             }
-            BridgeServer server = cache.addBridgeServer();
+            CacheServer server = cache.addCacheServer();
             final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
             server.setPort(serverPort);
             server.setGroups(groups);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/ConnectionPoolImplJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/ConnectionPoolImplJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/ConnectionPoolImplJUnitTest.java
index ab67729..dcede9b 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/ConnectionPoolImplJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/ConnectionPoolImplJUnitTest.java
@@ -24,10 +24,7 @@ import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.ServerConnectivityException;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.cache.util.EndpointDoesNotExistException;
-import com.gemstone.gemfire.cache.util.EndpointExistsException;
-import com.gemstone.gemfire.cache.util.EndpointInUseException;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -158,8 +155,8 @@ public class ConnectionPoolImplJUnitTest {
   
   @Test
   public void testExecuteOp() throws Exception {
-    BridgeServer server1 = cache.addBridgeServer();
-    BridgeServer server2 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
+    CacheServer server2 = cache.addCacheServer();
     int[] ports = AvailablePortHelper.getRandomAvailableTCPPorts(2);
     int port1 = ports[0];
     int port2 = ports[1];
@@ -223,7 +220,7 @@ public class ConnectionPoolImplJUnitTest {
   
   @Test
   public void testCreatePool() throws Exception {
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port1 = port;
     server1.setPort(port1);
     

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
index dffc216..ac6f695 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorLoadBalancingDUnitTest.java
@@ -27,14 +27,14 @@ import com.gemstone.gemfire.cache.client.internal.locator.QueueConnectionRespons
 import com.gemstone.gemfire.cache.server.ServerLoad;
 import com.gemstone.gemfire.cache.server.ServerLoadProbeAdapter;
 import com.gemstone.gemfire.cache.server.ServerMetrics;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.Locator;
 import com.gemstone.gemfire.distributed.internal.InternalLocator;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.distributed.internal.ServerLocator;
 import com.gemstone.gemfire.distributed.internal.tcpserver.TcpClient;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.PoolFactoryImpl;
 import com.gemstone.gemfire.internal.logging.InternalLogWriter;
 import com.gemstone.gemfire.internal.logging.LocalLogWriter;
@@ -241,8 +241,8 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
     Runnable checkConnectionCount = new SerializableRunnable("checkConnectionCount") {
       public void run() {
         Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
-        final BridgeServerImpl server = (BridgeServerImpl)
-            cache.getBridgeServers().get(0);
+        final CacheServerImpl server = (CacheServerImpl)
+            cache.getCacheServers().get(0);
         WaitCriterion wc = new WaitCriterion() {
           String excuse;
           public boolean done() {
@@ -456,7 +456,7 @@ public class LocatorLoadBalancingDUnitTest extends LocatorTestBase {
 
       public void run() {
         Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
-        BridgeServer server = (BridgeServer) cache.getBridgeServers().get(0);
+        CacheServer server = (CacheServer) cache.getCacheServers().get(0);
         MyLoadProbe probe = (MyLoadProbe) server.getLoadProbe();
         probe.setLoad(newLoad);
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
index 0776112..01a9c19 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/client/internal/LocatorTestBase.java
@@ -27,7 +27,7 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.server.ServerLoadProbe;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.Locator;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -135,13 +135,13 @@ public abstract class LocatorTestBase  extends DistributedTestCase {
     return startBridgeServerInVM(vm, groups, locators, new String[] {REGION_NAME});
   }
   
-  protected int addBridgeServerInVM(VM vm, final String[] groups) {
+  protected int addCacheServerInVM(VM vm, final String[] groups) {
     SerializableCallable connect =
       new SerializableCallable("Add Bridge server") {
 
       public Object call() throws Exception {
         Cache cache = (Cache) remoteObjects.get(CACHE_KEY);
-        BridgeServer server = cache.addBridgeServer();
+        CacheServer server = cache.addCacheServer();
         final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
         server.setPort(serverPort);
         server.setGroups(groups);
@@ -154,7 +154,7 @@ public abstract class LocatorTestBase  extends DistributedTestCase {
   }
   
   protected int startBridgeServerInVM(VM vm, final String[] groups, final String locators, final String[] regions) {
-    return startBridgeServerInVM(vm, groups, locators, regions, BridgeServer.DEFAULT_LOAD_PROBE);
+    return startBridgeServerInVM(vm, groups, locators, regions, CacheServer.DEFAULT_LOAD_PROBE);
   }
   
   protected int startBridgeServerInVM(VM vm, final String[] groups, final String locators, final String[] regions, final ServerLoadProbe probe) {
@@ -174,7 +174,7 @@ public abstract class LocatorTestBase  extends DistributedTestCase {
             for(int i = 0; i < regions.length; i++) {
               cache.createRegion(regions[i], attrs);
             }
-            BridgeServer server = cache.addBridgeServer();
+            CacheServer server = cache.addCacheServer();
             final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();
             server.setPort(serverPort);
             server.setGroups(groups);
@@ -208,7 +208,7 @@ public abstract class LocatorTestBase  extends DistributedTestCase {
             for(int i = 0; i < regions.length; i++) {
               cache.createRegion(regions[i], attrs);
             }
-            BridgeServer server = cache.addBridgeServer();
+            CacheServer server = cache.addCacheServer();
             server.setGroups(groups);
             server.setLoadProbe(probe);
             final int serverPort = AvailablePortHelper.getRandomAvailableTCPPort();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsDUnitTest.java
index 37f9744..8c4f893 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsDUnitTest.java
@@ -47,7 +47,7 @@ import com.gemstone.gemfire.cache.execute.FunctionException;
 import com.gemstone.gemfire.cache.execute.FunctionService;
 import com.gemstone.gemfire.cache.execute.RegionFunctionContext;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -84,7 +84,7 @@ import dunit.VM;
  * @author Mitch Thomas
  * @since 6.0
  */
-public class MemoryThresholdsDUnitTest extends BridgeTestCase {
+public class MemoryThresholdsDUnitTest extends ClientServerTestCase {
   
   public static class Range implements Serializable {
     public final static Range DEFAULT = new Range(0, 20);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsOffHeapDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsOffHeapDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsOffHeapDUnitTest.java
index 83b8608..d65dcc7 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsOffHeapDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/management/MemoryThresholdsOffHeapDUnitTest.java
@@ -35,7 +35,7 @@ import com.gemstone.gemfire.cache.client.ServerOperationException;
 import com.gemstone.gemfire.cache.control.ResourceManager;
 import com.gemstone.gemfire.cache.management.MemoryThresholdsDUnitTest.Range;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -72,7 +72,7 @@ import dunit.VM;
  * @author David Hoots
  * @since 9.0
  */
-public class MemoryThresholdsOffHeapDUnitTest extends BridgeTestCase {
+public class MemoryThresholdsOffHeapDUnitTest extends ClientServerTestCase {
   private static final long serialVersionUID = -684231183212051910L;
 
   final String expectedEx = LocalizedStrings.MemoryMonitor_MEMBER_ABOVE_CRITICAL_THRESHOLD.getRawText().replaceAll("\\{[0-9]+\\}",

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/PdxStringQueryDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/PdxStringQueryDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/PdxStringQueryDUnitTest.java
index 15ab005..bf5a150 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/PdxStringQueryDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/PdxStringQueryDUnitTest.java
@@ -45,7 +45,7 @@ import com.gemstone.gemfire.cache.query.internal.index.RangeIndex;
 import com.gemstone.gemfire.cache.query.types.CollectionType;
 import com.gemstone.gemfire.cache.query.types.ObjectType;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
@@ -168,7 +168,7 @@ public class PdxStringQueryDUnitTest extends CacheTestCase{
       public void run2() throws CacheException {
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
         Region region = createRegion(regionName, rootRegionName,  factory.create());
         getLogWriter().info("Put PortfolioPdx");
         for (int i=0; i<numberOfEntries; i++) {
@@ -426,7 +426,7 @@ public class PdxStringQueryDUnitTest extends CacheTestCase{
       public void run2() throws CacheException {
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
         Region region = createRegion(regionName, rootRegionName,  factory.create());
         getLogWriter().info("Put PortfolioPdx");
         for (int i=0; i<numberOfEntries; i++) {
@@ -638,7 +638,7 @@ public class PdxStringQueryDUnitTest extends CacheTestCase{
       public void run2() throws CacheException {
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
         Region region = createRegion(regionName, rootRegionName,  factory.create());
         getLogWriter().info("Put PortfolioPdx");
         for (int i=0; i<numberOfEntries; i++) {
@@ -852,7 +852,7 @@ public class PdxStringQueryDUnitTest extends CacheTestCase{
       public void run2() throws CacheException {
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
         Region region = createRegion(regionName, rootRegionName,  factory.create());
         getLogWriter().info("Put PortfolioPdx");
         for (int i=0; i<numberOfEntries; i++) {
@@ -1116,7 +1116,7 @@ public class PdxStringQueryDUnitTest extends CacheTestCase{
       public void run2() throws CacheException {
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
         Region region = createRegion(regionName, rootRegionName,  factory.create());
         getLogWriter().info("Put PortfolioPdx");
         for (int i=0; i<numberOfEntries; i++) {
@@ -1343,7 +1343,7 @@ public class PdxStringQueryDUnitTest extends CacheTestCase{
       public void run2() throws CacheException {
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
         Region region = createRegion(regionName, rootRegionName,  factory.create());
         getLogWriter().info("Put PortfolioPdx");
         for (int i=0; i<numberOfEntries; i++) {
@@ -1570,7 +1570,7 @@ public class PdxStringQueryDUnitTest extends CacheTestCase{
       public void run2() throws CacheException {
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port1,-1, true, -1, -1, null);
         Region region = createRegion(regionName, rootRegionName,  factory.create());
       
         getLogWriter().info("Put PortfolioPdx");

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/QueryUsingPoolDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/QueryUsingPoolDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/QueryUsingPoolDUnitTest.java
index 0e982bf..68ec0c5 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/QueryUsingPoolDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/QueryUsingPoolDUnitTest.java
@@ -32,8 +32,8 @@ import com.gemstone.gemfire.cache.query.internal.DefaultQuery;
 import com.gemstone.gemfire.cache.query.internal.QueryObserverAdapter;
 import com.gemstone.gemfire.cache.query.internal.QueryObserverHolder;
 import com.gemstone.gemfire.cache.query.types.ObjectType;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -575,7 +575,7 @@ public class QueryUsingPoolDUnitTest extends CacheTestCase {
         getCache();
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
         createRegion(name, factory.create());
       }
     });
@@ -2421,7 +2421,7 @@ public class QueryUsingPoolDUnitTest extends CacheTestCase {
   throws IOException {
 
     Cache cache = getCache();
-    BridgeServer bridge = cache.addBridgeServer();
+    CacheServer bridge = cache.addCacheServer();
     bridge.setPort(port);
     bridge.setNotifyBySubscription(notifyBySubscription);
     bridge.start();
@@ -2432,8 +2432,8 @@ public class QueryUsingPoolDUnitTest extends CacheTestCase {
    * Stops the bridge server that serves up the given cache.
    */
   protected void stopBridgeServer(Cache cache) {
-    BridgeServer bridge =
-      (BridgeServer) cache.getBridgeServers().iterator().next();
+    CacheServer bridge =
+      (CacheServer) cache.getCacheServers().iterator().next();
     bridge.stop();
     assertFalse(bridge.isRunning());
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/RemoteQueryDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/RemoteQueryDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/RemoteQueryDUnitTest.java
index 0028540..ef24789 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/RemoteQueryDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/RemoteQueryDUnitTest.java
@@ -10,10 +10,11 @@ package com.gemstone.gemfire.cache.query.dunit;
 import com.gemstone.gemfire.DataSerializable;
 import com.gemstone.gemfire.DataSerializer;
 import com.gemstone.gemfire.cache.*;
+import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.query.*;
 import com.gemstone.gemfire.cache.query.internal.*;
-import com.gemstone.gemfire.cache.util.*;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -43,9 +44,6 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
   /** The port on which the bridge server was started in this VM */
   private static int bridgeServerPort;
 
-  /**
-   * Creates a new <code>GemFireMemberStatusDUnitTest</code>
-   */
   public RemoteQueryDUnitTest(String name) {
     super(name);
   }
@@ -119,7 +117,7 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           getCache();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          BridgeTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
+          ClientServerTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
           createRegion(name, factory.create());
         }
       });
@@ -264,7 +262,7 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
           
-          BridgeTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
+          ClientServerTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
           createRegion(name, factory.create());
         }
       });
@@ -392,7 +390,7 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           getCache();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          BridgeTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
+          ClientServerTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
           createRegion(name, factory.create());
         }
       });
@@ -626,7 +624,7 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           getCache();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          BridgeTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
+          ClientServerTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
           createRegion(name, factory.create());
         }
       });
@@ -714,7 +712,7 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           getCache();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          BridgeTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
+          ClientServerTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
           createRegion(name, factory.create());
         }
       });
@@ -885,7 +883,7 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           getCache();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          BridgeTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
+          ClientServerTestCase.configureConnectionPool(factory, host0, port,-1, true, -1, -1, null);
           createRegion(name+"1", factory.create());
           createRegion(name+"2", factory.create());
         }
@@ -952,7 +950,6 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
           createRegion(name, factory.create());
-          pause(1000);
           try {
             startBridgeServer(0, false);
           } catch (Exception ex) {
@@ -980,16 +977,11 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           Properties config = new Properties();
           config.setProperty("mcast-port", "0");
           system = (InternalDistributedSystem) DistributedSystem.connect(config);
+          PoolManager.createFactory().addServer(host0, port).setSubscriptionEnabled(true).create("clientPool");
           getCache();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          BridgeClient writer = new BridgeClient();
-          Properties props = new Properties();
-          props.setProperty("endpoints", "server=" + host0 + ":" +
-                            port);
-          props.setProperty("establishCallbackConnection", "true");
-          writer.init(props);
-          factory.setCacheWriter(writer);
+          factory.setPoolName("clientPool");
           createRegion(name, factory.create());
         }
       });
@@ -1000,16 +992,11 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
           Properties config = new Properties();
           config.setProperty("mcast-port", "0");
           system = (InternalDistributedSystem) DistributedSystem.connect(config);
+          PoolManager.createFactory().addServer(host0, port).setSubscriptionEnabled(true).create("clientPool");
           getCache();
           AttributesFactory factory = new AttributesFactory();
           factory.setScope(Scope.LOCAL);
-          BridgeClient loader = new BridgeClient();
-          Properties props = new Properties();
-          props.setProperty("endpoints", "server=" + host0 + ":" +
-                            port);
-          props.setProperty("establishCallbackConnection", "true");
-          loader.init(props);
-          factory.setCacheLoader(loader);
+          factory.setPoolName("clientPool");
           createRegion(name, factory.create());
         }
       });
@@ -1076,10 +1063,8 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
       vm1.invoke(new CacheSerializableRunnable("Close client") {
         public void run2() throws CacheException {
           Region region = getRootRegion().getSubregion(name);
-          BridgeClient writer = (BridgeClient)
-            region.getAttributes().getCacheWriter();
-          writer.close();
-          region.getAttributesMutator().setCacheWriter(null);
+          region.close();
+          PoolManager.find("clientPool").destroy();
         }
       });
 
@@ -1087,10 +1072,8 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
       vm2.invoke(new CacheSerializableRunnable("Close client") {
         public void run2() throws CacheException {
           Region region = getRootRegion().getSubregion(name);
-          BridgeClient loader = (BridgeClient)
-            region.getAttributes().getCacheLoader();
-          loader.close();
-          region.getAttributesMutator().setCacheLoader(null);
+          region.close();
+          PoolManager.find("clientPool").destroy();
         }
       });
 
@@ -1127,7 +1110,6 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
            AttributesFactory factory = new AttributesFactory();
            factory.setScope(Scope.LOCAL);
            createRegion(name, factory.createRegionAttributes());
-           pause(1000);
            try {
              startBridgeServer(0, false);
            } catch (Exception ex) {
@@ -1155,16 +1137,11 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
            Properties config = new Properties();
            config.setProperty("mcast-port", "0");
            system = (InternalDistributedSystem) DistributedSystem.connect(config);
+           PoolManager.createFactory().addServer(host0, port).setSubscriptionEnabled(true).create("clientPool");
            getCache();
            AttributesFactory factory = new AttributesFactory();
            factory.setScope(Scope.LOCAL);
-           BridgeClient writer = new BridgeClient();
-           Properties props = new Properties();
-           props.setProperty("endpoints", "server=" + host0 + ":" +
-                             port);
-           props.setProperty("establishCallbackConnection", "true");
-           writer.init(props);
-           factory.setCacheWriter(writer);
+           factory.setPoolName("clientPool");
            createRegion(name, factory.createRegionAttributes());
          }
        });
@@ -1197,10 +1174,8 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
        vm1.invoke(new CacheSerializableRunnable("Close client") {
          public void run2() throws CacheException {
            Region region = getRootRegion().getSubregion(name);
-           BridgeClient writer = (BridgeClient)
-             region.getAttributes().getCacheWriter();
-           writer.close();
-           region.getAttributesMutator().setCacheWriter(null);
+           region.close();
+           PoolManager.find("clientPool").destroy();
          }
        });
 
@@ -1247,7 +1222,6 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
               }
 
             });
-            pause(1000);
             try {
               startBridgeServer(0, false);
             } catch (Exception ex) {
@@ -1275,16 +1249,11 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
             Properties config = new Properties();
             config.setProperty("mcast-port", "0");
             system = (InternalDistributedSystem) DistributedSystem.connect(config);
+            PoolManager.createFactory().addServer(host0, port).setSubscriptionEnabled(true).create("clientPool");
             getCache();
             AttributesFactory factory = new AttributesFactory();
             factory.setScope(Scope.LOCAL);
-            BridgeClient writer = new BridgeClient();
-            Properties props = new Properties();
-            props.setProperty("endpoints", "server=" + host0 + ":" +
-                              port);
-            props.setProperty("establishCallbackConnection", "true");
-            writer.init(props);
-            factory.setCacheWriter(writer);
+            factory.setPoolName("clientPool");
             createRegion(name, factory.createRegionAttributes());
           }
         });
@@ -1321,7 +1290,6 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
               }
 
             });
-            pause(1000);
             for (int i=0; i<numberOfEntries; i++) {
               region1.put("key-"+i, new TestObject(i, "ibm"));
               region2.put("key-"+i, new TestObject(i, "ibm"));
@@ -1351,10 +1319,8 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
         vm1.invoke(new CacheSerializableRunnable("Close client") {
           public void run2() throws CacheException {
             Region region = getRootRegion().getSubregion(name);
-            BridgeClient writer = (BridgeClient)
-              region.getAttributes().getCacheWriter();
-            writer.close();
-            region.getAttributesMutator().setCacheWriter(null);
+            region.close();
+            PoolManager.find("clientPool").destroy();
           }
         });
 
@@ -1382,7 +1348,7 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
     throws IOException {
 
     Cache cache = getCache();
-    BridgeServer bridge = cache.addBridgeServer();
+    CacheServer bridge = cache.addCacheServer();
     bridge.setPort(port);
     bridge.setNotifyBySubscription(notifyBySubscription);
     bridge.start();
@@ -1393,8 +1359,8 @@ public class RemoteQueryDUnitTest extends CacheTestCase {
    * Stops the bridge server that serves up the given cache.
    */
   protected void stopBridgeServer(Cache cache) {
-    BridgeServer bridge =
-      (BridgeServer) cache.getBridgeServers().iterator().next();
+    CacheServer bridge =
+      (CacheServer) cache.getCacheServers().iterator().next();
     bridge.stop();
     assertFalse(bridge.isRunning());
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/ResourceManagerWithQueryMonitorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/ResourceManagerWithQueryMonitorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/ResourceManagerWithQueryMonitorDUnitTest.java
index cdd03b3..4cd2439 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/ResourceManagerWithQueryMonitorDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/dunit/ResourceManagerWithQueryMonitorDUnitTest.java
@@ -42,7 +42,7 @@ import com.gemstone.gemfire.cache.query.data.Portfolio;
 import com.gemstone.gemfire.cache.query.internal.DefaultQuery;
 import com.gemstone.gemfire.cache.query.internal.QueryMonitor;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
@@ -63,7 +63,7 @@ import dunit.Host;
 import dunit.SerializableCallable;
 import dunit.VM;
 
-public class ResourceManagerWithQueryMonitorDUnitTest extends BridgeTestCase {
+public class ResourceManagerWithQueryMonitorDUnitTest extends ClientServerTestCase {
   
   private static int MAX_TEST_QUERY_TIMEOUT = 4000;
   private static int TEST_QUERY_TIMEOUT = 1000;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/ConcurrentIndexInitOnOverflowRegionDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/ConcurrentIndexInitOnOverflowRegionDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/ConcurrentIndexInitOnOverflowRegionDUnitTest.java
index 24f6d64..0ff36c1 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/ConcurrentIndexInitOnOverflowRegionDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache/query/internal/index/ConcurrentIndexInitOnOverflowRegionDUnitTest.java
@@ -31,7 +31,7 @@ import com.gemstone.gemfire.cache.query.data.Portfolio;
 import com.gemstone.gemfire.cache.query.data.PortfolioData;
 import com.gemstone.gemfire.cache.query.internal.index.IndexManager.TestHook;
 import com.gemstone.gemfire.cache.query.partitioned.PRQueryDUnitHelper;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.internal.cache.EvictionAttributesImpl;
@@ -200,7 +200,7 @@ public class ConcurrentIndexInitOnOverflowRegionDUnitTest extends CacheTestCase
         Region partitionRegion = null;
         IndexManager.testHook = null;
         try {
-          BridgeServer bridge = cache.addBridgeServer();
+          CacheServer bridge = cache.addCacheServer();
           bridge.setPort(0);
           bridge.start();
           bridgeServerPort = bridge.getPort();


[13/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerAdvisor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerAdvisor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerAdvisor.java
new file mode 100644
index 0000000..646f336
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerAdvisor.java
@@ -0,0 +1,164 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+package com.gemstone.gemfire.internal.cache;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.List;
+
+import com.gemstone.gemfire.DataSerializer;
+import com.gemstone.gemfire.cache.server.ServerLoad;
+import com.gemstone.gemfire.distributed.internal.DistributionAdvisee;
+import com.gemstone.gemfire.distributed.internal.DistributionManager;
+import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
+import com.gemstone.gemfire.internal.InternalDataSerializer;
+
+
+/**
+ * Used to give advice to a cache server.
+ * Cache server currently need to know about controller's
+ * @author darrel
+ *
+ */
+public class CacheServerAdvisor extends GridAdvisor {
+  
+  private CacheServerAdvisor(DistributionAdvisee server) {
+    super(server);
+  }
+
+  public static CacheServerAdvisor createCacheServerAdvisor(DistributionAdvisee server) {
+    CacheServerAdvisor advisor = new CacheServerAdvisor(server);
+    advisor.initialize();
+    return advisor;
+  }
+
+  @Override
+  public String toString() {
+    return "CacheServerAdvisor for " + getAdvisee().getFullPath();
+  }
+
+  /** Instantiate new distribution profile for this member */
+  @Override
+  protected Profile instantiateProfile(
+      InternalDistributedMember memberId, int version) {
+    return new CacheServerProfile(memberId, version);
+  }
+  
+  /**
+   * Describes a cache server for distribution purposes.
+   */
+  public static class CacheServerProfile extends GridAdvisor.GridProfile {
+    private String[] groups;
+    private int maxConnections;
+    private ServerLoad initialLoad;
+    private long loadPollInterval;
+
+    /** for internal use, required for DataSerializer.readObject */
+    public CacheServerProfile() {
+    }
+
+    public CacheServerProfile(InternalDistributedMember memberId, int version) {
+      super(memberId, version);
+    }
+
+    public CacheServerProfile(CacheServerProfile toCopy) {
+      super(toCopy);
+      this.groups = toCopy.groups;
+    }
+
+    /** don't modify the returned array! */
+    public String[] getGroups() {
+      return this.groups;
+    }
+    public void setGroups(String[] groups) {
+      this.groups = groups;
+    }
+    
+    public ServerLoad getInitialLoad() {
+      return initialLoad;
+    }
+    
+    public int getMaxConnections() {
+      return maxConnections;
+    }
+    
+    public void setMaxConnections(int maxConnections) {
+      this.maxConnections = maxConnections;
+    }
+
+    public void setInitialLoad(ServerLoad initialLoad) {
+      this.initialLoad = initialLoad;
+    }
+    public long getLoadPollInterval() {
+      return this.loadPollInterval;
+    }
+    public void setLoadPollInterval(long v) {
+      this.loadPollInterval = v;
+    }
+
+    /**
+     * Used to process an incoming cache server profile. Any controller in this
+     * vm needs to be told about this incoming new cache server. The reply
+     * needs to contain any controller(s) that exist in this vm.
+     * 
+     * @since 5.7
+     */
+    @Override
+    public void processIncoming(DistributionManager dm, String adviseePath,
+        boolean removeProfile, boolean exchangeProfiles,
+        final List<Profile> replyProfiles) {
+      // tell local controllers about this cache server
+      tellLocalControllers(removeProfile, exchangeProfiles, replyProfiles);
+      // for QRM messaging we need cache servers to know about each other
+      tellLocalBridgeServers(removeProfile, exchangeProfiles, replyProfiles);
+    }
+
+    @Override
+    public int getDSFID() {
+      return CACHE_SERVER_PROFILE;
+    }
+
+    @Override
+    public void toData(DataOutput out) throws IOException {
+      super.toData(out);
+      DataSerializer.writeStringArray(this.groups, out);
+      out.writeInt(maxConnections);
+      InternalDataSerializer.invokeToData(initialLoad, out);
+      out.writeLong(getLoadPollInterval());
+    }
+
+    @Override
+    public void fromData(DataInput in) throws IOException, ClassNotFoundException {
+      super.fromData(in);
+      this.groups = DataSerializer.readStringArray(in);
+      this.maxConnections = in.readInt();
+      this.initialLoad = new ServerLoad();
+      InternalDataSerializer.invokeFromData(initialLoad, in);
+      setLoadPollInterval(in.readLong());
+    }
+
+    @Override
+    public StringBuilder getToStringHeader() {
+      return new StringBuilder("BridgeServerProfile");
+    }
+
+    @Override
+    public void fillInToString(StringBuilder sb) {
+      super.fillInToString(sb);
+      if (this.groups != null) {
+        sb.append("; groups=" + Arrays.asList(this.groups));
+        sb.append("; maxConnections=" + maxConnections);
+        sb.append("; initialLoad=" + initialLoad);
+        sb.append("; loadPollInterval=" + getLoadPollInterval());
+      }
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerImpl.java
new file mode 100644
index 0000000..422711e
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/CacheServerImpl.java
@@ -0,0 +1,812 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.logging.log4j.Logger;
+
+import com.gemstone.gemfire.CancelCriterion;
+import com.gemstone.gemfire.GemFireIOException;
+import com.gemstone.gemfire.InternalGemFireError;
+import com.gemstone.gemfire.InvalidValueException;
+import com.gemstone.gemfire.cache.AttributesFactory;
+import com.gemstone.gemfire.cache.ClientSession;
+import com.gemstone.gemfire.cache.DataPolicy;
+import com.gemstone.gemfire.cache.DiskStore;
+import com.gemstone.gemfire.cache.DiskStoreFactory;
+import com.gemstone.gemfire.cache.DynamicRegionFactory;
+import com.gemstone.gemfire.cache.EvictionAction;
+import com.gemstone.gemfire.cache.ExpirationAction;
+import com.gemstone.gemfire.cache.ExpirationAttributes;
+import com.gemstone.gemfire.cache.InterestRegistrationListener;
+import com.gemstone.gemfire.cache.RegionAttributes;
+import com.gemstone.gemfire.cache.RegionExistsException;
+import com.gemstone.gemfire.cache.Scope;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
+import com.gemstone.gemfire.cache.server.ServerLoadProbe;
+import com.gemstone.gemfire.cache.server.internal.LoadMonitor;
+import com.gemstone.gemfire.cache.wan.GatewayTransportFilter;
+import com.gemstone.gemfire.distributed.DistributedMember;
+import com.gemstone.gemfire.distributed.internal.DM;
+import com.gemstone.gemfire.distributed.internal.DistributionAdvisee;
+import com.gemstone.gemfire.distributed.internal.DistributionAdvisor;
+import com.gemstone.gemfire.distributed.internal.DistributionAdvisor.Profile;
+import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
+import com.gemstone.gemfire.distributed.internal.ResourceEvent;
+import com.gemstone.gemfire.distributed.internal.ServerLocation;
+import com.gemstone.gemfire.distributed.internal.membership.MemberAttributes;
+import com.gemstone.gemfire.internal.Assert;
+import com.gemstone.gemfire.internal.OSProcess;
+import com.gemstone.gemfire.internal.admin.ClientHealthMonitoringRegion;
+import com.gemstone.gemfire.internal.cache.CacheServerAdvisor.CacheServerProfile;
+import com.gemstone.gemfire.internal.cache.ha.HARegionQueue;
+import com.gemstone.gemfire.internal.cache.tier.Acceptor;
+import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
+import com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientNotifier;
+import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
+import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
+import com.gemstone.gemfire.internal.logging.LogService;
+import com.gemstone.gemfire.internal.logging.log4j.LocalizedMessage;
+import com.gemstone.gemfire.management.membership.ClientMembership;
+import com.gemstone.gemfire.management.membership.ClientMembershipListener;
+
+/**
+ * An implementation of the <code>CacheServer</code> interface that delegates
+ * most of the heavy lifting to an {@link Acceptor}.
+ * 
+ * @author David Whitlock
+ * @since 4.0
+ */
+@SuppressWarnings("deprecation")
+public class CacheServerImpl
+  extends AbstractCacheServer
+  implements DistributionAdvisee {
+
+  private static final Logger logger = LogService.getLogger();
+  
+  private static final int FORCE_LOAD_UPDATE_FREQUENCY= Integer.getInteger("gemfire.BridgeServer.FORCE_LOAD_UPDATE_FREQUENCY", 10).intValue();
+  
+  /** The acceptor that does the actual serving */
+  private volatile AcceptorImpl acceptor;
+
+  /**
+   * The advisor used by this cache server.
+   * @since 5.7
+   */
+  private volatile CacheServerAdvisor advisor;
+
+  /**
+   * The monitor used to monitor load on this
+   * bridge server and distribute load to the locators
+   * @since 5.7
+   */
+  private volatile LoadMonitor loadMonitor;
+
+  /**
+   * boolean that represents whether this server is a GatewayReceiver or a simple BridgeServer
+   */
+  private boolean isGatewayReceiver;
+  
+  private List<GatewayTransportFilter> gatewayTransportFilters = Collections.EMPTY_LIST;
+  
+  /**
+   * Needed because this guy is an advisee
+   * @since 5.7
+   */
+  private int serialNumber; // changed on each start
+
+  public static final boolean ENABLE_NOTIFY_BY_SUBSCRIPTION_FALSE = 
+  Boolean.getBoolean("gemfire.cache-server.enable-notify-by-subscription-false");
+  
+ 
+  // ////////////////////// Constructors //////////////////////
+
+  /**
+   * Creates a new <code>BridgeServerImpl</code> that serves the contents of
+   * the give <code>Cache</code>. It has the default configuration.
+   */
+  public CacheServerImpl(GemFireCacheImpl cache, boolean isGatewayReceiver) {
+    super(cache);
+    this.isGatewayReceiver = isGatewayReceiver;
+  }
+
+  // //////////////////// Instance Methods ///////////////////
+  
+  public CancelCriterion getCancelCriterion() {
+    return cache.getCancelCriterion();    
+  }
+
+  /**
+   * Checks to see whether or not this bridge server is running. If so, an
+   * {@link IllegalStateException} is thrown.
+   */
+  private void checkRunning() {
+    if (this.isRunning()) {
+      throw new IllegalStateException(LocalizedStrings.CacheServerImpl_A_CACHE_SERVERS_CONFIGURATION_CANNOT_BE_CHANGED_ONCE_IT_IS_RUNNING.toLocalizedString());
+    }
+  }
+
+  public boolean isGatewayReceiver() {
+    return this.isGatewayReceiver;
+  }
+  
+  @Override
+  public int getPort() {
+    if (this.acceptor != null) {
+      return this.acceptor.getPort();
+    }
+    else {
+      return super.getPort();
+    }
+  }
+
+  @Override
+  public void setPort(int port) {
+    checkRunning();
+    super.setPort(port);
+  }
+
+  @Override
+  public void setBindAddress(String address) {
+    checkRunning();
+    super.setBindAddress(address);
+  }
+  @Override
+  public void setHostnameForClients(String name) {
+    checkRunning();
+    super.setHostnameForClients(name);
+  }
+
+  @Override
+  public void setMaxConnections(int maxCon) {
+    checkRunning();
+    super.setMaxConnections(maxCon);
+  }
+
+  @Override
+  public void setMaxThreads(int maxThreads) {
+    checkRunning();
+    super.setMaxThreads(maxThreads);
+  }
+
+  @Override
+  public void setNotifyBySubscription(boolean b) {
+    checkRunning();
+    if (CacheServerImpl.ENABLE_NOTIFY_BY_SUBSCRIPTION_FALSE) {
+      this.notifyBySubscription = b;
+    }
+  }
+
+  @Override
+  public void setMaximumMessageCount(int maximumMessageCount) {
+    checkRunning();
+    super.setMaximumMessageCount(maximumMessageCount);
+  }
+
+  @Override
+  public void setSocketBufferSize(int socketBufferSize) {
+    this.socketBufferSize = socketBufferSize;
+  }
+
+  @Override
+  public int getSocketBufferSize() {
+    return this.socketBufferSize;
+  }
+  
+  @Override
+  public void setMaximumTimeBetweenPings(int maximumTimeBetweenPings) {
+    this.maximumTimeBetweenPings = maximumTimeBetweenPings;
+  }
+
+  @Override
+  public int getMaximumTimeBetweenPings() {
+    return this.maximumTimeBetweenPings;
+  }
+
+
+  @Override
+  public void setLoadPollInterval(long loadPollInterval) {
+    checkRunning();
+    super.setLoadPollInterval(loadPollInterval);
+  }
+
+  @Override
+  public int getMaximumMessageCount() {
+    return this.maximumMessageCount;
+  }
+
+  @Override
+  public void setLoadProbe(ServerLoadProbe loadProbe) {
+    checkRunning();
+    super.setLoadProbe(loadProbe);
+  }
+
+  public void setGatewayTransportFilter(
+      List<GatewayTransportFilter> transportFilters) {
+    this.gatewayTransportFilters = transportFilters;
+  }
+  
+  @Override
+  public int getMessageTimeToLive() {
+    return this.messageTimeToLive;
+  }
+  
+
+  public ClientSubscriptionConfig getClientSubscriptionConfig(){
+    return this.clientSubscriptionConfig;
+  }
+
+  /**
+   * Sets the configuration of <b>this</b> <code>CacheServer</code> based on
+   * the configuration of <b>another</b> <code>CacheServer</code>.
+   */
+  public void configureFrom(CacheServer other) {
+    setPort(other.getPort());
+    setBindAddress(other.getBindAddress());
+    setHostnameForClients(other.getHostnameForClients());
+    setMaxConnections(other.getMaxConnections());
+    setMaxThreads(other.getMaxThreads());
+    setNotifyBySubscription(other.getNotifyBySubscription());
+    setSocketBufferSize(other.getSocketBufferSize());
+    setTcpNoDelay(other.getTcpNoDelay());
+    setMaximumTimeBetweenPings(other.getMaximumTimeBetweenPings());
+    setMaximumMessageCount(other.getMaximumMessageCount());
+    setMessageTimeToLive(other.getMessageTimeToLive());
+//    setTransactionTimeToLive(other.getTransactionTimeToLive());  not implemented in CacheServer for v6.6
+    setGroups(other.getGroups());
+    setLoadProbe(other.getLoadProbe());
+    setLoadPollInterval(other.getLoadPollInterval());
+    ClientSubscriptionConfig cscOther = other.getClientSubscriptionConfig();
+    ClientSubscriptionConfig cscThis = this.getClientSubscriptionConfig();
+    // added for configuration of ha overflow
+    cscThis.setEvictionPolicy(cscOther.getEvictionPolicy());
+    cscThis.setCapacity(cscOther.getCapacity());
+    String diskStoreName = cscOther.getDiskStoreName();
+    if (diskStoreName != null) {
+      cscThis.setDiskStoreName(diskStoreName);
+    } else {
+      cscThis.setOverflowDirectory(cscOther.getOverflowDirectory());
+    }
+  }
+
+  @Override
+  public synchronized void start() throws IOException {
+    Assert.assertTrue(this.cache != null);
+    boolean isSqlFabricSystem = ((GemFireCacheImpl)this.cache).isSqlfSystem();
+    
+    this.serialNumber = createSerialNumber();
+    if (DynamicRegionFactory.get().isOpen()) {
+      // force notifyBySubscription to be true so that meta info is pushed
+      // from servers to clients instead of invalidates.
+      if (!this.notifyBySubscription) {
+        logger.info(LocalizedMessage.create(LocalizedStrings.CacheServerImpl_FORCING_NOTIFYBYSUBSCRIPTION_TO_SUPPORT_DYNAMIC_REGIONS));
+        this.notifyBySubscription = true;
+      }
+    }
+    this.advisor = CacheServerAdvisor.createCacheServerAdvisor(this);
+    this.loadMonitor = new LoadMonitor(loadProbe, maxConnections,
+        loadPollInterval, FORCE_LOAD_UPDATE_FREQUENCY, 
+        advisor);
+    List overflowAttributesList = new LinkedList();
+    ClientSubscriptionConfig csc = this.getClientSubscriptionConfig();
+    overflowAttributesList.add(0, csc.getEvictionPolicy());
+    overflowAttributesList.add(1, Integer.valueOf(csc.getCapacity()));
+    overflowAttributesList.add(2, Integer.valueOf(this.port));
+    String diskStoreName = csc.getDiskStoreName();
+    if (diskStoreName != null) {
+      overflowAttributesList.add(3, diskStoreName);
+      overflowAttributesList.add(4, true); // indicator to use diskstore
+    } else {
+      overflowAttributesList.add(3, csc.getOverflowDirectory());
+      overflowAttributesList.add(4, false);
+    }
+
+    this.acceptor = new AcceptorImpl(getPort(), 
+                                     getBindAddress(),
+                                     getNotifyBySubscription(),
+                                     getSocketBufferSize(), 
+                                     getMaximumTimeBetweenPings(), 
+                                     this.cache,
+                                     getMaxConnections(), 
+                                     getMaxThreads(), 
+                                     getMaximumMessageCount(),
+                                     getMessageTimeToLive(),
+                                     getTransactionTimeToLive(),
+                                     this.loadMonitor,
+                                     overflowAttributesList, 
+                                     isSqlFabricSystem,
+                                     this.isGatewayReceiver,
+                                     this.gatewayTransportFilters, this.tcpNoDelay);
+
+    this.acceptor.start();
+    this.advisor.handshake();
+    this.loadMonitor.start(new ServerLocation(getExternalAddress(),
+        getPort()), acceptor.getStats());
+    
+    // TODO : Need to provide facility to enable/disable client health monitoring.
+    //Creating ClientHealthMonitoring region.
+    // Force initialization on current cache
+    if(cache instanceof GemFireCacheImpl) {
+      ClientHealthMonitoringRegion.getInstance((GemFireCacheImpl)cache);
+    }
+    this.cache.getLoggerI18n().config(LocalizedStrings.CacheServerImpl_CACHESERVER_CONFIGURATION___0, getConfig());
+    
+    /* 
+     * If the stopped bridge server is restarted, we'll need to re-register the 
+     * client membership listener. If the listener is already registered it 
+     * won't be registered as would the case when start() is invoked for the 
+     * first time.  
+     */
+    ClientMembershipListener[] membershipListeners = 
+                                ClientMembership.getClientMembershipListeners();
+    
+    boolean membershipListenerRegistered = false;
+    for (ClientMembershipListener membershipListener : membershipListeners) {
+      //just checking by reference as the listener instance is final
+      if (listener == membershipListener) {
+        membershipListenerRegistered = true;
+        break;
+      }
+    }
+    
+    if (!membershipListenerRegistered) {
+      ClientMembership.registerClientMembershipListener(listener);
+    }
+    
+    if (!isGatewayReceiver) {
+      InternalDistributedSystem system = ((GemFireCacheImpl) this.cache)
+          .getDistributedSystem();
+      system.handleResourceEvent(ResourceEvent.CACHE_SERVER_START, this);
+    }
+    
+  }
+
+  
+  /**
+   * Gets the address that this bridge server can be contacted on from external
+   * processes.
+   * @since 5.7
+   */
+  public String getExternalAddress() {
+    return getExternalAddress(true);
+  }
+  
+  public String getExternalAddress(boolean checkServerRunning) {
+    if (checkServerRunning) {
+      if (!this.isRunning()) {
+        String s = "A bridge server's bind address is only available if it has been started";
+        this.cache.getCancelCriterion().checkCancelInProgress(null);
+        throw new IllegalStateException(s);
+      }
+    }
+    if (this.hostnameForClients == null || this.hostnameForClients.equals("")) {
+      if (this.acceptor != null) {
+        return this.acceptor.getExternalAddress();
+      }
+      else {
+        return null;
+      }
+    }
+    else {
+      return this.hostnameForClients;
+    }
+  }
+
+  public boolean isRunning() {
+    return this.acceptor != null && this.acceptor.isRunning();
+  }
+
+  public synchronized void stop() {
+    if (!isRunning()) {
+      return;
+    }
+    
+    RuntimeException firstException = null;
+    
+    try {
+      if(this.loadMonitor != null) {
+        this.loadMonitor.stop();
+      }
+    } catch(RuntimeException e) {
+      cache.getLoggerI18n().warning(LocalizedStrings.CacheServerImpl_CACHESERVER_ERROR_CLOSING_LOAD_MONITOR, e);
+      firstException = e;
+    }
+    
+    try {
+      if (this.advisor != null) {
+        this.advisor.close();
+      }
+    } catch(RuntimeException e) {
+      cache.getLoggerI18n().warning(LocalizedStrings.CacheServerImpl_CACHESERVER_ERROR_CLOSING_ADVISOR, e);
+      firstException = e;
+    } 
+    
+    try {
+      if (this.acceptor != null) {
+        this.acceptor.close();
+      }
+    } catch(RuntimeException e) {
+      logger.warn(LocalizedMessage.create(LocalizedStrings.CacheServerImpl_CACHESERVER_ERROR_CLOSING_ACCEPTOR_MONITOR), e);
+      if (firstException != null) {
+        firstException = e;
+      }
+    }
+    
+    if(firstException != null) {
+      throw firstException;
+    }
+    
+    //TODO : We need to clean up the admin region created for client
+    //monitoring.
+    
+    // BridgeServer is still available, just not running, so we don't take
+    // it out of the cache's list...
+    // cache.removeBridgeServer(this);
+
+    /* Assuming start won't be called after stop */
+    ClientMembership.unregisterClientMembershipListener(listener);
+    
+    TXManagerImpl txMgr = (TXManagerImpl) cache.getCacheTransactionManager();
+    txMgr.removeHostedTXStatesForClients();
+    
+    if (!isGatewayReceiver) {
+      InternalDistributedSystem system = ((GemFireCacheImpl) this.cache)
+          .getDistributedSystem();
+      system.handleResourceEvent(ResourceEvent.CACHE_SERVER_STOP, this);
+    }
+
+  }
+
+  private String getConfig() {
+    ClientSubscriptionConfig csc = this.getClientSubscriptionConfig();
+    String str =
+    "port=" + getPort() + " max-connections=" + getMaxConnections()
+        + " max-threads=" + getMaxThreads() + " notify-by-subscription="
+        + getNotifyBySubscription() + " socket-buffer-size="
+        + getSocketBufferSize() + " maximum-time-between-pings="
+        + getMaximumTimeBetweenPings() + " maximum-message-count="
+        + getMaximumMessageCount() + " message-time-to-live="
+        + getMessageTimeToLive() + " eviction-policy=" + csc.getEvictionPolicy()
+        + " capacity=" + csc.getCapacity() + " overflow directory=";
+    if (csc.getDiskStoreName() != null) {
+      str += csc.getDiskStoreName();
+    } else {
+      str += csc.getOverflowDirectory(); 
+    }
+    str += 
+        " groups=" + Arrays.asList(getGroups())
+        + " loadProbe=" + loadProbe
+        + " loadPollInterval=" + loadPollInterval
+        + " tcpNoDelay=" + tcpNoDelay;
+    return str;
+  }
+
+  @Override
+  public String toString() {
+    ClientSubscriptionConfig csc = this.getClientSubscriptionConfig();
+    String str = 
+    "CacheServer on port=" + getPort() + " client subscription config policy="
+        + csc.getEvictionPolicy() + " client subscription config capacity="
+        + csc.getCapacity();
+    if (csc.getDiskStoreName() != null) {
+      str += " client subscription config overflow disk store="
+        + csc.getDiskStoreName();
+    } else {
+      str += " client subscription config overflow directory="
+        + csc.getOverflowDirectory();
+    }
+    return str;
+  }
+
+  /**
+   * Test method used to access the internal acceptor
+   * 
+   * @return the internal acceptor
+   */
+  public AcceptorImpl getAcceptor() {
+    return this.acceptor;
+  }
+
+  // DistributionAdvisee methods
+
+  public DM getDistributionManager() {
+    return getSystem().getDistributionManager();
+  }
+  
+  public ClientSession getClientSession(String durableClientId) {
+    return getCacheClientNotifier().getClientProxy(durableClientId);
+  }
+
+  public ClientSession getClientSession(DistributedMember member) {
+    return getCacheClientNotifier().getClientProxy(
+        ClientProxyMembershipID.getClientId(member));
+  }
+  
+  public Set getAllClientSessions() {
+    return new HashSet(getCacheClientNotifier().getClientProxies());
+  }
+
+  /**
+   * create client subscription
+   * 
+   * @param cache
+   * @param ePolicy
+   * @param capacity
+   * @param port
+   * @param overFlowDir
+   * @param isDiskStore
+   * @return client subscription name
+   * @since 5.7
+   */
+  public static String clientMessagesRegion(GemFireCacheImpl cache, String ePolicy,
+      int capacity, int port, String overFlowDir, boolean isDiskStore) {
+    AttributesFactory factory = getAttribFactoryForClientMessagesRegion(cache, 
+        ePolicy, capacity, overFlowDir, isDiskStore);
+    RegionAttributes attr = factory.create();
+
+    return createClientMessagesRegion(attr, cache, capacity, port);
+  }
+
+  public static AttributesFactory getAttribFactoryForClientMessagesRegion(
+      GemFireCacheImpl cache,
+      String ePolicy, int capacity, String overflowDir, boolean isDiskStore)
+      throws InvalidValueException, GemFireIOException {
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+
+    if (isDiskStore) {
+      // overflowDir parameter is actually diskstore name
+      factory.setDiskStoreName(overflowDir);
+      // client subscription queue is always overflow to disk, so do async
+      // see feature request #41479
+      factory.setDiskSynchronous(true);
+    } else if  (overflowDir == null || overflowDir.equals(ClientSubscriptionConfig.DEFAULT_OVERFLOW_DIRECTORY)) {
+      factory.setDiskStoreName(null);
+      // client subscription queue is always overflow to disk, so do async
+      // see feature request #41479
+      factory.setDiskSynchronous(true);
+    } else {
+      File dir = new File(overflowDir + File.separatorChar
+          + generateNameForClientMsgsRegion(OSProcess.getId()));
+      // This will delete the overflow directory when virtual machine terminates.
+      dir.deleteOnExit();
+      if (!dir.mkdirs() && !dir.isDirectory()) {
+        throw new GemFireIOException("Could not create client subscription overflow directory: "
+            + dir.getAbsolutePath());
+      }
+      File[] dirs = { dir };
+      DiskStoreFactory dsf = cache.createDiskStoreFactory();
+      DiskStore bsi = dsf.setAutoCompact(true)
+      .setDiskDirsAndSizes(dirs, new int[] { Integer.MAX_VALUE })
+      .create("bsi");
+      factory.setDiskStoreName("bsi");
+      // backward compatibility, it was sync
+      factory.setDiskSynchronous(true);
+    }
+    factory.setDataPolicy(DataPolicy.NORMAL);
+    // enable statistics
+    factory.setStatisticsEnabled(true);
+    /* setting LIFO related eviction attributes */
+    if (HARegionQueue.HA_EVICTION_POLICY_ENTRY.equals(ePolicy)) {
+      factory
+          .setEvictionAttributes(EvictionAttributesImpl.createLIFOEntryAttributes(
+              capacity, EvictionAction.OVERFLOW_TO_DISK));
+    }
+    else if (HARegionQueue.HA_EVICTION_POLICY_MEMORY.equals(ePolicy)) { // condition refinement
+      factory
+          .setEvictionAttributes(EvictionAttributesImpl.createLIFOMemoryAttributes(
+              capacity, EvictionAction.OVERFLOW_TO_DISK));
+    }
+    else {
+      // throw invalid eviction policy exception
+      throw new InvalidValueException(
+        LocalizedStrings.CacheServerImpl__0_INVALID_EVICTION_POLICY.toLocalizedString(ePolicy));
+    }
+    return factory;
+  }
+
+  public static String createClientMessagesRegion(RegionAttributes attr,
+      GemFireCacheImpl cache, int capacity, int port) {
+    // generating unique name in VM for ClientMessagesRegion
+    String regionName = generateNameForClientMsgsRegion(port);
+    try {
+      cache.createVMRegion(regionName, attr,
+          new InternalRegionArguments().setDestroyLockFlag(true)
+              .setRecreateFlag(false).setSnapshotInputStream(null)
+              .setImageTarget(null).setIsUsedForMetaRegion(true));
+    }
+    catch (RegionExistsException ree) {
+      InternalGemFireError assErr = new InternalGemFireError(
+          "unexpected exception");
+      assErr.initCause(ree);
+      throw assErr;
+    }
+    catch (IOException e) {
+      // only if loading snapshot, not here
+      InternalGemFireError assErr = new InternalGemFireError(
+          "unexpected exception");
+      assErr.initCause(e);
+      throw assErr;
+    }
+    catch (ClassNotFoundException e) {
+      // only if loading snapshot, not here
+      InternalGemFireError assErr = new InternalGemFireError(
+          "unexpected exception");
+      assErr.initCause(e);
+      throw assErr;
+    }
+    return regionName;
+  }
+
+  public static String createClientMessagesRegionForTesting(GemFireCacheImpl cache,
+      String ePolicy, int capacity, int port, int expiryTime, String overFlowDir, boolean isDiskStore) {
+    AttributesFactory factory = getAttribFactoryForClientMessagesRegion(cache, 
+        ePolicy, capacity, overFlowDir, isDiskStore);
+    ExpirationAttributes ea = new ExpirationAttributes(expiryTime,
+        ExpirationAction.LOCAL_INVALIDATE);
+    factory.setEntryTimeToLive(ea);
+    RegionAttributes attr = factory.create();
+
+    return createClientMessagesRegion(attr, cache, capacity, port);
+  }
+
+  /**
+   * Generates the name for the client subscription using the given id.
+   * 
+   * @param id
+   * @return String
+   * @since 5.7 
+   */
+  public static String generateNameForClientMsgsRegion(int id) {
+    return ClientSubscriptionConfigImpl.CLIENT_SUBSCRIPTION + "_" + id;
+  }
+
+  /*
+   * Marker class name to identify the lock more easily in thread dumps private
+   * static class ClientMessagesRegionLock extends Object { }
+   */
+  public DistributionAdvisor getDistributionAdvisor() {
+    return this.advisor;
+  }
+  
+  /**
+   * Returns the BridgeServerAdvisor for this server
+   */
+  public CacheServerAdvisor getCacheServerAdvisor() {
+    return this.advisor;
+  }
+  
+  public Profile getProfile() {
+    return getDistributionAdvisor().createProfile();
+  }
+  
+  public DistributionAdvisee getParentAdvisee() {
+    return null;
+  }
+  
+  /**
+   * Returns the underlying <code>InternalDistributedSystem</code> connection.
+   * @return the underlying <code>InternalDistributedSystem</code>
+   */
+  public InternalDistributedSystem getSystem() {
+    return (InternalDistributedSystem)this.cache.getDistributedSystem();
+  }
+  
+  public String getName() {
+    return "CacheServer";
+  }
+  
+  public String getFullPath() {
+    return getName();
+  }
+
+  private final static AtomicInteger profileSN = new AtomicInteger();
+  
+  private static int createSerialNumber() {
+    return profileSN.incrementAndGet();
+  }
+
+  /**
+   * Returns an array of all the groups of this bridge server.
+   * This includes those from the groups gemfire property
+   * and those explicitly added to this server.
+   */
+  public String[] getCombinedGroups() {
+    ArrayList<String> groupList = new ArrayList<String>();
+    for (String g: MemberAttributes.parseGroups(null, getSystem().getConfig().getGroups())) {
+      if (!groupList.contains(g)) {
+        groupList.add(g);
+      }
+    }
+    for (String g: getGroups()) {
+      if (!groupList.contains(g)) {
+        groupList.add(g);
+      }
+    }
+    String[] groups = new String[groupList.size()];
+    return groupList.toArray(groups);
+  }
+  
+  public /*synchronized causes deadlock*/ void fillInProfile(Profile profile) {
+    assert profile instanceof CacheServerProfile;
+    CacheServerProfile bp = (CacheServerProfile)profile;
+    bp.setHost(getExternalAddress(false));
+    bp.setPort(getPort());
+    bp.setGroups(getCombinedGroups());
+    bp.setMaxConnections(maxConnections);
+    bp.setInitialLoad(loadMonitor.getLastLoad());
+    bp.setLoadPollInterval(getLoadPollInterval());
+    bp.serialNumber = getSerialNumber();
+    bp.finishInit();
+  }
+
+  public int getSerialNumber() {
+    return this.serialNumber;
+  }
+
+  
+   protected CacheClientNotifier getCacheClientNotifier() {
+    return getAcceptor().getCacheClientNotifier();
+  } 
+   
+  /**
+   * Registers a new <code>InterestRegistrationListener</code> with the set of
+   * <code>InterestRegistrationListener</code>s.
+   * 
+   * @param listener
+   *                The <code>InterestRegistrationListener</code> to register
+   * @throws IllegalStateException if the BridgeServer has not been started
+   * @since 5.8Beta
+   */
+  public void registerInterestRegistrationListener(
+      InterestRegistrationListener listener) {
+    if (!this.isRunning()) {
+      throw new IllegalStateException(LocalizedStrings.CacheServerImpl_MUST_BE_RUNNING.toLocalizedString());
+    }
+    getCacheClientNotifier().registerInterestRegistrationListener(listener); 
+  }
+
+  /**
+   * Unregisters an existing <code>InterestRegistrationListener</code> from
+   * the set of <code>InterestRegistrationListener</code>s.
+   * 
+   * @param listener
+   *                The <code>InterestRegistrationListener</code> to
+   *                unregister
+   * 
+   * @since 5.8Beta
+   */
+  public void unregisterInterestRegistrationListener(
+      InterestRegistrationListener listener) {
+    getCacheClientNotifier().unregisterInterestRegistrationListener(listener);     
+  }
+
+  /**
+   * Returns a read-only set of <code>InterestRegistrationListener</code>s
+   * registered with this notifier.
+   * 
+   * @return a read-only set of <code>InterestRegistrationListener</code>s
+   *         registered with this notifier
+   * 
+   * @since 5.8Beta
+   */
+  public Set getInterestRegistrationListeners() {
+    return getCacheClientNotifier().getInterestRegistrationListeners(); 
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientRegionEventImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientRegionEventImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientRegionEventImpl.java
new file mode 100755
index 0000000..176ddcb
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientRegionEventImpl.java
@@ -0,0 +1,108 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+
+package com.gemstone.gemfire.internal.cache;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import com.gemstone.gemfire.DataSerializer;
+import com.gemstone.gemfire.cache.Operation;
+import com.gemstone.gemfire.distributed.DistributedMember;
+import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
+
+//import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
+
+/**
+ * Class <code>ClientRegionEventImpl</code> is a
+ * region event with the client's
+ * host and port for notification purposes.
+ * 
+ * @author Girish Thombare
+ * 
+ * @since 5.1
+ */
+public final class ClientRegionEventImpl extends RegionEventImpl
+  {
+
+  /**
+   * The originating membershipId of this event.
+   */
+  private  ClientProxyMembershipID context;
+
+  public ClientRegionEventImpl() {
+  }
+  
+  /**
+   * To be called from the Distributed Message without setting EventID
+   * @param region
+   * @param op
+   * @param callbackArgument
+   * @param originRemote
+   * @param distributedMember
+   */
+  public ClientRegionEventImpl(LocalRegion region, Operation op, Object callbackArgument,boolean originRemote, DistributedMember distributedMember,ClientProxyMembershipID contx) {
+    super(region, op,callbackArgument, originRemote,distributedMember);
+    setContext(contx);
+  }
+
+  public ClientRegionEventImpl(LocalRegion region, Operation op, Object callbackArgument,boolean originRemote, DistributedMember distributedMember,ClientProxyMembershipID contx,EventID eventId) {
+      super(region, op,callbackArgument, originRemote,distributedMember, eventId);
+      setContext(contx);
+  }
+
+
+  /**
+   * sets The membershipId originating this event
+   *  
+   */
+  protected void setContext(ClientProxyMembershipID contx)
+  {
+    this.context = contx;
+  }
+
+  /**
+   * Returns The context originating this event
+   * 
+   * @return The context originating this event
+   */
+  @Override
+  public ClientProxyMembershipID getContext()
+  {
+    return this.context;
+  }
+
+  @Override
+  public String toString()
+  {
+    String superStr = super.toString();
+    StringBuffer buffer = new StringBuffer();
+    String str = superStr.substring(0, superStr.length() - 1);
+    buffer.append(str).append(";context=").append(getContext()).append(']');
+    return buffer.toString();
+  }
+
+  @Override
+  public int getDSFID() {
+    return CLIENT_REGION_EVENT;
+  }
+
+  @Override
+  public void toData(DataOutput out) throws IOException
+  {
+    super.toData(out);
+    DataSerializer.writeObject(getContext(), out);
+  }
+
+  @Override
+  public void fromData(DataInput in) throws IOException, ClassNotFoundException
+  {
+    super.fromData(in);
+    setContext(ClientProxyMembershipID.readCanonicalized(in));
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserver.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserver.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserver.java
new file mode 100755
index 0000000..0646f04
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserver.java
@@ -0,0 +1,90 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache;
+
+import com.gemstone.gemfire.distributed.internal.ServerLocation;
+import com.gemstone.gemfire.internal.cache.tier.sockets.Message;
+
+/**
+ * This interface is used by testing/debugging code to be notified of different
+ * client/server events.
+ * See the documentation for class ClientServerObserverHolder for details.
+ * 
+ * @author Yogesh Mahajan
+ * @since 5.1
+ *  
+ */
+public interface ClientServerObserver
+{
+  /**
+   * This callback is called when now primary Ep is identified.
+   */
+  public void afterPrimaryIdentificationFromBackup(ServerLocation location);
+
+  /**
+   * This callback is called just before interest registartion
+   */
+  public void beforeInterestRegistration();
+
+  /**
+   * This callback is called just after interest registartion
+   */
+  public void afterInterestRegistration();
+
+  /**
+   * This callback is called just before primary identification
+   */
+  public void beforePrimaryIdentificationFromBackup();
+
+  /**
+   * This callback is called just before Interest Recovery by DSM thread happens
+   */
+  public void beforeInterestRecovery();
+  
+  /**
+   * Invoked by CacheClientUpdater just before invoking endpointDied for
+   * fail over
+   * @param location ServerLocation which has failed
+   */
+  public void beforeFailoverByCacheClientUpdater(ServerLocation location);
+  /**
+   * Invoked before sending an instantiator message to server
+   * 
+   * @param eventId
+   */
+  public void beforeSendingToServer(EventID eventId);
+  /**
+   * Invoked after sending an instantiator message to server 
+   * 
+   * @param eventId
+   */
+  public void afterReceivingFromServer(EventID eventId);
+
+  /**
+   * This callback is called just before sending client ack to the primary servrer.
+   */
+   public void beforeSendingClientAck();  
+
+   /**
+    * Invoked after Message is created
+    *
+    * @param msg
+    */
+   public void afterMessageCreation(Message msg);
+   
+   /**
+    * Invoked after Queue Destroy Message has been sent
+    */
+   public void afterQueueDestroyMessage();
+   
+   /**
+    * Invoked after a primary is recovered from a backup or new connection. 
+    */
+   public void afterPrimaryRecovered(ServerLocation location);
+   
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverAdapter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverAdapter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverAdapter.java
new file mode 100755
index 0000000..094bb58
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverAdapter.java
@@ -0,0 +1,107 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache;
+
+import com.gemstone.gemfire.distributed.internal.ServerLocation;
+import com.gemstone.gemfire.internal.cache.tier.sockets.Message;
+
+/**
+ * This class provides 'do-nothing' implementations of all of the methods of
+ * interface ClientServerObserver. See the documentation for class
+ * ClientServerObserverHolder for details.
+ * 
+ * @author Yogesh Mahajan
+ * @since 5.1
+ */
+public class ClientServerObserverAdapter implements ClientServerObserver
+{
+  /**
+   * This callback is called when now primary Ep is identified.
+   */
+  public void afterPrimaryIdentificationFromBackup(ServerLocation primaryEndpoint)
+  {
+  }
+
+  /**
+   * This callback is called just before interest registartion
+   */
+  public void beforeInterestRegistration()
+  {
+  }
+
+  /**
+   * This callback is called just after interest registartion
+   */
+  public void afterInterestRegistration()
+  {
+  }
+
+  /**
+   * This callback is called just before primary identification
+   */
+  public void beforePrimaryIdentificationFromBackup()
+  {
+  }
+
+  /**
+   * This callback is called just before Interest Recovery by DSM thread happens
+   */
+  public void beforeInterestRecovery()
+  {
+
+  }
+
+  public void beforeFailoverByCacheClientUpdater(ServerLocation epFailed)
+  {
+  }
+  /**
+   * Invoked before sending an instantiator message to server
+   * 
+   * @param eventId
+   */
+  public void beforeSendingToServer(EventID eventId){
+    
+  }
+  /**
+   * Invoked after sending an instantiator message to server 
+   * 
+   * @param eventId
+   */
+  public void afterReceivingFromServer(EventID eventId){
+    
+  }
+  
+  /**
+   * This callback is called just before sending client ack to the primary servrer.
+   */
+  public void beforeSendingClientAck(){
+    
+  }  
+
+  /**
+   * Invoked after Message is created
+   *
+   * @param msg
+   */
+  public void afterMessageCreation(Message msg){
+  
+  }
+  
+  /**
+   * Invoked after Queue Destroy Message has been sent
+   */
+  public void afterQueueDestroyMessage(){
+    
+  }
+  
+  /**
+   * Invoked after a primary is recovered from a backup or new connection. 
+   */
+  public void afterPrimaryRecovered(ServerLocation location) {
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverHolder.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverHolder.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverHolder.java
new file mode 100755
index 0000000..003852b
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ClientServerObserverHolder.java
@@ -0,0 +1,53 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache;
+
+import com.gemstone.gemfire.cache.query.internal.Support;
+
+/**
+ * This class is intended to hold a single 'observer' which will receive
+ * callbacks. There can be only one such observer at a time. If no observer is
+ * needed, this member variable should point to an object with 'do-nothing'
+ * methods, such as ClientServerObserverAdapter.
+ * 
+ * @author Yogesh Mahajan
+ * @since 5.1
+ */
+public class ClientServerObserverHolder
+  {
+
+  /**
+   * The default 'do-nothing' bridge observer *
+   */
+  private static final ClientServerObserver NO_OBSERVER = new ClientServerObserverAdapter();
+
+  /**
+   * The current observer which will be notified of all query events.
+   */
+  private static ClientServerObserver _instance = NO_OBSERVER;
+
+  /**
+   * Set the given observer to be notified of events. Returns the current
+   * observer.
+   */
+  public static final ClientServerObserver setInstance(ClientServerObserver observer)
+  {
+    Support.assertArg(observer != null,
+        "setInstance expects a non-null argument!");
+    ClientServerObserver oldObserver = _instance;
+    _instance = observer;
+    return oldObserver;
+  }
+
+  /** Return the current BridgeObserver instance */
+  public static final ClientServerObserver getInstance()
+  {
+    return _instance;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DestroyRegionOperation.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DestroyRegionOperation.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DestroyRegionOperation.java
index 921cbf9..198803d 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DestroyRegionOperation.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DestroyRegionOperation.java
@@ -105,9 +105,9 @@ public class DestroyRegionOperation extends DistributedCacheOperation {
   protected CacheOperationMessage createMessage()
   {
     DestroyRegionMessage mssg;
-    if (this.event instanceof BridgeRegionEventImpl) {
+    if (this.event instanceof ClientRegionEventImpl) {
       mssg = new DestroyRegionWithContextMessage();
-      ((DestroyRegionWithContextMessage)mssg).context = ((BridgeRegionEventImpl)this.event)
+      ((DestroyRegionWithContextMessage)mssg).context = ((ClientRegionEventImpl)this.event)
           .getContext();
     }
     else {
@@ -502,7 +502,7 @@ public class DestroyRegionOperation extends DistributedCacheOperation {
     @Override
     final public RegionEventImpl createRegionEvent(DistributedRegion rgn)
     {
-      BridgeRegionEventImpl event = new BridgeRegionEventImpl(rgn,
+      ClientRegionEventImpl event = new ClientRegionEventImpl(rgn,
           getOperation(), this.callbackArg, true /* originRemote */,
           getSender(), (ClientProxyMembershipID)this.context);
       return event;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedClearOperation.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedClearOperation.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedClearOperation.java
index 4dbc9c4..8056120 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedClearOperation.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedClearOperation.java
@@ -128,9 +128,9 @@ public class DistributedClearOperation extends DistributedCacheOperation
   protected CacheOperationMessage createMessage()
   {
     ClearRegionMessage mssg;
-    if (this.event instanceof BridgeRegionEventImpl) {
+    if (this.event instanceof ClientRegionEventImpl) {
       mssg = new ClearRegionWithContextMessage();
-      ((ClearRegionWithContextMessage)mssg).context = ((BridgeRegionEventImpl)this.event)
+      ((ClearRegionWithContextMessage)mssg).context = ((ClientRegionEventImpl)this.event)
           .getContext();
 
     }
@@ -271,7 +271,7 @@ public class DistributedClearOperation extends DistributedCacheOperation
     final public RegionEventImpl createRegionEvent(DistributedRegion rgn)
     {
       
-      BridgeRegionEventImpl event = new BridgeRegionEventImpl(rgn,
+      ClientRegionEventImpl event = new ClientRegionEventImpl(rgn,
           getOperation(), this.callbackArg, true /* originRemote */,
           getSender(), (ClientProxyMembershipID)this.context);
       return event;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
index 790dc4d..77fbc88 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
@@ -2893,9 +2893,6 @@ public class DistributedRegion extends LocalRegion implements
   protected void cacheWriterChanged(CacheWriter oldWriter)
   {
     super.cacheWriterChanged(oldWriter);
-    if (isBridgeWriter(oldWriter)) {
-      oldWriter = null;
-    }
     if (oldWriter == null ^ basicGetWriter() == null) {
       new UpdateAttributesProcessor(this).distribute();
     }
@@ -2905,9 +2902,6 @@ public class DistributedRegion extends LocalRegion implements
   protected void cacheLoaderChanged(CacheLoader oldLoader)
   {
     super.cacheLoaderChanged(oldLoader);
-    if (isBridgeLoader(oldLoader)) {
-      oldLoader = null;
-    }
     if (oldLoader == null ^ basicGetLoader() == null) {
       new UpdateAttributesProcessor(this).distribute();
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ExpiryTask.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ExpiryTask.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ExpiryTask.java
index 5c428b2..357c0a8 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ExpiryTask.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ExpiryTask.java
@@ -28,7 +28,6 @@ import com.gemstone.gemfire.cache.EntryNotFoundException;
 import com.gemstone.gemfire.cache.ExpirationAction;
 import com.gemstone.gemfire.cache.ExpirationAttributes;
 import com.gemstone.gemfire.cache.RegionDestroyedException;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.distributed.internal.PooledExecutorWithDMStats;
 import com.gemstone.gemfire.internal.SystemTimer;
@@ -364,23 +363,6 @@ public abstract class ExpiryTask extends SystemTimer.SystemTimerTask {
     } 
     catch (CancelException ex) {
       // ignore
-
-      // @todo grid: do we need to deal with pool exceptions here?
-     } catch (BridgeWriterException ex) {
-       // Some exceptions from the bridge writer should not be logged.
-       Throwable cause = ex.getCause();
-       // BridgeWriterExceptions from the server are wrapped in CacheWriterExceptions
-       if (cause != null && cause instanceof CacheWriterException)
-           cause = cause.getCause();
-       if (cause instanceof RegionDestroyedException ||
-           cause instanceof EntryNotFoundException ||
-           cause instanceof CancelException) {
-         if (logger.isDebugEnabled()) {
-           logger.debug("Exception in expiration task", ex);
-         }
-       } else {
-         logger.fatal(LocalizedMessage.create(LocalizedStrings.ExpiryTask_EXCEPTION_IN_EXPIRATION_TASK), ex);
-       }
     } 
      catch (VirtualMachineError err) {
        SystemFailure.initiateFailure(err);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/FindDurableQueueProcessor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/FindDurableQueueProcessor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/FindDurableQueueProcessor.java
index 1366f94..8d782a9 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/FindDurableQueueProcessor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/FindDurableQueueProcessor.java
@@ -76,11 +76,11 @@ public class FindDurableQueueProcessor extends ReplyProcessor21 {
   private static void findLocalDurableQueues(ClientProxyMembershipID proxyId, ArrayList<ServerLocation> matches) {
     Cache c = GemFireCacheImpl.getInstance();
     if(c!=null) {
-      List l = c.getBridgeServers();
+      List l = c.getCacheServers();
       if(l!=null) {
         Iterator i = l.iterator();
         while(i.hasNext()) {
-          BridgeServerImpl bs = (BridgeServerImpl)i.next();
+          CacheServerImpl bs = (CacheServerImpl)i.next();
           if(bs.getAcceptor().getCacheClientNotifier().getClientProxy(proxyId)!=null) {
             ServerLocation loc = new ServerLocation(bs.getExternalAddress(),bs.getPort());
             matches.add(loc);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
index 79bcbc2..4bf0f42 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
@@ -136,7 +136,6 @@ import com.gemstone.gemfire.cache.query.internal.cq.CqService;
 import com.gemstone.gemfire.cache.query.internal.cq.CqServiceProvider;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.snapshot.CacheSnapshotService;
-import com.gemstone.gemfire.cache.util.BridgeServer;
 import com.gemstone.gemfire.cache.util.GatewayConflictResolver;
 import com.gemstone.gemfire.cache.util.ObjectSizer;
 import com.gemstone.gemfire.cache.wan.GatewayReceiver;
@@ -371,11 +370,11 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
   private volatile DistributionAdvisee sqlfAdvisee;
 
   /**
-   * the list of all bridge servers. CopyOnWriteArrayList is used to allow concurrent add, remove and retrieval
-   * operations. It is assumed that the traversal operations on bridge servers list vastly outnumber the mutative
+   * the list of all cache servers. CopyOnWriteArrayList is used to allow concurrent add, remove and retrieval
+   * operations. It is assumed that the traversal operations on cache servers list vastly outnumber the mutative
    * operations such as add, remove.
    */
-  private volatile List allBridgeServers = new CopyOnWriteArrayList();
+  private volatile List allCacheServers = new CopyOnWriteArrayList();
 
   /**
    * Controls updates to the list of all gateway senders
@@ -664,7 +663,7 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
     sb.append("; lockLease = " + this.lockLease);
     sb.append("; lockTimeout = " + this.lockTimeout);
     // sb.append("; rootRegions = (" + this.rootRegions + ")");
-    // sb.append("; bridgeServers = (" + this.bridgeServers + ")");
+    // sb.append("; cacheServers = (" + this.cacheServers + ")");
     // sb.append("; regionAttributes = (" + this.listRegionAttributes());
     // sb.append("; gatewayHub = " + gatewayHub);
     if (this.creationStack != null) {
@@ -1513,7 +1512,7 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
   }
 
   /**
-   * Close the distributed system, bridge servers, and gateways. Clears the rootRegions and partitionedRegions map.
+   * Close the distributed system, cache servers, and gateways. Clears the rootRegions and partitionedRegions map.
    * Marks the cache as closed.
    *
    * @see SystemFailure#emergencyClose()
@@ -1546,14 +1545,14 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
     inst.disconnectCause = SystemFailure.getFailure();
     inst.isClosing = true;
 
-    // Clear bridge servers
+    // Clear cache servers
     if (DEBUG) {
-      System.err.println("DEBUG: Close bridge servers");
+      System.err.println("DEBUG: Close cache servers");
     }
     {
-      Iterator allBridgeServersItr = inst.allBridgeServers.iterator();
-      while (allBridgeServersItr.hasNext()) {
-        BridgeServerImpl bs = (BridgeServerImpl) allBridgeServersItr.next();
+      Iterator allCacheServersItr = inst.allCacheServers.iterator();
+      while (allCacheServersItr.hasNext()) {
+        CacheServerImpl bs = (CacheServerImpl) allCacheServersItr.next();
         AcceptorImpl ai = bs.getAcceptor();
         if (ai != null) {
           ai.emergencyClose();
@@ -1986,7 +1985,6 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
       TXStateProxy tx = null;
       try {
         this.keepAlive = keepalive;
-        PoolManagerImpl.setKeepAlive(keepalive);
 
         if (this.txMgr != null) {
           tx = this.txMgr.internalSuspend();
@@ -2044,7 +2042,7 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
           stopRedisServer();
 
           // no need to track PR instances since we won't create any more
-          // bridgeServers or gatewayHubs
+          // cacheServers or gatewayHubs
           if (this.partitionedRegions != null) {
             if (isDebugEnabled) {
               logger.debug("{}: clearing partitioned regions...", this);
@@ -2616,12 +2614,12 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
     final boolean isDebugEnabled = logger.isDebugEnabled();
     
     if (isDebugEnabled) {
-      logger.debug("{}: stopping bridge servers...", this);
+      logger.debug("{}: stopping cache servers...", this);
     }
-    boolean stoppedBridgeServer = false;
-    Iterator allBridgeServersIterator = this.allBridgeServers.iterator();
-    while (allBridgeServersIterator.hasNext()) {
-      BridgeServerImpl bridge = (BridgeServerImpl) allBridgeServersIterator.next();
+    boolean stoppedCacheServer = false;
+    Iterator allCacheServersIterator = this.allCacheServers.iterator();
+    while (allCacheServersIterator.hasNext()) {
+      CacheServerImpl bridge = (CacheServerImpl) allCacheServersIterator.next();
       if (isDebugEnabled) {
         logger.debug("stopping bridge {}", bridge);
       }
@@ -2632,11 +2630,11 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
           logger.debug("Ignored cache closure while closing bridge {}", bridge, e);
         }
       }
-      allBridgeServers.remove(bridge);
-      stoppedBridgeServer = true;
+      allCacheServers.remove(bridge);
+      stoppedCacheServer = true;
     }
-    if (stoppedBridgeServer) {
-      // now that all the bridge servers have stopped empty the static pool of commBuffers it might have used.
+    if (stoppedCacheServer) {
+      // now that all the cache servers have stopped empty the static pool of commBuffers it might have used.
       ServerConnection.emptyCommBufferPool();
     }
     
@@ -3784,10 +3782,6 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
     return this.eventThreadPool;
   }
 
-  public BridgeServer addBridgeServer() {
-    return (BridgeServer) addCacheServer();
-  }
-
   public CacheServer addCacheServer() {
     return addCacheServer(false);
   }
@@ -3798,8 +3792,8 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
     }
     stopper.checkCancelInProgress(null);
 
-    BridgeServerImpl bridge = new BridgeServerImpl(this, isGatewayReceiver);
-    allBridgeServers.add(bridge);
+    CacheServerImpl bridge = new CacheServerImpl(this, isGatewayReceiver);
+    allCacheServers.add(bridge);
 
     sendAddCacheServerProfileMessage();
     return bridge;
@@ -3972,33 +3966,29 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
     }
   }
 
-  public List getBridgeServers() {
-    return getCacheServers();
-  }
-
   public List getCacheServers() {
-    List bridgeServersWithoutReceiver = null;
-    if (!allBridgeServers.isEmpty()) {
-    Iterator allBridgeServersIterator = allBridgeServers.iterator();
-    while (allBridgeServersIterator.hasNext()) {
-      BridgeServerImpl bridgeServer = (BridgeServerImpl) allBridgeServersIterator.next();
-      // If BridgeServer is a GatewayReceiver, don't return as part of CacheServers
-      if (!bridgeServer.isGatewayReceiver()) {
-        if (bridgeServersWithoutReceiver == null) {
-          bridgeServersWithoutReceiver = new ArrayList();
+    List cacheServersWithoutReceiver = null;
+    if (!allCacheServers.isEmpty()) {
+    Iterator allCacheServersIterator = allCacheServers.iterator();
+    while (allCacheServersIterator.hasNext()) {
+      CacheServerImpl cacheServer = (CacheServerImpl) allCacheServersIterator.next();
+      // If CacheServer is a GatewayReceiver, don't return as part of CacheServers
+      if (!cacheServer.isGatewayReceiver()) {
+        if (cacheServersWithoutReceiver == null) {
+          cacheServersWithoutReceiver = new ArrayList();
         }
-        bridgeServersWithoutReceiver.add(bridgeServer);
+        cacheServersWithoutReceiver.add(cacheServer);
       }
     }
     }
-    if (bridgeServersWithoutReceiver == null) {
-      bridgeServersWithoutReceiver = Collections.emptyList();
+    if (cacheServersWithoutReceiver == null) {
+      cacheServersWithoutReceiver = Collections.emptyList();
     }
-    return bridgeServersWithoutReceiver;
+    return cacheServersWithoutReceiver;
   }
 
-  public List getBridgeServersAndGatewayReceiver() {
-    return allBridgeServers;
+  public List getCacheServersAndGatewayReceiver() {
+    return allCacheServers;
   }
 
   /**
@@ -4126,9 +4116,9 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
       boolean hasSerialSenders = hasSerialSenders(r);
       boolean result = hasSerialSenders;
       if (!result) {
-        Iterator allBridgeServersIterator = allBridgeServers.iterator();
-        while (allBridgeServersIterator.hasNext()) {
-          BridgeServerImpl server = (BridgeServerImpl) allBridgeServersIterator.next();
+        Iterator allCacheServersIterator = allCacheServers.iterator();
+        while (allCacheServersIterator.hasNext()) {
+          CacheServerImpl server = (CacheServerImpl) allCacheServersIterator.next();
           if (!server.getNotifyBySubscription()) {
             result = true;
             break;
@@ -4182,7 +4172,7 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
     stopper.checkCancelInProgress(null);
 
     if (!this.isServer) {
-      return (this.allBridgeServers.size() > 0);
+      return (this.allCacheServers.size() > 0);
     } else {
       return true;
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GridAdvisor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GridAdvisor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GridAdvisor.java
index acafd6d..13d6068 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GridAdvisor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/GridAdvisor.java
@@ -45,7 +45,7 @@ public abstract class GridAdvisor extends DistributionAdvisor {
 
   private static final Filter BRIDGE_SERVER_FILTER = new Filter() {
       public boolean include(Profile profile) {
-        return profile instanceof BridgeServerAdvisor.BridgeServerProfile;
+        return profile instanceof CacheServerAdvisor.CacheServerProfile;
       }
     };
   
@@ -327,9 +327,9 @@ public abstract class GridAdvisor extends DistributionAdvisor {
         boolean exchangeProfiles, final List<Profile> replyProfiles) {
       final GemFireCacheImpl cache = GemFireCacheImpl.getInstance();
       if (cache != null && !cache.isClosed()) {
-        List<?> bridgeServers = cache.getBridgeServersAndGatewayReceiver();
+        List<?> bridgeServers = cache.getCacheServersAndGatewayReceiver();
         for (int i = 0; i < bridgeServers.size(); i++) {
-          BridgeServerImpl bsi = (BridgeServerImpl)bridgeServers.get(i);
+          CacheServerImpl bsi = (CacheServerImpl)bridgeServers.get(i);
           if (bsi.isRunning()) {
             if(bsi.getProfile().equals(this)) {
               continue;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java
index 7c1ec89..9e5bcd2 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/LocalRegion.java
@@ -100,7 +100,6 @@ import com.gemstone.gemfire.cache.TransactionId;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.ServerOperationException;
 import com.gemstone.gemfire.cache.client.SubscriptionNotEnabledException;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.Endpoint;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
@@ -134,7 +133,6 @@ import com.gemstone.gemfire.cache.query.internal.index.IndexCreationData;
 import com.gemstone.gemfire.cache.query.internal.index.IndexManager;
 import com.gemstone.gemfire.cache.query.internal.index.IndexProtocol;
 import com.gemstone.gemfire.cache.query.internal.index.IndexUtils;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
 import com.gemstone.gemfire.cache.util.ObjectSizer;
 import com.gemstone.gemfire.cache.wan.GatewaySender;
 import com.gemstone.gemfire.distributed.DistributedMember;
@@ -674,9 +672,7 @@ public class LocalRegion extends AbstractRegion
     }
     
     // initialize client to server proxy
-    this.srp = ((this.getPoolName() != null)
-                || isBridgeLoader(this.getCacheLoader())
-                || isBridgeWriter(this.getCacheWriter()))
+    this.srp = (this.getPoolName() != null)
       ? new ServerRegionProxy(this)
       : null;
     this.imageState =
@@ -3986,22 +3982,6 @@ public class LocalRegion extends AbstractRegion
     reinitialize(inputStream, event);
   }
 
-//   public void createRegionOnServer() throws CacheWriterException
-//   {
-//     if (basicGetWriter() instanceof BridgeWriter) {
-//       if (getParentRegion() != null) {
-//         BridgeWriter bw = (BridgeWriter)basicGetWriter();
-//         bw.createRegionOnServer(getParentRegion().getFullPath(), getName());
-//       }
-//       else {
-//        throw new CacheWriterException(LocalizedStrings.LocalRegion_REGION_0_IS_A_ROOT_REGION_ONLY_NONROOT_REGIONS_CAN_BE_CREATED_ON_THE_SERVER.toLocalizedString(getFullPath()));
-//       }
-//     }
-//     else {
-//      throw new CacheWriterException(LocalizedStrings.LocalRegion_SERVER_REGION_CREATION_IS_ONLY_SUPPORTED_ON_CLIENT_SERVER_TOPOLOGIES_THE_CURRENT_CACHEWRITER_IS_0.toLocalizedString(this.cacheWriter));
-//     }
-//   }
-
   public void registerInterest(Object key)
   {
     registerInterest(key, false);
@@ -4068,13 +4048,8 @@ public class LocalRegion extends AbstractRegion
       throw new IllegalStateException(LocalizedStrings.LocalRegion_DURABLE_FLAG_ONLY_APPLICABLE_FOR_DURABLE_CLIENTS.toLocalizedString());
     }
     if (!proxy.getPool().getSubscriptionEnabled()) {
-      if (proxy.getPool() instanceof BridgePoolImpl) {
-        String msg = "Interest registration requires establishCallbackConnection to be set to true.";
-        throw new BridgeWriterException(msg);
-      } else {
-        String msg = "Interest registration requires a pool whose queue is enabled.";
-        throw new SubscriptionNotEnabledException(msg);
-      }
+      String msg = "Interest registration requires a pool whose queue is enabled.";
+      throw new SubscriptionNotEnabledException(msg);
     }
 
     if (getAttributes().getDataPolicy().withReplication() // fix for bug 36185
@@ -4101,7 +4076,7 @@ public class LocalRegion extends AbstractRegion
       this.clearKeysOfInterest(key, interestType, pol);
       // Checking for the Dunit test(testRegisterInterst_Destroy_Concurrent) flag
       if (PoolImpl.BEFORE_REGISTER_CALLBACK_FLAG) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.beforeInterestRegistration();
       }// Test Code Ends
       final byte regionDataPolicy = getAttributes().getDataPolicy().ordinal;
@@ -9786,7 +9761,7 @@ public class LocalRegion extends AbstractRegion
       }
     }
 
-    RegionEventImpl event = new BridgeRegionEventImpl(this, Operation.REGION_DESTROY,
+    RegionEventImpl event = new ClientRegionEventImpl(this, Operation.REGION_DESTROY,
          callbackArg,false, client.getDistributedMember(), client/* context */, eventId);
 
     basicDestroyRegion(event, true);
@@ -9811,7 +9786,7 @@ public class LocalRegion extends AbstractRegion
       }
     }
 
-    RegionEventImpl event = new BridgeRegionEventImpl(this, Operation.REGION_CLEAR,
+    RegionEventImpl event = new ClientRegionEventImpl(this, Operation.REGION_CLEAR,
          callbackArg,false, client.getDistributedMember(), client/* context */, eventId);
 
     basicClear(event, true);
@@ -11310,7 +11285,7 @@ public class LocalRegion extends AbstractRegion
    */
   protected boolean shouldNotifyBridgeClients()
   {
-    return (this.cache.getBridgeServers().size() > 0)
+    return (this.cache.getCacheServers().size() > 0)
         && !this.isUsedForPartitionedRegionAdmin
         && !this.isUsedForPartitionedRegionBucket
         && !this.isUsedForMetaRegion;
@@ -11444,7 +11419,7 @@ public class LocalRegion extends AbstractRegion
       predicate = predicate.trim();
 
       // Compare the query patterns to the 'predicate'. If one matches,
-      // send it as is to the BridgeLoader
+      // send it as is to the server
       boolean matches = false;
       for (int i=0; i<QUERY_PATTERNS.length; i++) {
         if (QUERY_PATTERNS[i].matcher(predicate).matches()) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
index c007891..629c5a4 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
@@ -5457,9 +5457,6 @@ public class PartitionedRegion extends LocalRegion implements
   protected void cacheWriterChanged(CacheWriter p_oldWriter) {
     CacheWriter oldWriter = p_oldWriter;
     super.cacheWriterChanged(oldWriter);
-    if (isBridgeWriter(oldWriter)) {
-      oldWriter = null;
-    }
     if (oldWriter == null ^ basicGetWriter() == null) {
       new UpdateAttributesProcessor(this).distribute();
     }
@@ -5469,9 +5466,6 @@ public class PartitionedRegion extends LocalRegion implements
   @Override
   protected void cacheLoaderChanged(CacheLoader oldLoader) {
     CacheLoader myOldLoader = oldLoader;
-    if (isBridgeLoader(oldLoader)) {
-      myOldLoader = null;
-    }
     this.dataStore.cacheLoaderChanged(basicGetLoader(), myOldLoader);
     super.cacheLoaderChanged(oldLoader);
     if (myOldLoader == null ^ basicGetLoader() == null) {
@@ -5902,7 +5896,7 @@ public class PartitionedRegion extends LocalRegion implements
     Collections.addAll(localServerGroups, MemberAttributes.parseGroups(null, c.getSystem().getConfig().getGroups()));
     
     for (Object object : servers) {
-      BridgeServerImpl server = (BridgeServerImpl)object;
+      CacheServerImpl server = (CacheServerImpl)object;
       if (server.isRunning() && (server.getExternalAddress() != null)) {
         Collections.addAll(localServerGroups, server.getGroups());
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolFactoryImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolFactoryImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolFactoryImpl.java
index 4569184..0838d29 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolFactoryImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolFactoryImpl.java
@@ -27,8 +27,6 @@ import com.gemstone.gemfire.cache.CacheException;
 import com.gemstone.gemfire.cache.RegionService;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolFactory;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl.LBPolicy;
 import com.gemstone.gemfire.cache.client.internal.LocatorDiscoveryCallback;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.query.QueryService;
@@ -286,141 +284,14 @@ public class PoolFactoryImpl implements PoolFactory {
     this.attributes.servers.addAll(cp.getServers());
   }
 
-  public void init(Properties properties, boolean usedByBridgeWriter,
-      boolean usedByGateway, GatewaySender sender) {
+  public void init(GatewaySender sender) {
+    this.attributes.setGateway(true);
     this.attributes.setGatewaySender(sender);
-    init(properties, usedByBridgeWriter, usedByGateway);
-  }
-  /**
-   * Used to create a pool given the old Bridge properties
-   * @param properties from a BridgeWriter or BridgeLoader
-   * @param usedByBridgeWriter true  if props from BridgeWriter;
-   *                           false if props from BridgeLoader.
-   * *param usedByGateway true if props from GatewayImpl.
-   * @since 5.7
-   */
-  public void init(Properties properties, boolean usedByBridgeWriter,
-                   boolean usedByGateway) {
-    this.attributes.setBridge(usedByBridgeWriter || !usedByGateway);
-    this.attributes.setBridgeWriter(usedByBridgeWriter);
-    this.attributes.setGateway(usedByGateway);
     setIdleTimeout(-1); // never time out
     setLoadConditioningInterval(-1); // never time out
     setMaxConnections(-1);
-    int endpointCount = 0;
-    boolean useLocators = false;
-    boolean useEndPoints = false;
-    IllegalArgumentException exception = null;
-    if (properties.containsKey(DistributionConfig.LOCATORS_NAME)) {
-      String locatorObject = properties
-          .getProperty(DistributionConfig.LOCATORS_NAME);
-      if (locatorObject != null && !locatorObject.equals("")) {
-        StringTokenizer locatorsOnThisVM = new StringTokenizer(locatorObject, ",");
-        while (locatorsOnThisVM.hasMoreTokens()) {
-          String localLocator = locatorsOnThisVM.nextToken();
-          DistributionLocatorId locatorId = new DistributionLocatorId(
-              localLocator);
-          addLocator(locatorId.getHost().getHostName(), locatorId.getPort());
-        }
-        useLocators = true;
-      }
-    }
-    if (!useLocators && properties.containsKey("endpoints")) {
-      useEndPoints = true;
-      String pv = properties.getProperty("endpoints");
-      StringTokenizer tokenizer = new StringTokenizer(pv, ",");
-      while (tokenizer.hasMoreTokens()) {
-        String serverdetail = tokenizer.nextToken();
-        int cIndex = serverdetail.indexOf("=");
-        // note we throw the name away
-//         String name = serverdetail.substring(0, cIndex);
-//         if (name != null) {
-//           name = name.trim();
-//         }
-        String remainder = serverdetail.substring(cIndex + 1);
-        cIndex = remainder.lastIndexOf(":");
-        String host = remainder.substring(0, cIndex);
-        if (host != null) {
-          host = host.trim();
-        }
-        String port = remainder.substring(cIndex + 1);
-        if (port != null) {
-          port = port.trim();
-        }
-        try {
-          addServer(host, Integer.parseInt(port));
-          endpointCount++;
-        } catch (IllegalArgumentException e) {
-          if (!(e.getCause() instanceof UnknownHostException)) {
-            throw e;
-          } else {
-            exception = e;
-          }
-        }
-      }
-      if ((endpointCount == 0) && (exception != null)) {
-        IllegalArgumentException ex = new IllegalArgumentException("Couldn't find any Endpoint. " + exception.getMessage());
-        ex.initCause(exception.getCause());
-        throw ex;
-      }
-    }
-    if(!useLocators && !useEndPoints) {
-      throw new IllegalArgumentException(
-          "Property 'locators ' or 'endpoints' must be specified");
-    }
-    // @todo grid: handshakeTimeout ignored
-    {
-      // @todo grid: roundRobin and appAssisted ignored
-      LBPolicy policy = new LBPolicy(properties.getProperty("LBPolicy",
-          LBPolicy.STICKY_PROPERTY_NAME));
-      setThreadLocalConnections(policy.isSticky());
-    }
-    
-    if (properties.containsKey("retryAttempts")) {
-      String strRetryAttempts = properties.getProperty("retryAttempts");
-      setRetryAttempts(Integer.parseInt(strRetryAttempts));
-    }
-    if (properties.containsKey("retryInterval")) {
-      String strRetryAttempts = properties.getProperty("retryInterval");
-      setPingInterval(Integer.parseInt(strRetryAttempts));
-    }
-    if (properties.containsKey("establishCallbackConnection")) {
-      String str = properties.getProperty("establishCallbackConnection");
-      setSubscriptionEnabled(Boolean.valueOf(str).booleanValue());
-    }
-    if (properties.containsKey("enablePRSingleHop")) {
-      String str = properties.getProperty("enablePRSingleHop");
-      setPRSingleHopEnabled(Boolean.valueOf(str).booleanValue());
-    }
-    if (properties.containsKey("connectionsPerServer")) {
-      String str = properties.getProperty("connectionsPerServer");
-      setMinConnections(Integer.parseInt(str)*endpointCount);
-    } else {
-      setMinConnections(1*endpointCount);
-    }
-    if (properties.containsKey("redundancyLevel")) {
-      String str = properties.getProperty("redundancyLevel");
-      setSubscriptionRedundancy(Integer.parseInt(str));
-    }
-    if (properties.containsKey("readTimeout")) {
-      String strReadTimeout = properties.getProperty("readTimeout");
-      setReadTimeout(Integer.parseInt(strReadTimeout));
-    }
-    if (properties.containsKey("socketBufferSize")) {
-      String strSocketBufferSize = properties.getProperty("socketBufferSize");
-      setSocketBufferSize(Integer.parseInt(strSocketBufferSize));
-    }
-    if (properties.containsKey("messageTrackingTimeout")) {
-      String pv = properties.getProperty("messageTrackingTimeout");
-      setSubscriptionMessageTrackingTimeout(Integer.parseInt(pv));
-    }
-    if(properties.containsKey("clientAckInterval") ) {
-      String pv = properties.getProperty("clientAckInterval");
-      setSubscriptionAckInterval(Integer.parseInt(pv));
-    }
-    if(usedByGateway && exception!= null) {
-      throw exception;
-    }
+    setMinConnections(0);
+    setThreadLocalConnections(true);
   }
   
   /**
@@ -441,11 +312,7 @@ public class PoolFactoryImpl implements PoolFactory {
         registry.creatingPool();
       }
     }
-    if (this.attributes.isBridge()) {
-      return new BridgePoolImpl(this.pm, name, this.attributes);
-    } else {
-      return PoolImpl.create(this.pm, name, this.attributes);
-    }
+    return PoolImpl.create(this.pm, name, this.attributes);
   }
 
   /**
@@ -487,19 +354,7 @@ public class PoolFactoryImpl implements PoolFactory {
     public transient LocatorDiscoveryCallback locatorCallback = null; //only used by tests
     public GatewaySender gatewaySender = null;
     /**
-     * True if this factory needs to produce a pool for use by BridgeWriter
-     * or BridgeLoader.
-     */
-    public boolean bridge = false;
-    /**
-     * True if bridge is true and the pool is used by a BridgeWriter.
-     * False if bridge is true and the pool is used by a BridgeLoader.
-     * Ignore this attribute if bridge is false.
-     */
-    public boolean bridgeWriter = false;
-    /**
-     * True if bridge is true and the pool is used by a Gateway.
-     * Ignore this attribute if bridge is false.
+     * True if the pool is used by a Gateway.
      */
     public boolean gateway = false;
 
@@ -554,18 +409,6 @@ public class PoolFactoryImpl implements PoolFactory {
     public String getServerGroup() {
       return this.serverGroup;
     }
-    public boolean isBridge() {
-      return this.bridge;
-    }
-    public void setBridge(boolean v) {
-      this.bridge = v;
-    }
-    public boolean isBridgeWriter() {
-      return this.bridgeWriter;
-    }
-    public void setBridgeWriter(boolean v) {
-      this.bridgeWriter = v;
-    }
     public boolean isGateway() {
       return this.gateway;
     }
@@ -648,7 +491,6 @@ public class PoolFactoryImpl implements PoolFactory {
       DataSerializer.writeString(this.serverGroup, out);
       DataSerializer.writeArrayList(this.locators, out);
       DataSerializer.writeArrayList(this.servers, out);
-      DataSerializer.writePrimitiveBoolean(this.bridge, out);
       DataSerializer.writePrimitiveInt(this.statisticInterval, out);
       DataSerializer.writePrimitiveBoolean(this.multiuserSecureModeEnabled,out);
     }
@@ -671,7 +513,6 @@ public class PoolFactoryImpl implements PoolFactory {
       this.serverGroup = DataSerializer.readString(in);
       this.locators = DataSerializer.readArrayList(in);
       this.servers = DataSerializer.readArrayList(in);
-      this.bridge = DataSerializer.readPrimitiveBoolean(in);
       this.statisticInterval= DataSerializer.readPrimitiveInt(in);
       this.multiuserSecureModeEnabled = DataSerializer.readPrimitiveBoolean(in);
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolManagerImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolManagerImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolManagerImpl.java
index 289a3f5..25ba55d 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolManagerImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PoolManagerImpl.java
@@ -22,7 +22,6 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.RegisterDataSerializersOp;
 import com.gemstone.gemfire.cache.client.internal.RegisterInstantiatorsOp;
@@ -102,24 +101,6 @@ public class PoolManagerImpl {
   }
   
   /**
-   * Set the keep alive flag before closing. Only for use with the deprecated
-   * BridgeWriter/Loader code. A BridgeWriter is automatically
-   * closed then the last region is disconnected from it,
-   * so we need to mark the connections as keep alive
-   * before we close the regions that use the bridge writer/loader
-   * 
-   * @param keepAlive
-   */
-  public static void setKeepAlive(boolean keepAlive) {
-    for(Iterator<Pool> itr = PoolManager.getAll().values().iterator(); itr.hasNext(); ) {
-      Pool nextPool = itr.next();
-      if(nextPool instanceof BridgePoolImpl) {
-        BridgePoolImpl bridgePool = (BridgePoolImpl) nextPool;
-        bridgePool.setKeepAlive(keepAlive);
-      }
-    }
-  }
-  /**
    * Destroys all created pool in this manager.
    */
   public void close(boolean keepAlive) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEventImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEventImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEventImpl.java
index 7d96986..08a6bad 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEventImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/RegionEventImpl.java
@@ -282,7 +282,7 @@ public class RegionEventImpl
   }
   
   public ClientProxyMembershipID getContext() {
-    // regular region events do not have bridge context - see BridgeRegionEventImpl
+    // regular region events do not have a context - see ClientRegionEventImpl
     return null;
   }
   



[03/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTestUtil.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTestUtil.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTestUtil.java
index fb233c2..6fd9e1d 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTestUtil.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTestUtil.java
@@ -31,7 +31,7 @@ import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.query.CqEvent;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.cache.util.CqListenerAdapter;
 import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -64,42 +64,16 @@ public class CacheServerTestUtil extends DistributedTestCase
     super(name);
   }
 
-   
-  
-//  public static void createCacheClient(Properties props, String regionName)
-//      throws Exception {
-//    createCacheClient(props, regionName, getClientProperties(), Boolean.FALSE);
-//  }
   public static void createCacheClient(Pool poolAttr, String regionName)
       throws Exception {
     createCacheClient(poolAttr, regionName, getClientProperties(), Boolean.FALSE);
   }
 
-//  public static void createCacheClient(Properties props, String regionName,
-//      Properties dsProperties) throws Exception {
-//    createCacheClient(props, regionName, dsProperties, Boolean.FALSE);
-//  }
   public static void createCacheClient(Pool poolAttr, String regionName,
       Properties dsProperties) throws Exception {
     createCacheClient(poolAttr, regionName, dsProperties, Boolean.FALSE);
   }
 
-//  public static void createCacheClient(Properties props, String regionName,
-//    Properties dsProperties, Boolean addControlListener) throws Exception {
-//    new CacheServerTestUtil("temp").createCache(dsProperties);
-//    BridgeWriter writer = new BridgeWriter();
-//    writer.init(props);
-//    AttributesFactory factory = new AttributesFactory();
-//    factory.setScope(Scope.LOCAL);
-//    factory.setCacheWriter(writer);
-//    if (addControlListener.booleanValue()) {
-//      factory.addCacheListener(new ControlListener());
-//    }
-//    RegionAttributes attrs = factory.create();
-//    cache.createRegion(regionName, attrs);
-//    pool = (PoolImpl)writer.getConnectionProxy();
-//  }
-  
   public static void createClientCache(Pool poolAttr, String regionName) throws Exception {
     createClientCache(poolAttr, regionName, getClientProperties());
   }
@@ -299,7 +273,7 @@ public class CacheServerTestUtil extends DistributedTestCase
   }
 
   /**
-   * Create client regions each with their own BridgeWriter instance.
+   * Create client regions
    * @param props
    * @param regionName1
    * @param regionName2
@@ -356,7 +330,7 @@ public class CacheServerTestUtil extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(regionName, attrs);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setPort(port);
     server1.setNotifyBySubscription(notifyBySubscription.booleanValue());
@@ -378,7 +352,7 @@ public class CacheServerTestUtil extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(regionName, attrs);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setPort(port);
     server1.setNotifyBySubscription(notifyBySubscription.booleanValue());
@@ -407,7 +381,7 @@ public class CacheServerTestUtil extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(regionName, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     server.setPort(serverPort.intValue());
     server.setNotifyBySubscription(notifyBySubscription.booleanValue());
     server.start();
@@ -428,7 +402,7 @@ public class CacheServerTestUtil extends DistributedTestCase
     if (!regionName2.equals("")) {
       cache.createRegion(regionName2, attrs);
     }
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setPort(port);
     server1.setNotifyBySubscription(notifyBySubscription.booleanValue());
@@ -504,18 +478,18 @@ public class CacheServerTestUtil extends DistributedTestCase
   }
   
   public static void stopCacheServers() {
-    Iterator iter = getCache().getBridgeServers().iterator();
+    Iterator iter = getCache().getCacheServers().iterator();
     if (iter.hasNext()) {
-      BridgeServer server = (BridgeServer) iter.next();
+      CacheServer server = (CacheServer) iter.next();
       server.stop();
       assertFalse(server.isRunning());
     }
   }
 
   public static void restartCacheServers() {
-    Iterator iter = getCache().getBridgeServers().iterator();
+    Iterator iter = getCache().getCacheServers().iterator();
     if (iter.hasNext()) {
-      BridgeServer server = (BridgeServer) iter.next();
+      CacheServer server = (CacheServer) iter.next();
       try {
         server.start();
       } catch(Exception e) {
@@ -535,11 +509,6 @@ public class CacheServerTestUtil extends DistributedTestCase
     return pool;
   }
 
-//   public static BridgeWriter getWriter()
-//   {
-//     return writer;
-//   }
-
   /**
    * Disables the shuffling of endpoints for a client
    *

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTransactionsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTransactionsDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTransactionsDUnitTest.java
index 9bb6b59..399175d 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTransactionsDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerTransactionsDUnitTest.java
@@ -22,7 +22,7 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -772,7 +772,7 @@ public class CacheServerTransactionsDUnitTest extends DistributedTestCase
     });
     Region r1 = cache.createRegion(REGION_NAME, factory.create());
     assertNotNull(r1);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setPort(port);
     server1.setMaxThreads(maxThreads.intValue());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClearPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClearPropagationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClearPropagationDUnitTest.java
index dad3b7d..ac345e4 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClearPropagationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClearPropagationDUnitTest.java
@@ -18,7 +18,7 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.RegionEvent;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -402,7 +402,7 @@ public class ClearPropagationDUnitTest extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientConflationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientConflationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientConflationDUnitTest.java
index cf95b24..90ec2b5 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientConflationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientConflationDUnitTest.java
@@ -22,15 +22,15 @@ import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -123,7 +123,7 @@ public class ClientConflationDUnitTest extends DistributedTestCase
     createClientCacheFeeder(getServerHostName(Host.getHost(0)), new Integer(PORT));
     vm1.invoke(ClientConflationDUnitTest.class, "createClientCache", new Object[] { getServerHostName(vm1.getHost()), new Integer(PORT),
       conflation});
-    vm1.invoke(ClientConflationDUnitTest.class, "setBridgeObserverForBeforeInterestRecovery");
+    vm1.invoke(ClientConflationDUnitTest.class, "setClientServerObserverForBeforeInterestRecovery");
     vm1.invoke(ClientConflationDUnitTest.class, "setAllCountersZero");
     vm1.invoke(ClientConflationDUnitTest.class, "assertAllCountersZero");
     vm1.invoke(ClientConflationDUnitTest.class, "registerInterest");
@@ -267,10 +267,10 @@ public class ClientConflationDUnitTest extends DistributedTestCase
    * reset all counters to zero before interest recovery
    *
    */
-  public static void setBridgeObserverForBeforeInterestRecovery()
+  public static void setClientServerObserverForBeforeInterestRecovery()
   {
     PoolImpl.BEFORE_RECOVER_INTEREST_CALLBACK_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void beforeInterestRecovery()
       {
         setAllCountersZero();
@@ -282,9 +282,9 @@ public class ClientConflationDUnitTest extends DistributedTestCase
    * Assert all queues are empty to aid later assertion for listener event counts.
    */
   public static void assertAllQueuesEmpty() {
-    Iterator servers = cacheServer.getBridgeServers().iterator();
+    Iterator servers = cacheServer.getCacheServers().iterator();
     while (servers.hasNext()) {
-      Iterator proxies = ((BridgeServerImpl)servers.next()).getAcceptor().
+      Iterator proxies = ((CacheServerImpl)servers.next()).getAcceptor().
         getCacheClientNotifier().getClientProxies().iterator();
       while (proxies.hasNext()) {
         int qsize = ((CacheClientProxy)proxies.next()).getQueueSize();
@@ -402,7 +402,7 @@ public class ClientConflationDUnitTest extends DistributedTestCase
     RegionAttributes attrs2 = factory.create();
     cacheServer.createRegion(REGION_NAME1, attrs1);
     cacheServer.createRegion(REGION_NAME2, attrs2);
-    BridgeServer server = cacheServer.addBridgeServer();
+    CacheServer server = cacheServer.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
     server.setPort(port);
     server.setNotifyBySubscription(true);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientHealthMonitorJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientHealthMonitorJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientHealthMonitorJUnitTest.java
index 0891524..015bb59 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientHealthMonitorJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientHealthMonitorJUnitTest.java
@@ -28,7 +28,7 @@ import com.gemstone.gemfire.cache.client.ServerConnectivityException;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.cache.EventID;
@@ -115,7 +115,7 @@ public class ClientHealthMonitorJUnitTest
    */
   private int createServer()
   {
-    BridgeServer server = null;
+    CacheServer server = null;
     try {
       Properties p = new Properties();
       // make it a loner
@@ -124,7 +124,7 @@ public class ClientHealthMonitorJUnitTest
       
       this.system = DistributedSystem.connect(p);
       this.cache = CacheFactory.create(system);
-      server = this.cache.addBridgeServer();
+      server = this.cache.addCacheServer();
       int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
       server.setMaximumTimeBetweenPings(TIME_BETWEEN_PINGS);
       server.setMaxThreads(getMaxThreads());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientInterestNotifyDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientInterestNotifyDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientInterestNotifyDUnitTest.java
index 551bebd..c66291e 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientInterestNotifyDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientInterestNotifyDUnitTest.java
@@ -23,12 +23,12 @@ import com.gemstone.gemfire.cache.InterestResultPolicy;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 
 import dunit.DistributedTestCase;
@@ -402,10 +402,10 @@ public class ClientInterestNotifyDUnitTest extends DistributedTestCase
   // occasional failures in precheckins and cruisecontrol.
   
   public static void assertAllQueuesEmpty() {
-    Iterator servers = cacheServer.getBridgeServers().iterator();
+    Iterator servers = cacheServer.getCacheServers().iterator();
     assertTrue("No servers found!", servers.hasNext());
     while (servers.hasNext()) {
-      Iterator proxies = ((BridgeServerImpl)servers.next()).getAcceptor().
+      Iterator proxies = ((CacheServerImpl)servers.next()).getAcceptor().
         getCacheClientNotifier().getClientProxies().iterator();
       assertTrue("No proxies found!", proxies.hasNext());
       while (proxies.hasNext()) {
@@ -420,8 +420,8 @@ public class ClientInterestNotifyDUnitTest extends DistributedTestCase
       String excuse;
       public boolean done() {
         // assume a single cache server as configured in this test
-        BridgeServerImpl bridgeServer = (BridgeServerImpl) cacheServer.
-          getBridgeServers().iterator().next();
+        CacheServerImpl bridgeServer = (CacheServerImpl) cacheServer.
+          getCacheServers().iterator().next();
         if (bridgeServer == null) {
           excuse = "No Cache Server";
           return false;
@@ -474,7 +474,7 @@ public class ClientInterestNotifyDUnitTest extends DistributedTestCase
     cacheServer.createRegion(REGION_NAME1, attrs);
     cacheServer.createRegion(REGION_NAME2, attrs);
     cacheServer.createRegion(REGION_NAME3, attrs);
-    BridgeServer server = cacheServer.addBridgeServer();
+    CacheServer server = cacheServer.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
     server.setPort(port);
     server.setNotifyBySubscription(true);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
new file mode 100755
index 0000000..1813123
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
@@ -0,0 +1,1381 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache.tier.sockets;
+
+import com.gemstone.gemfire.cache.AttributesFactory;
+import com.gemstone.gemfire.cache.Cache;
+import com.gemstone.gemfire.cache.CacheException;
+import com.gemstone.gemfire.cache.CacheWriterException;
+import com.gemstone.gemfire.cache.DataPolicy;
+import com.gemstone.gemfire.cache.EvictionAttributes;
+import com.gemstone.gemfire.cache.Region;
+import com.gemstone.gemfire.cache.RegionAttributes;
+import com.gemstone.gemfire.cache.Scope;
+import com.gemstone.gemfire.cache.client.NoAvailableServersException;
+import com.gemstone.gemfire.cache.client.Pool;
+import com.gemstone.gemfire.cache.client.PoolManager;
+import com.gemstone.gemfire.cache.client.internal.Connection;
+import com.gemstone.gemfire.cache.client.internal.PoolImpl;
+import com.gemstone.gemfire.cache.client.internal.RegisterInterestTracker;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
+import com.gemstone.gemfire.cache30.CacheTestCase;
+import com.gemstone.gemfire.cache30.LRUEvictionControllerDUnitTest;
+import com.gemstone.gemfire.distributed.DistributedSystem;
+import com.gemstone.gemfire.distributed.DistributedSystemDisconnectedException;
+import com.gemstone.gemfire.distributed.internal.DistributionConfig;
+import com.gemstone.gemfire.internal.AvailablePort;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
+import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
+
+import dunit.DistributedTestCase;
+import dunit.Host;
+import dunit.SerializableCallable;
+import dunit.SerializableRunnable;
+import dunit.VM;
+
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Set;
+
+import junit.framework.AssertionFailedError;
+
+/**
+ * Tests client server corner cases between Region and Pool
+ *
+ * @author Yogesh Mahajan
+ *
+ */
+public class ClientServerMiscDUnitTest extends CacheTestCase
+{
+//  private static Cache cache = null;
+
+  protected static PoolImpl pool = null;
+
+  protected static Connection conn = null;
+  
+  private static Cache static_cache;
+
+  private static int PORT1;
+
+  private static final String k1 = "k1";
+
+  private static final String k2 = "k2";
+
+  private static final String server_k1 = "server-k1";
+
+  private static final String server_k2 = "server-k2";
+
+  private static final String REGION_NAME1 = "ClientServerMiscDUnitTest_region1";
+
+  private static final String REGION_NAME2 = "ClientServerMiscDUnitTest_region2";
+
+  private static final String PR_REGION_NAME = "ClientServerMiscDUnitTest_PRregion";
+
+  private static Host host;
+
+  private static VM server1;
+
+  private static VM server2;
+
+  private static RegionAttributes attrs;
+
+
+  // variables for concurrent map API test
+  Properties props = new Properties();
+  final int putRange_1Start = 1;
+  final int putRange_1End = 5;
+  final int putRange_2Start = 6;
+  final int putRange_2End = 10;
+  final int putRange_3Start = 11;
+  final int putRange_3End = 15;
+  final int putRange_4Start = 16;
+  final int putRange_4End = 20;
+  final int removeRange_1Start = 2;
+  final int removeRange_1End = 4;
+  final int removeRange_2Start = 7;
+  final int removeRange_2End = 9;
+
+  
+  
+  /** constructor */
+  public ClientServerMiscDUnitTest(String name) {
+    super(name);
+  }
+
+  public void setUp() throws Exception
+  {
+    super.setUp();
+    host = Host.getHost(0);
+    server1 = host.getVM(0);
+    server2 = host.getVM(1);
+  }
+
+  private int initServerCache(boolean notifyBySub) {
+    Object[] args = new Object[] { notifyBySub, getMaxThreads()};
+    return ((Integer)server1.invoke(ClientServerMiscDUnitTest.class,
+                                    "createServerCache",
+                                    args)).intValue();
+  }
+  
+  private int initServerCache2(boolean notifyBySub) {
+    Object[] args = new Object[] {notifyBySub, getMaxThreads()};
+    return ((Integer)server2.invoke(ClientServerMiscDUnitTest.class,
+                                    "createServerCache",
+                                    args)).intValue();
+  }
+
+  
+  public void testConcurrentOperationsWithDRandPR() throws Exception {
+    int port1 = initServerCache(true); // vm0
+    int port2 = initServerCache2(true); // vm1
+    String serverName = getServerHostName(Host.getHost(0));
+    host.getVM(2).invoke(this.getClass(), "createClientCacheV", new Object[]{serverName, port1});
+    host.getVM(3).invoke(this.getClass(), "createClientCacheV", new Object[]{serverName, port2});
+    getLogWriter().info("Testing concurrent map operations from a client with a distributed region");
+    concurrentMapTest(host.getVM(2), "/" + REGION_NAME1);
+    // TODO add verification in vm3
+    getLogWriter().info("Testing concurrent map operations from a client with a partitioned region");
+    concurrentMapTest(host.getVM(2), "/" + PR_REGION_NAME);
+    // TODO add verification in vm3
+  }
+
+  public void testConcurrentOperationsWithDRandPRandEmptyClient() throws Exception {
+    int port1 = initServerCache(true); // vm0
+    int port2 = initServerCache2(true); // vm1
+    String serverName = getServerHostName(Host.getHost(0));
+    host.getVM(2).invoke(this.getClass(), "createEmptyClientCache", new Object[]{serverName, port1});
+    host.getVM(3).invoke(this.getClass(), "createClientCacheV", new Object[]{serverName, port2});
+    getLogWriter().info("Testing concurrent map operations from a client with a distributed region");
+    concurrentMapTest(host.getVM(2), "/" + REGION_NAME1);
+    // TODO add verification in vm3
+    getLogWriter().info("Testing concurrent map operations from a client with a partitioned region");
+    concurrentMapTest(host.getVM(2), "/" + PR_REGION_NAME);
+    // TODO add verification in vm3
+  }
+
+  /**
+   * Do putIfAbsent(), replace(Object, Object),
+   * replace(Object, Object, Object), remove(Object, Object) operations
+   */
+  public void concurrentMapTest(final VM clientVM, final String rName) {
+    
+    //String exceptionStr = "";
+    clientVM.invoke(new CacheSerializableRunnable("doConcurrentMapOperations") {
+      public void run2() throws CacheException {
+        Cache cache = getCache();
+        final Region pr = cache.getRegion(rName);
+        assertNotNull(rName + " not created", pr);
+        boolean isEmpty = pr.getAttributes().getDataPolicy() == DataPolicy.EMPTY;
+        
+        // test successful putIfAbsent
+        for (int i = putRange_1Start; i <= putRange_1End; i++) {
+          Object putResult = pr.putIfAbsent(Integer.toString(i),
+                                            Integer.toString(i));
+          assertNull("Expected null, but got " + putResult + " for key " + i,
+                     putResult);
+        }
+        int size;
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", putRange_1End, size);
+          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+        
+        // test unsuccessful putIfAbsent
+        for (int i = putRange_1Start; i <= putRange_1End; i++) {
+          Object putResult = pr.putIfAbsent(Integer.toString(i),
+                                            Integer.toString(i + 1));
+          assertEquals("for i=" + i, Integer.toString(i), putResult);
+          assertEquals("for i=" + i, Integer.toString(i), pr.get(Integer.toString(i)));
+        }
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", putRange_1End, size);
+          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+               
+        // test successful replace(key, oldValue, newValue)
+        for (int i = putRange_1Start; i <= putRange_1End; i++) {
+         boolean replaceSucceeded = pr.replace(Integer.toString(i),
+                                               Integer.toString(i),
+                                               "replaced" + i);
+          assertTrue("for i=" + i, replaceSucceeded);
+          assertEquals("for i=" + i, "replaced" + i, pr.get(Integer.toString(i)));
+        }
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", putRange_1End, size);
+          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+        
+        // test unsuccessful replace(key, oldValue, newValue)
+        for (int i = putRange_1Start; i <= putRange_2End; i++) {
+         boolean replaceSucceeded = pr.replace(Integer.toString(i),
+                                               Integer.toString(i), // wrong expected old value
+                                               "not" + i);
+         assertFalse("for i=" + i, replaceSucceeded);
+         assertEquals("for i=" + i,
+                      i <= putRange_1End ? "replaced" + i : null,
+                      pr.get(Integer.toString(i)));
+        }
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", putRange_1End, size);
+          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+                                    
+        // test successful replace(key, value)
+        for (int i = putRange_1Start; i <= putRange_1End; i++) {
+          Object replaceResult = pr.replace(Integer.toString(i),
+                                            "twice replaced" + i);
+          assertEquals("for i=" + i, "replaced" + i, replaceResult);
+          assertEquals("for i=" + i,
+                       "twice replaced" + i,
+                       pr.get(Integer.toString(i)));
+        }
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", putRange_1End, size);
+          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+                                    
+        // test unsuccessful replace(key, value)
+        for (int i = putRange_2Start; i <= putRange_2End; i++) {
+          Object replaceResult = pr.replace(Integer.toString(i),
+                                           "thrice replaced" + i);
+          assertNull("for i=" + i, replaceResult);
+          assertNull("for i=" + i, pr.get(Integer.toString(i)));
+        }
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", putRange_1End, size);
+          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+                                    
+        // test unsuccessful remove(key, value)
+        for (int i = putRange_1Start; i <= putRange_2End; i++) {
+          boolean removeResult = pr.remove(Integer.toString(i),
+                                           Integer.toString(-i));
+          assertFalse("for i=" + i, removeResult);
+          assertEquals("for i=" + i,
+                       i <= putRange_1End ? "twice replaced" + i : null,
+                       pr.get(Integer.toString(i)));
+        }
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", putRange_1End, size);
+          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+
+        // test successful remove(key, value)
+        for (int i = putRange_1Start; i <= putRange_1End; i++) {
+          boolean removeResult = pr.remove(Integer.toString(i),
+                                           "twice replaced" + i);
+          assertTrue("for i=" + i, removeResult);
+          assertEquals("for i=" + i, null, pr.get(Integer.toString(i)));
+        }
+        if (!isEmpty) {
+          size = pr.size();
+          assertEquals("Size doesn't return expected value", 0, size);
+          pr.localClear();
+          assertTrue("isEmpty doesnt return proper state of the PartitionedRegion", 
+              pr.isEmpty());
+        }
+        
+        if (!isEmpty) {
+          // bug #42169 - entry not updated on server when locally destroyed on client
+          String key42169 = "key42169";
+          pr.put(key42169, "initialValue42169");
+          pr.localDestroy(key42169);
+          boolean success = pr.replace(key42169, "initialValue42169", "newValue42169");
+          assertTrue("expected replace to succeed", success);
+          pr.destroy(key42169);
+          pr.put(key42169, "secondRound");
+          pr.localDestroy(key42169);
+          Object result = pr.putIfAbsent(key42169, null);
+          assertEquals("expected putIfAbsent to fail", result, "secondRound");
+          pr.destroy(key42169);
+        }
+        
+        if (isEmpty) {
+          String key41265 = "key41265";
+          boolean success = pr.remove(key41265, null);
+          assertFalse("expected remove to fail because key does not exist", success);
+        }
+        
+        // test null values
+        
+        // putIfAbsent with null value creates invalid entry
+        Object oldValue = pr.putIfAbsent("keyForNull", null);
+        assertNull(oldValue);
+        if (!isEmpty) {
+          assertTrue(pr.containsKey("keyForNull"));
+          assertTrue(!pr.containsValueForKey("keyForNull"));
+        }
+        
+        // replace allows null value for oldValue, meaning invalidated entry
+        assertTrue(pr.replace("keyForNull", null, "no longer invalid"));
+        
+        // replace does not allow null value for new value
+        try {
+          pr.replace("keyForNull", "no longer invalid", null);
+          fail("expected a NullPointerException");
+        } catch (NullPointerException expected) {
+        }
+        
+        // other variant of replace does not allow null value for new value
+        try {
+          pr.replace("keyForNull", null);
+          fail ("expected a NullPointerException");
+        } catch (NullPointerException expected) {
+        }
+        
+        // replace with null oldvalue matches invalidated entry
+        pr.putIfAbsent("otherKeyForNull", null);
+        int puts = ((GemFireCacheImpl)pr.getCache()).getCachePerfStats().getPuts();
+        boolean success = pr.replace("otherKeyForNull", null, "no longer invalid");
+        assertTrue(success);
+        int newputs = ((GemFireCacheImpl)pr.getCache()).getCachePerfStats().getPuts();
+        assertTrue("stats not updated properly or replace malfunctioned", newputs == puts+1);
+
+      }
+    });
+  }
+
+  /**
+   * Test two regions: notify by subscription is true.
+   * For region1 the interest list is empty , for region 2 the intetest list is all keys.
+   * If an update/create is made on region1 , the client should not receive any.
+   * If the create/update is on region2 , the client should receive the update.
+   */
+  public void testForTwoRegionHavingDifferentInterestList()
+      throws Exception
+  {
+    // start server first
+    PORT1 = initServerCache(true);
+    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
+    populateCache();
+    registerInterest();
+    server1.invoke(ClientServerMiscDUnitTest.class, "put");
+
+//    pause(5000 + 5000 + 10000);
+    /*final int maxWaitTime = Integer.getInteger(WAIT_PROPERTY, WAIT_DEFAULT).intValue();
+    try {
+      Thread.yield();
+       Thread.sleep(maxWaitTime);
+    }
+    catch (InterruptedException e) {
+      fail("interrupted");
+    }*/
+    verifyUpdates();
+
+  }
+
+  /**
+   * Test two regions: notify by subscription is true.
+   * Both the regions have registered interest in all the keys.
+   * Now close region1 on the client.
+   * The region1 should get removed from the interest list on CCP at server.
+   * Any update on region1 on server should not get pushed to the client.
+   * Ensure that the message related is not added to the client's queue at all
+   * ( which is diferent from not receiving a callbak on the client).
+   * If an update on region2 is made on the server , then client should receive the calback
+   */
+  public void testForTwoRegionHavingALLKEYSInterest()
+      throws Exception
+  {
+    // start server first
+    PORT1 = initServerCache(true);
+    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
+    populateCache();
+    registerInterestInBothTheRegions();
+    closeRegion1();
+    pause(6000);
+    server1.invoke(ClientServerMiscDUnitTest.class,
+        "verifyInterestListOnServer");
+    server1.invoke(ClientServerMiscDUnitTest.class, "put");
+    //pause(5000);
+    verifyUpdatesOnRegion2();
+  }
+
+  /** Test two regions: notify by subscription is true.
+   * Both the regions have registered interest in all the keys.
+   * Close both the regions. When the last region is closed ,
+   * it should close the ConnectionProxy on the client ,
+   * close all the server connection threads on the server &
+   * remove the CacheClientProxy from the CacheClient notifier
+   */
+  public void testRegionClose() throws Exception
+  {
+    // start server first
+    PORT1 = initServerCache(true);
+    pool = (PoolImpl)createClientCache(getServerHostName(Host.getHost(0)),PORT1);
+    populateCache();
+    registerInterestInBothTheRegions();
+    closeBothRegions();
+    //pause(5000);
+    assertEquals(false, pool.isDestroyed());
+    pool.destroy();
+    assertEquals(true, pool.isDestroyed());
+    server1.invoke(ClientServerMiscDUnitTest.class,
+        "verifyNoCacheClientProxyOnServer");
+
+  }
+
+  /**
+   * Test two regions: notify by
+   * subscription is true. Both the regions have registered interest in all the
+   * keys. Destroy region1 on the client. It should reach the server , kill the
+   * region on the server , propagate it to the interested clients , but it
+   * should keep CacheClient Proxy alive. Destroy Region2 . It should reach
+   * server , close conenction proxy , destroy the region2 on the server ,
+   * remove the cache client proxy from the cache client notifier & propagate it
+   * to the clients. Then create third region and verify that no
+   * CacheClientProxy is created on server
+   */
+  public void testCCPDestroyOnLastDestroyRegion() throws Exception
+  {
+    PORT1 = initServerCache(true);
+    PoolImpl pool = (PoolImpl)createClientCache(getServerHostName(Host.getHost(0)),PORT1);
+    destroyRegion1();
+    // pause(5000);
+    server1.invoke(ClientServerMiscDUnitTest.class,
+        "verifyCacheClientProxyOnServer", new Object[] { new String(
+            REGION_NAME1) });
+    Connection conn = pool.acquireConnection();
+    assertNotNull(conn);
+    assertEquals(1, pool.getConnectedServerCount());
+    assertEquals(false, pool.isDestroyed());
+    destroyRegion2();
+    assertEquals(false, pool.isDestroyed());
+    destroyPRRegion();
+    assertEquals(false, pool.isDestroyed());
+    pool.destroy();
+    assertEquals(true, pool.isDestroyed());
+    // pause(5000);
+    server1.invoke(ClientServerMiscDUnitTest.class,
+        "verifyNoCacheClientProxyOnServer");
+    try {
+      getCache().createRegion(REGION_NAME2, attrs);
+      fail("expected IllegalStateException");
+    } catch (IllegalStateException expected) {
+    }
+  }
+
+  /**
+   * Test two regions:If notify by
+   * subscription is false , both the regions should receive invalidates for the
+   * updates on server in their respective regions
+   *
+   */
+  public void testInvalidatesPropagateOnTwoRegions()
+      throws Exception
+  {
+    // start server first
+    PORT1 = initServerCache(false);
+    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
+    registerInterestForInvalidatesInBothTheRegions();
+    populateCache();
+    server1.invoke(ClientServerMiscDUnitTest.class, "put");
+    //pause(5000);
+    verifyInvalidatesOnBothRegions();
+
+  }
+
+  /**
+   * Test for bug 43407, where LRU in the client caused an entry to be
+   * evicted with DESTROY(), then the client invalidated the entry and
+   * did a get().  After the get() the entry was not seen to be in the
+   * client's cache.  This turned out to be expected behavior, but we
+   * now have this test to guarantee that the product behaves as expected.
+   */
+  public void testBug43407()
+      throws Exception
+  {
+    // start server first
+    PORT1 = initServerCache(false);
+    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
+    registerInterestForInvalidatesInBothTheRegions();
+    Region region = static_cache.getRegion(REGION_NAME1);
+    populateCache();
+    region.put("invalidationKey", "invalidationValue");
+    region.localDestroy("invalidationKey");
+    if (region.containsKey("invalidationKey")) {
+      fail("region still contains invalidationKey");
+    }
+    region.invalidate("invalidationKey");
+    if (region.containsKey("invalidationKey")) {
+      fail("this test expects the entry is not created on invalidate() if not there before the operation");
+    }
+    Object value = region.get("invalidationKey");
+    if (value != null) {
+      fail("this test expected a null response to get('invalidationKey')");
+    }
+    if (!region.containsKeyOnServer("invalidationKey")) {
+      fail("expected an entry on the server after invalidation");
+    }
+    // bug 43407 asserts that there should be an entry, but the product does not
+    // do this.  This verifies that the product does not behave as asserted in that bug
+    if (region.containsKey("invalidationKey")) {
+      fail("expected no entry after invalidation when entry was not in client but was on server");
+    }
+  }
+
+  /**
+   * Create cache, create pool, notify-by-subscription=false,
+   * create a region and on client and on server.
+   * Do not attach pool to region ,
+   * populate some entries on region both on client and server.
+   * Update the entries on server the client.
+   * The client should not have entry invalidate.
+   *
+   * @throws Exception
+   */
+  public void testInvalidatesPropagateOnRegionHavingNoPool()
+      throws Exception
+  {
+    // start server first
+    PORT1 = initServerCache(false);
+    Properties props = new Properties();
+    props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+    props.setProperty(DistributionConfig.LOCATORS_NAME, "");
+    new ClientServerMiscDUnitTest("temp").createCache(props);
+    String host = getServerHostName(server1.getHost());
+    PoolImpl p = (PoolImpl)PoolManager.createFactory()
+      .addServer(host, PORT1)
+      .setSubscriptionEnabled(true)
+      .setThreadLocalConnections(true)
+      .setReadTimeout(1000)
+      .setSocketBufferSize(32768)
+      .setMinConnections(3)
+      .setSubscriptionRedundancy(-1)
+      .setPingInterval(2000)
+      // .setRetryAttempts(5)
+      // .setRetryInterval(2000)
+      .create("testInvalidatesPropagateOnRegionHavingNoPool");
+
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.DISTRIBUTED_ACK);
+    // factory.setPoolName(p.getName());
+
+    attrs = factory.create();
+    final Region region1 = getCache().createRegion(REGION_NAME1, attrs);
+    final Region region2 = getCache().createRegion(REGION_NAME2, attrs);
+    assertNotNull(region1);
+    assertNotNull(region2);
+    pool = p;
+    conn = pool.acquireConnection();
+    assertNotNull(conn);
+
+    populateCache();
+    server1.invoke(ClientServerMiscDUnitTest.class, "put");
+    // pause(5000);
+    WaitCriterion wc = new WaitCriterion() {
+      String excuse;
+      public boolean done() {
+        Object val = region1.getEntry(k1).getValue();
+        return k1.equals(val);
+      }
+      public String description() {
+        return excuse;
+      }
+    };
+    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+    
+    // assertEquals(region1.getEntry(k1).getValue(), k1);
+    wc = new WaitCriterion() {
+      String excuse;
+      public boolean done() {
+        Object val = region1.getEntry(k2).getValue();
+        return k2.equals(val);
+      }
+      public String description() {
+        return excuse;
+      }
+    };
+    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+    
+    wc = new WaitCriterion() {
+      String excuse;
+      public boolean done() {
+        Object val = region2.getEntry(k1).getValue();
+        return k1.equals(val);
+      }
+      public String description() {
+        return excuse;
+      }
+    };
+    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+    
+    // assertEquals(region1.getEntry(k2).getValue(), k2);
+    // assertEquals(region2.getEntry(k1).getValue(), k1);
+    wc = new WaitCriterion() {
+      String excuse;
+      public boolean done() {
+        Object val = region2.getEntry(k2).getValue();
+        return k2.equals(val);
+      }
+      public String description() {
+        return excuse;
+      }
+    };
+    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+    
+    // assertEquals(region2.getEntry(k2).getValue(), k2);
+  }
+
+  /**
+   * Create proxy before cache creation, create cache, create two regions,
+   * attach same bridge writer to both of the regions Region interests AL_KEYS
+   * on both the regions, notify-by-subscription=true . The CCP should have both
+   * the regions in interest list.
+   *
+   * @throws Exception
+   */
+
+  public void testProxyCreationBeforeCacheCreation() throws Exception
+  {
+    Properties props = new Properties();
+    props.setProperty("mcast-port", "0");
+    props.setProperty("locators", "");
+    DistributedSystem ds = getSystem(props);
+    assertNotNull(ds);
+    ds.disconnect();
+    ds = getSystem(props);
+    PORT1 = initServerCache(true);
+    String host = getServerHostName(server1.getHost());
+    Pool p = PoolManager.createFactory()
+      .addServer(host, PORT1)
+      .setSubscriptionEnabled(true)
+      .setSubscriptionRedundancy(-1)
+      // .setRetryAttempts(5)
+      .create("testProxyCreationBeforeCacheCreationPool");
+
+    Cache cache = getCache();
+    assertNotNull(cache);
+
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.DISTRIBUTED_ACK);
+    factory.setPoolName(p.getName());
+
+    RegionAttributes myAttrs = factory.create();
+    Region region1 = cache.createRegion(REGION_NAME1, myAttrs);
+    Region region2 = cache.createRegion(REGION_NAME2, myAttrs);
+    assertNotNull(region1);
+    assertNotNull(region2);
+    //region1.registerInterest(CacheClientProxy.ALL_KEYS);
+    region2.registerInterest("ALL_KEYS");
+    pause(6000);
+    server1.invoke(ClientServerMiscDUnitTest.class,
+        "verifyInterestListOnServer");
+
+  }
+  /**
+   * 
+   * Cycling a DistributedSystem with an initialized pool causes interest registration NPE
+   * 
+   * Test Scenario:
+   *  
+   * Create a DistributedSystem (DS1). 
+   * Create a pool, initialize (creates a proxy with DS1 memberid) 
+   * Disconnect DS1.  Create a DistributedSystem (DS2). 
+   * Create a Region with pool, it attempts to register interest using DS2 memberid, gets NPE.
+   *  
+   * @throws Exception
+   */
+  public void testBug35380() throws Exception
+  {
+    Properties props = new Properties();
+    props.setProperty("mcast-port", "0");
+    props.setProperty("locators", "");
+    DistributedSystem ds = getSystem(props);
+    assertNotNull(ds);
+    
+    PORT1 = initServerCache(true);
+    String host = getServerHostName(server1.getHost());
+    Pool p = PoolManager.createFactory()
+      .addServer(host, PORT1)
+      .setSubscriptionEnabled(true)
+      .setSubscriptionRedundancy(-1)
+      //.setRetryAttempts(5)
+      .create("testBug35380Pool");
+
+    Cache cache = getCache();
+
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.DISTRIBUTED_ACK);
+    factory.setPoolName(p.getName());
+
+    RegionAttributes myAttrs = factory.create();
+    Region region1 = cache.createRegion(REGION_NAME1, myAttrs);
+    Region region2 = cache.createRegion(REGION_NAME2, myAttrs);
+    assertNotNull(region1);
+    assertNotNull(region2);
+    
+    region2.registerInterest("ALL_KEYS");
+    
+    ds.disconnect();
+    Properties prop = new Properties();
+    prop.setProperty("mcast-port", "0");
+    prop.setProperty("locators", "");
+    ds = getSystem(prop);
+    
+    cache = getCache();
+    assertNotNull(cache);
+
+    AttributesFactory factory1 = new AttributesFactory();
+    factory1.setScope(Scope.DISTRIBUTED_ACK);
+    //reuse writer from prev DS
+    factory1.setPoolName(p.getName());
+
+    RegionAttributes attrs1 = factory1.create();
+    try {
+      cache.createRegion(REGION_NAME1, attrs1);
+      fail("expected ShutdownException");
+    }
+    catch(IllegalStateException expected) {
+    }
+    catch (DistributedSystemDisconnectedException expected) {
+    } 
+  }
+  
+
+  private void createCache(Properties props) throws Exception {
+    createCacheV(props);
+  }
+  private Cache createCacheV(Properties props) throws Exception
+  {
+    DistributedSystem ds = getSystem(props);
+    assertNotNull(ds);
+    ds.disconnect();
+    ds = getSystem(props);
+    Cache cache = getCache();
+    assertNotNull(cache);
+    return cache;
+  }
+
+  public static void createClientCacheV(String h, int port)
+  throws Exception {
+    _createClientCache(h, port, false);
+  }
+
+  public static void createEmptyClientCache(String h, int port)
+  throws Exception {
+    _createClientCache(h, port, true);
+  }
+
+  public static Pool createClientCache(String h, int port)
+  throws Exception  {
+    return _createClientCache(h, port, false);
+  }
+  
+  public static Pool _createClientCache(String h, int port, boolean empty)
+  throws Exception  {
+    Properties props = new Properties();
+    props.setProperty("mcast-port", "0");
+    props.setProperty("locators", "");
+    Cache cache = new ClientServerMiscDUnitTest("temp").createCacheV(props);
+    ClientServerMiscDUnitTest.static_cache = cache;
+    PoolImpl p = (PoolImpl)PoolManager.createFactory()
+      .addServer(h, port)
+      .setSubscriptionEnabled(true)
+      .setThreadLocalConnections(true)
+      .setReadTimeout(1000)
+      .setSocketBufferSize(32768)
+      .setMinConnections(3)
+      .setSubscriptionRedundancy(-1)
+      .setPingInterval(2000)
+      // .setRetryAttempts(5)
+      // .setRetryInterval(2000)
+      .create("ClientServerMiscDUnitTestPool");
+
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.DISTRIBUTED_ACK);
+    if (empty) {
+      factory.setDataPolicy(DataPolicy.EMPTY);
+    }
+    factory.setPoolName(p.getName());
+
+    attrs = factory.create();
+    Region region1 = cache.createRegion(REGION_NAME1, attrs);
+    Region region2 = cache.createRegion(REGION_NAME2, attrs);
+    Region prRegion = cache.createRegion(PR_REGION_NAME, attrs);
+    assertNotNull(region1);
+    assertNotNull(region2);
+    assertNotNull(prRegion);
+    pool = p;
+//    conn = pool.acquireConnection();
+//    assertNotNull(conn);
+    // TODO does this WaitCriterion actually help?
+    WaitCriterion wc = new WaitCriterion() {
+      String excuse;
+      public boolean done() {
+        try {
+          conn = pool.acquireConnection();
+          if (conn == null) {
+            excuse = "acquireConnection returned null?";
+            return false;
+          }
+          return true;
+        } catch (NoAvailableServersException e) {
+          excuse = "Cannot find a server: " + e;
+          return false;
+        }
+      }
+      public String description() {
+        return excuse;
+      }
+    };
+    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+    
+    return p;
+  }
+
+  public static Integer createServerCache(Boolean notifyBySubscription, Integer maxThreads)
+  throws Exception {
+    Cache cache = new ClientServerMiscDUnitTest("temp").createCacheV(new Properties());
+    unsetSlowDispatcherFlag();
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.DISTRIBUTED_ACK);
+    factory.setEnableConflation(true);
+    factory.setDataPolicy(DataPolicy.REPLICATE);
+    RegionAttributes myAttrs = factory.create();
+    Region r1 = cache.createRegion(REGION_NAME1, myAttrs);
+    Region r2 = cache.createRegion(REGION_NAME2, myAttrs);
+    factory = new AttributesFactory();
+    factory.setDataPolicy(DataPolicy.PARTITION);
+    RegionAttributes prAttrs = factory.create();
+    Region pr = cache.createRegion(PR_REGION_NAME, prAttrs);
+    assertNotNull(r1);
+    assertNotNull(r2);
+    assertNotNull(pr);
+
+    CacheServer server = cache.addCacheServer();
+    int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
+    r1.getCache().getDistributedSystem().getLogWriter().info("Starting server on port " + port);
+    server.setPort(port);
+    server.setMaxThreads(maxThreads.intValue());
+    server.setNotifyBySubscription(notifyBySubscription.booleanValue());
+    server.start();
+    r1.getCache().getDistributedSystem().getLogWriter().info("Started server on port " + server.getPort());
+    return new Integer(server.getPort());
+
+  }
+
+  protected int getMaxThreads() {
+    return 0; 
+  }
+
+  public static void registerInterest()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r);
+      //r.registerInterestRegex(CacheClientProxy.ALL_KEYS);
+      r.registerInterest("ALL_KEYS");
+    }
+    catch (CacheWriterException e) {
+      e.printStackTrace();
+      fail("Test failed due to CacheWriterException during registerInterest", e);
+    }
+  }
+
+  public static void registerInterestForInvalidatesInBothTheRegions()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      assertNotNull(r1);
+      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r2);
+      r1.registerInterest("ALL_KEYS", false, false);
+      r2.registerInterest("ALL_KEYS", false, false);
+    }
+    catch (CacheWriterException e) {
+      e.printStackTrace();
+      fail(
+          "Test failed due to CacheWriterException during registerInterestnBothRegions",
+          e);
+    }
+  }
+
+  public static void registerInterestInBothTheRegions()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      assertNotNull(r1);
+      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r2);
+      r1.registerInterest("ALL_KEYS");
+      r2.registerInterest("ALL_KEYS");
+    }
+    catch (CacheWriterException e) {
+      e.printStackTrace();
+      fail(
+          "Test failed due to CacheWriterException during registerInterestnBothRegions",
+          e);
+    }
+  }
+
+  public static void closeRegion1()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      assertNotNull(r1);
+      r1.close();
+    }
+    catch (Exception e) {
+      e.printStackTrace();
+      fail("Test failed due to Exception during closeRegion1", e);
+    }
+  }
+
+  public static void closeBothRegions()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      Region pr = cache.getRegion(Region.SEPARATOR + PR_REGION_NAME);
+      assertNotNull(r1);
+      assertNotNull(r2);
+      assertNotNull(pr);
+      r1.close();
+      r2.close();
+      pr.close();
+    }
+    catch (Exception e) {
+      e.printStackTrace();
+      fail("Test failed due to Exception during closeBothRegions", e);
+    }
+  }
+
+  public static void destroyRegion1()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      assertNotNull(r1);
+      r1.destroyRegion();
+    }
+    catch (Exception e) {
+      e.printStackTrace();
+      fail("Test failed due to Exception during closeBothRegions", e);
+    }
+  }
+
+  public static void destroyRegion2()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r2);
+      r2.destroyRegion();
+    }
+    catch (Exception e) {
+      e.printStackTrace();
+      fail("Test failed due to Exception during closeBothRegions", e);
+    }
+  }
+
+  public static void destroyPRRegion()  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r2 = cache.getRegion(Region.SEPARATOR + PR_REGION_NAME);
+      assertNotNull(r2);
+      r2.destroyRegion();
+    } catch (Exception e) {
+     // e.printStackTrace();
+      fail("Test failed due to Exception during closeBothRegions", e);
+    }
+  }
+
+  public static void verifyInterestListOnServer()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      assertEquals("More than one BridgeServer", 1, cache.getCacheServers()
+          .size());
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
+          .iterator().next();
+      assertNotNull(bs);
+      assertNotNull(bs.getAcceptor());
+      assertNotNull(bs.getAcceptor().getCacheClientNotifier());
+      Iterator iter_prox = bs.getAcceptor().getCacheClientNotifier()
+          .getClientProxies().iterator();
+      while (iter_prox.hasNext()) {
+        CacheClientProxy ccp = (CacheClientProxy)iter_prox.next();
+        // CCP should not contain region1
+        Set akr = ccp.cils[RegisterInterestTracker.interestListIndex].regions;
+        assertNotNull(akr);
+        assertTrue(!akr.contains(Region.SEPARATOR + REGION_NAME1));
+        // CCP should contain region2
+        assertTrue(akr.contains(Region.SEPARATOR + REGION_NAME2));
+        assertEquals(1, akr.size());
+      }
+    }
+    catch (Exception ex) {
+      ex.printStackTrace();
+      fail("while setting verifyInterestListOnServer  " + ex);
+    }
+  }
+
+  public static void verifyNoCacheClientProxyOnServer()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      assertEquals("More than one BridgeServer", 1, cache.getCacheServers()
+          .size());
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
+          .iterator().next();
+      assertNotNull(bs);
+      assertNotNull(bs.getAcceptor());
+      final CacheClientNotifier ccn = bs.getAcceptor().getCacheClientNotifier();
+
+      assertNotNull(ccn);
+      WaitCriterion wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          return ccn.getClientProxies().size() == 0;
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 40 * 1000, 1000, true);
+    }
+    catch (Exception ex) {
+      ex.printStackTrace();
+      fail("while setting verifyNoCacheClientProxyOnServer  " + ex);
+    }
+  }
+
+  public static void verifyCacheClientProxyOnServer(String regionName)
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      assertNull(cache.getRegion(Region.SEPARATOR + regionName));
+       verifyCacheClientProxyOnServer();
+
+      //assertEquals(1, bs.getAcceptor().getCacheClientNotifier().getClientProxies().size());
+    }
+    catch (Exception ex) {
+      ex.printStackTrace();
+      fail("while setting verifyNoCacheClientProxyOnServer  " + ex);
+    }
+  }
+
+  public static void verifyCacheClientProxyOnServer()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      assertEquals("More than one BridgeServer", 1, cache.getCacheServers()
+          .size());
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
+          .iterator().next();
+      assertNotNull(bs);
+      assertNotNull(bs.getAcceptor());
+      final CacheClientNotifier ccn = bs.getAcceptor().getCacheClientNotifier();
+
+      assertNotNull(ccn);
+      WaitCriterion wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          return ccn.getClientProxies().size() == 1;
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 40 * 1000, 1000, true);
+    }
+    catch (Exception ex) {
+      ex.printStackTrace();
+      fail("while setting verifyNoCacheClientProxyOnServer  " + ex);
+    }
+  }
+
+  public static void populateCache()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r1);
+      assertNotNull(r2);
+
+      if (!r1.containsKey(k1))
+        r1.create(k1, k1);
+      if (!r1.containsKey(k2))
+        r1.create(k2, k2);
+      if (!r2.containsKey(k1))
+        r2.create(k1, k1);
+      if (!r2.containsKey(k2))
+        r2.create(k2, k2);
+
+      assertEquals(r1.getEntry(k1).getValue(), k1);
+      assertEquals(r1.getEntry(k2).getValue(), k2);
+      assertEquals(r2.getEntry(k1).getValue(), k1);
+      assertEquals(r2.getEntry(k2).getValue(), k2);
+    }
+    catch (Exception ex) {
+      fail("failed while createEntries()", ex);
+    }
+  }
+
+  public static void put()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r1);
+      assertNotNull(r2);
+
+      r1.put(k1, server_k1);
+      r1.put(k2, server_k2);
+
+      r2.put(k1, server_k1);
+      r2.put(k2, server_k2);
+
+      assertEquals(r1.getEntry(k1).getValue(), server_k1);
+      assertEquals(r1.getEntry(k2).getValue(), server_k2);
+      assertEquals(r2.getEntry(k1).getValue(), server_k1);
+      assertEquals(r2.getEntry(k2).getValue(), server_k2);
+    }
+    catch (Exception ex) {
+      fail("failed while put()", ex);
+    }
+  }
+
+  public static void verifyUpdates()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      final Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      final Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r1);
+      assertNotNull(r2);
+      // verify updates
+      WaitCriterion wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r1.getEntry(k1).getValue();
+          return k1.equals(val);
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+      
+      // assertEquals(k1, r1.getEntry(k1).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r1.getEntry(k2).getValue();
+          return k2.equals(val);
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+      
+      // assertEquals(k2, r1.getEntry(k2).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r2.getEntry(k1).getValue();
+          return server_k1.equals(val);
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+      
+      // assertEquals(server_k1, r2.getEntry(k1).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r2.getEntry(k2).getValue();
+          return server_k2.equals(val);
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+      
+      // assertEquals(server_k2, r2.getEntry(k2).getValue());
+    }
+    catch (Exception ex) {
+      fail("failed while verifyUpdates()", ex);
+    }
+  }
+
+  public static void verifyInvalidatesOnBothRegions()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      final Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
+      final Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r1);
+      assertNotNull(r2);
+      
+      WaitCriterion wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r1.getEntry(k1).getValue();
+          return val == null;
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
+      
+      // assertNull(r1.getEntry(k1).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r1.getEntry(k1).getValue();
+          return val == null;
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
+      
+      // assertNull(r1.getEntry(k2).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r1.getEntry(k2).getValue();
+          return val == null;
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
+      
+
+      // assertNull(r2.getEntry(k1).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r2.getEntry(k1).getValue();
+          return val == null;
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
+      
+      // assertNull(r2.getEntry(k2).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r2.getEntry(k2).getValue();
+          return val == null;
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
+    }
+    catch (Exception ex) {
+      fail("failed while verifyInvalidatesOnBothRegions()", ex);
+    }
+  }
+
+  public static void verifyUpdatesOnRegion2()
+  {
+    try {
+      Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+      final Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
+      assertNotNull(r2);
+      WaitCriterion wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r2.getEntry(k1).getValue();
+          return server_k1.equals(val);
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+      
+      // assertEquals(server_k1, r2.getEntry(k1).getValue());
+      wc = new WaitCriterion() {
+        String excuse;
+        public boolean done() {
+          Object val = r2.getEntry(k2).getValue();
+          return server_k2.equals(val);
+        }
+        public String description() {
+          return excuse;
+        }
+      };
+      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
+      
+      // assertEquals(server_k2, r2.getEntry(k2).getValue());
+    }
+    catch (Exception ex) {
+      fail("failed while verifyUpdatesOnRegion2()", ex);
+    }
+  }
+
+  public void tearDown2() throws Exception
+  {
+    super.tearDown2();
+    // close the clients first
+    closeCache();
+    // then close the servers
+    server1.invoke(ClientServerMiscDUnitTest.class, "closeCache");
+
+  }
+
+  public static void closeCache()
+  {
+    Cache cache = new ClientServerMiscDUnitTest("temp").getCache();
+    if (cache != null && !cache.isClosed()) {
+      cache.close();
+      cache.getDistributedSystem().disconnect();
+    }
+  }
+
+  /**
+   * set the boolean for starting the dispatcher thread a bit later to FALSE.
+   * This is just a precaution in case any test set it to true and did not unset
+   * it on completion.
+   *
+   */
+  public static void unsetSlowDispatcherFlag()
+  {
+    CacheClientProxy.isSlowStartForTesting = false;
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscSelectorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscSelectorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscSelectorDUnitTest.java
new file mode 100644
index 0000000..9b7c13e
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientServerMiscSelectorDUnitTest.java
@@ -0,0 +1,27 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache.tier.sockets;
+
+
+/**
+ * Just like parent but enables server thread pool
+ * (ie. selector)
+ *
+ * @author darrel
+ *
+ */
+public class ClientServerMiscSelectorDUnitTest extends ClientServerMiscDUnitTest
+{
+  public ClientServerMiscSelectorDUnitTest(String name) {
+    super(name);
+  }
+
+  protected int getMaxThreads() {
+    return 2; 
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConflationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConflationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConflationDUnitTest.java
index 35eb52d..88ec5d0 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConflationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConflationDUnitTest.java
@@ -19,14 +19,14 @@ import com.gemstone.gemfire.cache.EntryEvent;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.HARegion;
 import com.gemstone.gemfire.internal.cache.ha.HAHelper;
@@ -131,7 +131,7 @@ public class ConflationDUnitTest extends DistributedTestCase
       createClientCache1UniqueWriter ( getServerHostName(Host.getHost(0)), new Integer(PORT));
       vm2.invoke(ConflationDUnitTest.class, "createClientCache2UniqueWriter",
           new Object[] { getServerHostName(Host.getHost(0)), new Integer(PORT)});
-      vm2.invoke(ConflationDUnitTest.class, "setBridgeObserverForBeforeInterestRecovery");
+      vm2.invoke(ConflationDUnitTest.class, "setClientServerObserverForBeforeInterestRecovery");
       vm2.invoke(ConflationDUnitTest.class, "setAllCountersZero");
       vm2.invoke(ConflationDUnitTest.class, "assertAllCountersZero");
       vm2.invoke(ConflationDUnitTest.class, "registerInterest");
@@ -162,7 +162,7 @@ public class ConflationDUnitTest extends DistributedTestCase
       createClientCache1CommonWriter( getServerHostName(Host.getHost(0)), new Integer(PORT));
       vm2.invoke(ConflationDUnitTest.class, "createClientCache2CommonWriter",
           new Object[] { getServerHostName(Host.getHost(0)), new Integer(PORT)});
-      vm2.invoke(ConflationDUnitTest.class, "setBridgeObserverForBeforeInterestRecovery");
+      vm2.invoke(ConflationDUnitTest.class, "setClientServerObserverForBeforeInterestRecovery");
       vm2.invoke(ConflationDUnitTest.class, "setAllCountersZero");
       vm2.invoke(ConflationDUnitTest.class, "assertAllCountersZero");
       vm2.invoke(ConflationDUnitTest.class, "registerInterest");
@@ -195,7 +195,7 @@ public class ConflationDUnitTest extends DistributedTestCase
       vm2.invoke(ConflationDUnitTest.class,
           "createClientCache2CommonWriterTest3", new Object[] {
         getServerHostName(Host.getHost(0)), new Integer(PORT) });
-      vm2.invoke(ConflationDUnitTest.class, "setBridgeObserverForBeforeInterestRecovery");
+      vm2.invoke(ConflationDUnitTest.class, "setClientServerObserverForBeforeInterestRecovery");
       vm2.invoke(ConflationDUnitTest.class, "setAllCountersZero");
       vm2.invoke(ConflationDUnitTest.class, "assertAllCountersZero");
       vm2.invoke(ConflationDUnitTest.class, "registerInterest");
@@ -484,10 +484,10 @@ public class ConflationDUnitTest extends DistributedTestCase
    * reset all counters to zero before interest recovery
    *
    */
-  public static void setBridgeObserverForBeforeInterestRecovery()
+  public static void setClientServerObserverForBeforeInterestRecovery()
   {
     PoolImpl.BEFORE_RECOVER_INTEREST_CALLBACK_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void beforeInterestRecovery()
       {
         setAllCountersZero();
@@ -648,7 +648,7 @@ public class ConflationDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME1, attrs);
     cache.createRegion(REGION_NAME2, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
     server.setPort(port);
     server.setNotifyBySubscription(true);
@@ -793,8 +793,8 @@ public class ConflationDUnitTest extends DistributedTestCase
   public static void getStatsOnServer()
   {
     Cache cache = GemFireCacheImpl.getInstance();
-    Iterator itr = cache.getBridgeServers().iterator();
-    BridgeServerImpl server = (BridgeServerImpl)itr.next();
+    Iterator itr = cache.getCacheServers().iterator();
+    CacheServerImpl server = (CacheServerImpl)itr.next();
     Iterator iter_prox = server.getAcceptor().getCacheClientNotifier()
         .getClientProxies().iterator();
     int ccpCount=0;


[06/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientServerTestCase.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientServerTestCase.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientServerTestCase.java
new file mode 100644
index 0000000..c645549
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientServerTestCase.java
@@ -0,0 +1,376 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.cache30;
+
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Properties;
+
+import com.gemstone.gemfire.cache.AttributesFactory;
+import com.gemstone.gemfire.cache.Cache;
+import com.gemstone.gemfire.cache.Declarable;
+import com.gemstone.gemfire.cache.LoaderHelper;
+import com.gemstone.gemfire.cache.Region;
+import com.gemstone.gemfire.cache.RegionAttributes;
+import com.gemstone.gemfire.cache.Scope;
+import com.gemstone.gemfire.cache.client.Pool;
+import com.gemstone.gemfire.cache.client.PoolFactory;
+import com.gemstone.gemfire.cache.client.PoolManager;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.distributed.DistributedMember;
+import com.gemstone.gemfire.distributed.DistributedSystem;
+import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
+import com.gemstone.gemfire.internal.AvailablePortHelper;
+
+import dunit.VM;
+
+/**
+ * Provides helper methods for testing clients and servers. This
+ * test case was created by refactoring methods from ConnectionPoolDUnitTest into
+ * this class.
+ *
+ * @author Kirk Lund
+ * @since 4.2.1
+ */
+public class ClientServerTestCase extends CacheTestCase {
+  
+  public static String NON_EXISTENT_KEY = "NON_EXISTENT_KEY";
+  
+  public static boolean AUTO_LOAD_BALANCE = false;
+
+  @Override
+  public void setUp() throws Exception {
+    super.setUp();
+    // this makes sure we don't have any connection left over from previous tests
+    disconnectAllFromDS();
+  }
+  
+  @Override
+  public void tearDown2() throws Exception {
+    // this makes sure we don't leave anything for the next tests
+    disconnectAllFromDS();
+  }
+
+  public ClientServerTestCase(String name) {
+    super(name);
+  }
+
+  /**
+   * Starts a bridge server on the given port
+   *
+   * @since 4.0
+   */
+  public int startBridgeServer(int port)
+    throws IOException {
+
+    Cache cache = getCache();
+    CacheServer bridge = cache.addCacheServer();
+    bridge.setPort(port);
+    bridge.setMaxThreads(getMaxThreads());
+    bridge.start();
+    return bridge.getPort();
+  }
+
+  /**
+   * Defaults to 0 which means no selector in server.
+   * Subclasses can override setting this to a value > 0 to enable selector.
+   */
+  protected int getMaxThreads() {
+    return 0;
+  }
+  
+  /**
+   * Stops the bridge server that serves up the given cache.
+   *
+   * @since 4.0
+   */
+  public void stopBridgeServers(Cache cache) {
+    CacheServer bridge = null;
+    for (Iterator bsI = cache.getCacheServers().iterator();bsI.hasNext(); ) {
+      bridge = (CacheServer) bsI.next();
+    bridge.stop();
+    assertFalse(bridge.isRunning());
+  }
+  }
+
+  /**
+   * Returns region attributes for a <code>LOCAL</code> region
+   */
+  protected RegionAttributes getRegionAttributes() {
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+    return factory.create();
+  }
+
+  public static String createBridgeClientConnection(String host, int[] ports) {
+    StringBuffer sb = new StringBuffer();
+    for (int i = 0; i < ports.length; i++) {
+      if (i > 0) {
+        sb.append(",");
+      }
+      sb.append("name" + i + "=");
+      sb.append(host + ":" + ports[i]);
+    }
+    return sb.toString();
+  }
+
+  public static Pool configureConnectionPool(AttributesFactory factory,
+      String host, int port1, int port2, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup, int pingInterval,
+      int idleTimeout, boolean threadLocalCnxs, int lifetimeTimeout) {
+    int[] ports;
+    if (port2 != -1) {
+      ports = new int[] { port1, port2 };
+    }
+    else {
+      ports = new int[] { port1 };
+    }
+    return configureConnectionPool(factory, host, ports, establish, redundancy,
+        connectionsPerServer, serverGroup, pingInterval, idleTimeout,
+        threadLocalCnxs, lifetimeTimeout);
+  }
+
+  public static Pool configureConnectionPool(AttributesFactory factory,
+      String host, int port1, int port2, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup, int pingInterval,
+      int idleTimeout, boolean threadLocalCnxs) {
+    return configureConnectionPool(factory, host, port1, port2, establish,
+        redundancy, connectionsPerServer, serverGroup, pingInterval,
+        idleTimeout, threadLocalCnxs, -2/*lifetimeTimeout*/);
+  }
+
+  public static Pool configureConnectionPool(AttributesFactory factory,
+      String host, int port1, int port2, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup, int pingInterval) {
+    return configureConnectionPool(factory, host, port1, port2, establish,
+        redundancy, connectionsPerServer, serverGroup, pingInterval, -1, false);
+  }
+
+  public static Pool configureConnectionPool(AttributesFactory factory,
+      String host, int port1, int port2, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup) {
+    return configureConnectionPool(factory, host, port1, port2, establish,
+        redundancy, connectionsPerServer, serverGroup, -1/*pingInterval*/);
+  }
+
+  public static Pool configureConnectionPoolWithName(AttributesFactory factory,
+      String host, int[] ports, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup, String poolName) {
+    return configureConnectionPoolWithNameAndFactory(factory, host, ports,
+        establish, redundancy, connectionsPerServer, serverGroup, poolName,
+        PoolManager.createFactory(), -1, -1, false, -2, -1);
+  }
+
+  public static Pool configureConnectionPoolWithName(AttributesFactory factory,
+      String host, int[] ports, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup, String poolName,
+      int pingInterval, int idleTimeout, boolean threadLocalCnxs,
+      int lifetimeTimeout, int statisticInterval) {
+    return configureConnectionPoolWithNameAndFactory(factory, host, ports,
+        establish, redundancy, connectionsPerServer, serverGroup, poolName,
+        PoolManager.createFactory(), pingInterval, idleTimeout,
+        threadLocalCnxs, lifetimeTimeout, statisticInterval);
+  }
+
+  public static Pool configureConnectionPoolWithNameAndFactory(
+      AttributesFactory factory, String host, int[] ports, boolean establish,
+      int redundancy, int connectionsPerServer, String serverGroup,
+      String poolName, PoolFactory pf) {
+    return configureConnectionPoolWithNameAndFactory(factory, host, ports,
+        establish, redundancy, connectionsPerServer, serverGroup, poolName, pf,
+        -1, -1, false, -2, -1);
+  }
+
+  public static Pool configureConnectionPoolWithNameAndFactory(
+      AttributesFactory factory, String host, int[] ports, boolean establish,
+      int redundancy, int connectionsPerServer, String serverGroup,
+      String poolName, PoolFactory pf, int pingInterval, int idleTimeout,
+      boolean threadLocalCnxs, int lifetimeTimeout, int statisticInterval) {
+
+    if(AUTO_LOAD_BALANCE) {
+      pf.addLocator(host,getDUnitLocatorPort());
+    } else {
+      for(int z=0;z<ports.length;z++) {
+        pf.addServer(host,ports[z]);
+      }
+    }
+    
+    //TODO - probably should pass in minConnections rather than connecions per server
+    if(connectionsPerServer!=-1) {
+      pf.setMinConnections(connectionsPerServer * ports.length);
+    }
+    if (threadLocalCnxs) {
+      pf.setThreadLocalConnections(true);
+    }
+    if (pingInterval != -1) {
+      pf.setPingInterval(pingInterval);
+    }
+    if (idleTimeout != -1) {
+      pf.setIdleTimeout(idleTimeout);
+    }
+    if (statisticInterval != -1) {
+      pf.setStatisticInterval(statisticInterval);
+    }
+    if (lifetimeTimeout != -2) {
+      pf.setLoadConditioningInterval(lifetimeTimeout);
+    }
+    if(establish) {
+      pf.setSubscriptionEnabled(true);
+      pf.setSubscriptionRedundancy(redundancy);
+      pf.setSubscriptionAckInterval(1);
+    }
+    if(serverGroup!=null) {
+      pf.setServerGroup(serverGroup);
+    }
+    String rpoolName = "testPool";
+    if(poolName!=null) {
+      rpoolName = poolName;
+    }
+    Pool pool  = pf.create(rpoolName);
+    if(factory!=null) {
+      factory.setPoolName(rpoolName);
+    }
+    return pool;
+  }
+
+  public static Pool configureConnectionPool(AttributesFactory factory,
+      String host, int[] ports, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup) {
+    return configureConnectionPool(factory, host, ports, establish, redundancy,
+        connectionsPerServer, serverGroup, -1/*pingInterval*/,
+        -1/*idleTimeout*/, false/*threadLocalCnxs*/, -2/*lifetimeTimeout*/);
+  }
+
+  public static Pool configureConnectionPool(AttributesFactory factory,
+      String host, int[] ports, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup, int pingInterval,
+      int idleTimeout, boolean threadLocalCnxs, int lifetimeTimeout) {
+    return configureConnectionPoolWithName(factory, host, ports, establish,
+        redundancy, connectionsPerServer, serverGroup, null/*poolName*/,
+        pingInterval, idleTimeout, threadLocalCnxs, lifetimeTimeout, -1);
+  }
+
+  public static Pool configureConnectionPool(AttributesFactory factory,
+      String host, int[] ports, boolean establish, int redundancy,
+      int connectionsPerServer, String serverGroup, int pingInterval,
+      int idleTimeout, boolean threadLocalCnxs, int lifetimeTimeout,
+      int statisticInterval) {
+    return configureConnectionPoolWithName(factory, host, ports, establish,
+        redundancy, connectionsPerServer, serverGroup, null/*poolName*/,
+        pingInterval, idleTimeout, threadLocalCnxs, lifetimeTimeout,
+        statisticInterval);
+  }
+
+  /*protected static InternalDistributedMember findDistributedMember() {
+    DM dm = ((InternalDistributedSystem)
+      InternalDistributedSystem.getAnyInstance()).getDistributionManager();
+    return dm.getDistributionManagerId();
+  }*/
+
+  protected static String getMemberId() {
+    final InternalDistributedSystem system = InternalDistributedSystem.getAnyInstance();
+    WaitCriterion w = new WaitCriterion() {
+
+      public String description() {
+        return "bridge never finished connecting";
+      }
+
+      public boolean done() {
+//        getLogWriter().warning("checking member id " + system.getMemberId() +
+//            " for member " + system.getDistributedMember() + " hash " +
+//            System.identityHashCode(system.getDistributedMember()));
+        return !system.getMemberId().contains("):0:");
+      }
+      
+    };
+    int waitMillis = 5000;
+    int interval = 100;
+    boolean throwException = true;
+    waitForCriterion(w, waitMillis, interval, throwException);
+    return system.getMemberId();
+  }
+
+  protected static DistributedMember getDistributedMember() {
+    DistributedSystem system = InternalDistributedSystem.getAnyInstance();
+    return system.getDistributedMember();
+  }
+
+  protected static Properties getSystemProperties() {
+    DistributedSystem system = InternalDistributedSystem.getAnyInstance();
+    return system.getProperties();
+  }
+
+  public static class CacheServerCacheLoader extends TestCacheLoader implements Declarable {
+
+    public CacheServerCacheLoader() {}
+
+    @Override
+    public Object load2(LoaderHelper helper) {
+      if (helper.getArgument() instanceof Integer) {
+        try {
+          Thread.sleep(((Integer) helper.getArgument()).intValue());
+        }
+        catch (InterruptedException ugh) { fail("interrupted"); }
+      }
+      Object ret = helper.getKey();
+      
+      if( ret instanceof String)
+      {
+        if(ret != null && ret.equals(NON_EXISTENT_KEY))
+          return null;//return null
+      }
+      return ret;
+      
+    }
+
+    public void init(Properties props)  {}
+  }
+
+  public final static String BridgeServerKey = "BridgeServerKey";
+  /**
+   * Create a server that has a value for every key queried and a unique
+   * key/value in the specified Region that uniquely identifies each instance.
+   *
+   * @param vm
+   *          the VM on which to create the server
+   * @param rName
+   *          the name of the Region to create on the server
+   * @param port
+   *          the TCP port on which the server should listen
+   */
+  public void createBridgeServer(VM vm, final String rName, final int port) {
+    vm.invoke(new CacheSerializableRunnable("Create Region on Server") {
+    @Override
+    public void run2() {
+      try {
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.DISTRIBUTED_ACK); // can't be local since used with registerInterest
+        factory.setCacheLoader(new CacheServerCacheLoader());
+        beginCacheXml();
+        createRootRegion(rName, factory.create());
+        startBridgeServer(port);
+        finishCacheXml(rName + "-" + port);
+
+        Region region = getRootRegion(rName);
+        assertNotNull(region);
+        region.put(BridgeServerKey, new Integer(port)); // A unique key/value to identify the BridgeServer
+      }
+      catch(Exception e) {
+        getSystem().getLogWriter().severe(e);
+        fail("Failed to start CacheServer " + e);
+      }
+    }
+  });
+  }
+
+  public static int[] createUniquePorts(int numToCreate) {
+    return AvailablePortHelper.getRandomAvailableTCPPorts(numToCreate);
+  }
+
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/AbstractServerLauncherJUnitTestCase.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/AbstractServerLauncherJUnitTestCase.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/AbstractServerLauncherJUnitTestCase.java
index dc506ad..ca676a5 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/AbstractServerLauncherJUnitTestCase.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/AbstractServerLauncherJUnitTestCase.java
@@ -14,7 +14,7 @@ import com.gemstone.gemfire.distributed.AbstractLauncher.Status;
 import com.gemstone.gemfire.distributed.ServerLauncher.ServerState;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
-import com.gemstone.gemfire.internal.cache.AbstractBridgeServer;
+import com.gemstone.gemfire.internal.cache.AbstractCacheServer;
 
 /**
  * @author Kirk Lund
@@ -35,7 +35,7 @@ public abstract class AbstractServerLauncherJUnitTestCase extends AbstractLaunch
   public final void setUpServerLauncherTest() throws Exception {
     System.setProperty("gemfire." + DistributionConfig.MCAST_PORT_NAME, Integer.toString(0));
     final int port = AvailablePortHelper.getRandomAvailableTCPPort();
-    System.setProperty(AbstractBridgeServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY, String.valueOf(port));
+    System.setProperty(AbstractCacheServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY, String.valueOf(port));
     this.serverPort = port;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherLocalJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherLocalJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherLocalJUnitTest.java
index 44849f8..e83c8ac 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherLocalJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherLocalJUnitTest.java
@@ -21,7 +21,7 @@ import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
 import com.gemstone.gemfire.internal.GemFireVersion;
 import com.gemstone.gemfire.internal.SocketCreator;
-import com.gemstone.gemfire.internal.cache.AbstractBridgeServer;
+import com.gemstone.gemfire.internal.cache.AbstractCacheServer;
 import com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation;
 import com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlGenerator;
 import com.gemstone.gemfire.internal.cache.xmlcache.RegionAttributesCreation;
@@ -605,7 +605,7 @@ public class ServerLauncherLocalJUnitTest extends AbstractServerLauncherJUnitTes
       this.launcher.start();
      
       // why did it not fail like it's supposed to?
-      final String property = System.getProperty(AbstractBridgeServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY);
+      final String property = System.getProperty(AbstractCacheServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY);
       assertNotNull(property);
       assertEquals(this.serverPort, Integer.valueOf(property).intValue());
       assertFalse(AvailablePort.isPortAvailable(this.serverPort, AvailablePort.SOCKET));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
index 1ba1189..d43ad0a 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/ServerLauncherRemoteJUnitTest.java
@@ -40,7 +40,7 @@ import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
 import com.gemstone.gemfire.internal.GemFireVersion;
 import com.gemstone.gemfire.internal.SocketCreator;
-import com.gemstone.gemfire.internal.cache.AbstractBridgeServer;
+import com.gemstone.gemfire.internal.cache.AbstractCacheServer;
 import com.gemstone.gemfire.internal.cache.xmlcache.CacheCreation;
 import com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlGenerator;
 import com.gemstone.gemfire.internal.cache.xmlcache.RegionAttributesCreation;
@@ -397,7 +397,7 @@ public class ServerLauncherRemoteJUnitTest extends AbstractServerLauncherJUnitTe
     
     // build and start the server
     final List<String> jvmArguments = getJvmArguments();
-    jvmArguments.add("-D" + AbstractBridgeServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY + "=" + this.serverPort);
+    jvmArguments.add("-D" + AbstractCacheServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY + "=" + this.serverPort);
     
     final List<String> command = new ArrayList<String>();
     command.add(new File(new File(System.getProperty("java.home"), "bin"), "java").getCanonicalPath());
@@ -463,7 +463,7 @@ public class ServerLauncherRemoteJUnitTest extends AbstractServerLauncherJUnitTe
     
     // build and start the server
     final List<String> jvmArguments = getJvmArguments();
-    jvmArguments.add("-D" + AbstractBridgeServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY + "=" + this.serverPort);
+    jvmArguments.add("-D" + AbstractCacheServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY + "=" + this.serverPort);
     
     final List<String> command = new ArrayList<String>();
     command.add(new File(new File(System.getProperty("java.home"), "bin"), "java").getCanonicalPath());
@@ -832,7 +832,7 @@ public class ServerLauncherRemoteJUnitTest extends AbstractServerLauncherJUnitTe
     
     // launch server
     final List<String> jvmArguments = getJvmArguments();
-    jvmArguments.add("-D" + AbstractBridgeServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY + "=" + this.serverPort);
+    jvmArguments.add("-D" + AbstractCacheServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY + "=" + this.serverPort);
     
     final List<String> command = new ArrayList<String>();
     command.add(new File(new File(System.getProperty("java.home"), "bin"), "java").getCanonicalPath());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/ProductUseLogDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/ProductUseLogDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/ProductUseLogDUnitTest.java
index 6a20f15..d4eab5d 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/ProductUseLogDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/ProductUseLogDUnitTest.java
@@ -18,7 +18,7 @@ import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.Locator;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/disttx/DistributedTransactionDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/disttx/DistributedTransactionDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/disttx/DistributedTransactionDUnitTest.java
index 79d6f64..447b32e 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/disttx/DistributedTransactionDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/disttx/DistributedTransactionDUnitTest.java
@@ -25,7 +25,7 @@ import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.ReplyException;
 import com.gemstone.gemfire.i18n.LogWriterI18n;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.BucketRegion;
 import com.gemstone.gemfire.internal.cache.DistTXState;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
@@ -130,7 +130,7 @@ public class DistributedTransactionDUnitTest extends CacheTestCase {
         int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
         CacheServer s = getCache().addCacheServer();
         s.setPort(port);
-        ((BridgeServerImpl) s).setTransactionTimeToLive(10);
+        ((CacheServerImpl) s).setTransactionTimeToLive(10);
         s.start();
         return port;
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug39079DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug39079DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug39079DUnitTest.java
index ca1af49..6f52a0d 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug39079DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug39079DUnitTest.java
@@ -27,7 +27,7 @@ import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -322,7 +322,7 @@ public class Bug39079DUnitTest extends CacheTestCase {
     
     region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(gemfirecache, props, Scope.DISTRIBUTED_ACK);
     assertNotNull(region);
-    BridgeServer bs1 = gemfirecache.addBridgeServer();
+    CacheServer bs1 = gemfirecache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     bs1.setPort(port);
     bs1.start();
@@ -369,7 +369,7 @@ public class Bug39079DUnitTest extends CacheTestCase {
       assertTrue(region.getRegionService().isClosed());
       
       region = null;
-      List bsRunning = gemfirecache.getBridgeServers();
+      List bsRunning = gemfirecache.getCacheServers();
       assertTrue(bsRunning.isEmpty());
     }
     finally {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug41957DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug41957DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug41957DUnitTest.java
index 67b6790..81fdadb 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug41957DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/Bug41957DUnitTest.java
@@ -12,7 +12,7 @@ import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.cache.PartitionedRegion;
 
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 
 import com.gemstone.gemfire.cache.client.*;
@@ -30,7 +30,7 @@ import java.util.*;
  * @author darrel
  * @since 6.5
  */
- public class Bug41957DUnitTest extends BridgeTestCase {
+ public class Bug41957DUnitTest extends ClientServerTestCase {
 
   public Bug41957DUnitTest(String name) {
     super(name);
@@ -79,7 +79,7 @@ import java.util.*;
 
         // Create Region
         AttributesFactory factory = new AttributesFactory();
-        factory.setCacheLoader(new BridgeServerCacheLoader());
+        factory.setCacheLoader(new CacheServerCacheLoader());
         if (createPR) {
           factory.setDataPolicy(DataPolicy.PARTITION);
           factory.setPartitionAttributes((new PartitionAttributesFactory()).create());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
index 21c1a5b..196f3ee 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientMessagesRegionCreationAndDestroyJUnitTest.java
@@ -67,7 +67,7 @@ public class ClientMessagesRegionCreationAndDestroyJUnitTest {
    */
   
   private void attachBridgeServer() throws IOException {
-    BridgeServerImpl server = (BridgeServerImpl)cache.addBridgeServer();
+    CacheServerImpl server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -80,7 +80,7 @@ public class ClientMessagesRegionCreationAndDestroyJUnitTest {
         Region.SEPARATOR + regionName).getAttributes().getEvictionAttributes();
     assertTrue("Eviction Algorithm is not LIFO", ea.isLIFO());
     // The CacheClientNotifier is a singleton. 
-    if (cache.getBridgeServers().size() <= 1) {
+    if (cache.getCacheServers().size() <= 1) {
       assertTrue("client messages region name should not be present ", (regionNames).add(regionName));
     } else {
       assertTrue("client messages region name should have been already present ", (regionNames).contains(regionName));      
@@ -106,7 +106,7 @@ public class ClientMessagesRegionCreationAndDestroyJUnitTest {
    * Attach bridge server
    */
   private void attachmentOfBridgeServer() {
-    if (cache.getBridgeServers().size() < brigeNum) {
+    if (cache.getCacheServers().size() < brigeNum) {
       try {
         // attaching and starting bridge server
         attachBridgeServer();
@@ -122,8 +122,8 @@ public class ClientMessagesRegionCreationAndDestroyJUnitTest {
    */
   private void dettachmentOfBridgeServer() {
     // detach all bridge server to test destroy of client_messages_region
-    for (Iterator itr = cache.getBridgeServers().iterator(); itr.hasNext();) {
-      BridgeServerImpl server = (BridgeServerImpl)itr.next();
+    for (Iterator itr = cache.getCacheServers().iterator(); itr.hasNext();) {
+      CacheServerImpl server = (CacheServerImpl)itr.next();
       String rName = ((HAContainerWrapper)server.getAcceptor().getCacheClientNotifier().getHaContainer()).getName();
       assertNotNull("client messages region is null ", cache.getRegion(Region.SEPARATOR + rName));
       server.stop();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerGetAllDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerGetAllDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerGetAllDUnitTest.java
index 5a9cd77..8716ccb 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerGetAllDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerGetAllDUnitTest.java
@@ -13,10 +13,10 @@ import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.AvailablePortHelper;
 import com.gemstone.gemfire.internal.cache.PartitionedRegion;
 import com.gemstone.gemfire.internal.offheap.SimpleMemoryAllocatorImpl;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache.client.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 
 import dunit.*;
 
@@ -28,7 +28,7 @@ import java.util.*;
  * @author Barry Oglesby
  * @since 5.7
  */
- public class ClientServerGetAllDUnitTest extends BridgeTestCase {
+ public class ClientServerGetAllDUnitTest extends ClientServerTestCase {
 
   public ClientServerGetAllDUnitTest(String name) {
     super(name);
@@ -63,7 +63,7 @@ import java.util.*;
           keys.add("key-"+i);
         }
         
-        keys.add(BridgeTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
+        keys.add(ClientServerTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
         
         // Invoke getAll
         Region region = getRootRegion(regionName);
@@ -79,13 +79,13 @@ import java.util.*;
           String key = (String) i.next();
           assertTrue(result.containsKey(key));
           Object value = result.get(key);
-          if(!key.equals(BridgeTestCase.NON_EXISTENT_KEY))
+          if(!key.equals(ClientServerTestCase.NON_EXISTENT_KEY))
             assertEquals(key, value);
           else
             assertEquals(null, value);
         }
         
-        assertEquals(null, region.get(BridgeTestCase.NON_EXISTENT_KEY));
+        assertEquals(null, region.get(ClientServerTestCase.NON_EXISTENT_KEY));
       }
     });
 
@@ -115,7 +115,7 @@ import java.util.*;
           keys.add("key-"+i);
         }
         
-        keys.add(BridgeTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
+        keys.add(ClientServerTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
         
         // Invoke getAll
         Region region = getRootRegion(regionName);
@@ -131,13 +131,13 @@ import java.util.*;
           String key = (String) i.next();
           assertTrue(result.containsKey(key));
           Object value = result.get(key);
-          if(!key.equals(BridgeTestCase.NON_EXISTENT_KEY))
+          if(!key.equals(ClientServerTestCase.NON_EXISTENT_KEY))
             assertEquals(key, value);
           else
             assertEquals(null, value);
         }
         
-        assertEquals(null, region.get(BridgeTestCase.NON_EXISTENT_KEY));
+        assertEquals(null, region.get(ClientServerTestCase.NON_EXISTENT_KEY));
       }
     });
     checkServerForOrphans(server, regionName);
@@ -392,7 +392,7 @@ import java.util.*;
           keys.add("key-"+i);
         }
         
-        keys.add(BridgeTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
+        keys.add(ClientServerTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
         
         // Invoke getAll
         Region region = getRootRegion(regionName);
@@ -408,13 +408,13 @@ import java.util.*;
           String key = (String) i.next();
           assertTrue(result.containsKey(key));
           Object value = result.get(key);
-          if(!key.equals(BridgeTestCase.NON_EXISTENT_KEY))
+          if(!key.equals(ClientServerTestCase.NON_EXISTENT_KEY))
             assertEquals(key, value);
           else
             assertEquals(null, value);
         }
         
-        assertEquals(null, region.get(BridgeTestCase.NON_EXISTENT_KEY));
+        assertEquals(null, region.get(ClientServerTestCase.NON_EXISTENT_KEY));
       }
     });
 
@@ -467,7 +467,7 @@ import java.util.*;
         for (int i=0; i<5; i++) {
           keys.add("key-"+i);
         }
-        keys.add(BridgeTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
+        keys.add(ClientServerTestCase.NON_EXISTENT_KEY); // this will not be load CacheLoader
         
         // Invoke getAll
         
@@ -484,12 +484,12 @@ import java.util.*;
           String key = (String) i.next();
           assertTrue(result.containsKey(key));
           Object value = result.get(key);
-          if(!key.equals(BridgeTestCase.NON_EXISTENT_KEY))
+          if(!key.equals(ClientServerTestCase.NON_EXISTENT_KEY))
             assertEquals(key, value);
           else
             assertEquals(null, value);
         }
-        assertEquals(null, region.get(BridgeTestCase.NON_EXISTENT_KEY));
+        assertEquals(null, region.get(ClientServerTestCase.NON_EXISTENT_KEY));
       }
     });
 
@@ -663,9 +663,9 @@ import java.util.*;
           factory.setOffHeap(true);
         }
         if (expectCallback) {
-          factory.setCacheLoader(new CallbackBridgeServerCacheLoader());
+          factory.setCacheLoader(new CallbackCacheServerCacheLoader());
         } else {
-          factory.setCacheLoader(new BridgeServerCacheLoader());
+          factory.setCacheLoader(new CacheServerCacheLoader());
         }
         if (createPR) {
           factory.setDataPolicy(DataPolicy.PARTITION);
@@ -680,7 +680,7 @@ import java.util.*;
         }
         try {
           Cache cache = getCache();
-          BridgeServer bridge = cache.addBridgeServer();
+          CacheServer bridge = cache.addCacheServer();
           bridge.setPort(serverPort);
           // for off-heap I want the server to use a selector
           bridge.setMaxThreads(offheap ? 16 : getMaxThreads());
@@ -694,7 +694,7 @@ import java.util.*;
   
   private static final String CALLBACK_ARG = "ClientServerGetAllDUnitTestCB";
 
-  private static class CallbackBridgeServerCacheLoader extends BridgeServerCacheLoader {
+  private static class CallbackCacheServerCacheLoader extends CacheServerCacheLoader {
     @Override
     public Object load2(LoaderHelper helper) {
       if (helper.getArgument() instanceof String) {
@@ -702,7 +702,7 @@ import java.util.*;
           fail("Expected " + helper.getArgument() + " to be " + CALLBACK_ARG);
         }
       } else {
-        if (!helper.getKey().equals(BridgeTestCase.NON_EXISTENT_KEY)) {
+        if (!helper.getKey().equals(ClientServerTestCase.NON_EXISTENT_KEY)) {
           fail("Expected callback arg to be " + CALLBACK_ARG + " but it was null");
         }
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerTransactionDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerTransactionDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerTransactionDUnitTest.java
index 4b65a95..1bf0953 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerTransactionDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ClientServerTransactionDUnitTest.java
@@ -100,7 +100,7 @@ public class ClientServerTransactionDUnitTest extends RemoteTransactionDUnitTest
           int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
           CacheServer s = getCache().addCacheServer();
           s.setPort(port);
-          ((BridgeServerImpl)s).setTransactionTimeToLive(10);
+          ((CacheServerImpl)s).setTransactionTimeToLive(10);
           s.start();
           return port;
         }
@@ -125,7 +125,7 @@ public class ClientServerTransactionDUnitTest extends RemoteTransactionDUnitTest
           int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
           CacheServer s = cache.addCacheServer();
           s.setPort(port);
-          ((BridgeServerImpl)s).setTransactionTimeToLive(10);
+          ((CacheServerImpl)s).setTransactionTimeToLive(10);
           s.start();
           return port;
         }
@@ -193,7 +193,7 @@ public class ClientServerTransactionDUnitTest extends RemoteTransactionDUnitTest
         int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
         CacheServer s = getCache().addCacheServer();
         s.setPort(port);
-        ((BridgeServerImpl)s).setTransactionTimeToLive(10);
+        ((CacheServerImpl)s).setTransactionTimeToLive(10);
         s.start();
         return port;
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ConcurrentMapOpsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ConcurrentMapOpsDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ConcurrentMapOpsDUnitTest.java
index a34f6d2..88ce70a 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ConcurrentMapOpsDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ConcurrentMapOpsDUnitTest.java
@@ -48,7 +48,7 @@ import dunit.SerializableRunnable;
 import dunit.VM;
 
 /**
- * tests for the concurrentMapOperations. there are more tests in BridgeWriterMiscDUnitTest
+ * tests for the concurrentMapOperations. there are more tests in ClientServerMiscDUnitTest
  * @author sbawaska
  *
  */
@@ -1067,7 +1067,7 @@ public class ConcurrentMapOpsDUnitTest extends CacheTestCase {
             r.destroy("key0");
           }
           // force client to use server1 for now
-//          getCache().getBridgeServers().get(0).stop();
+//          getCache().getCacheServers().get(0).stop();
           r.getAttributesMutator().addCacheListener(new CacheListenerAdapter() {
             private void killSender(EntryEvent event) {
               if (event.isOriginRemote()) {
@@ -1104,7 +1104,7 @@ public class ConcurrentMapOpsDUnitTest extends CacheTestCase {
         public Object call() throws Exception {
           Region r = getCache().getRegion(regionName);
           // force client to use server1 for now
-//          getCache().getBridgeServers().get(0).stop();
+//          getCache().getCacheServers().get(0).stop();
           r.getAttributesMutator().addCacheListener(new CacheListenerAdapter() {
             private void killSender(EntryEvent event) {
               if (event.isOriginRemote()) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationDUnitTest.java
index f599687..c7d7923 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationDUnitTest.java
@@ -37,7 +37,7 @@ import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.compression.Compressor;
 import com.gemstone.gemfire.compression.SnappyCompressor;
 import com.gemstone.gemfire.distributed.DistributedSystem;
@@ -877,7 +877,7 @@ public class DeltaPropagationDUnitTest extends DistributedTestCase {
   public static void confirmEviction(Integer port) {
     final EnableLRU cc = ((VMLRURegionMap)((LocalRegion)cache
         .getRegion(Region.SEPARATOR
-            + BridgeServerImpl.generateNameForClientMsgsRegion(port))).entries)
+            + CacheServerImpl.generateNameForClientMsgsRegion(port))).entries)
         ._getCCHelper();
 
     WaitCriterion wc = new WaitCriterion() {
@@ -1376,7 +1376,7 @@ public class DeltaPropagationDUnitTest extends DistributedTestCase {
     props.setProperty(DistributionConfig.CLIENT_CONFLATION_PROP_NAME, conflate);
     new DeltaPropagationDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
-    pool = BridgeTestCase.configureConnectionPool(factory, "localhost", ports,
+    pool = ClientServerTestCase.configureConnectionPool(factory, "localhost", ports,
         true, Integer.parseInt(rLevel), 2, null, 1000, 250, false, -2);
 
     factory.setScope(Scope.LOCAL);
@@ -1423,7 +1423,7 @@ public class DeltaPropagationDUnitTest extends DistributedTestCase {
     try {
       // Get the clientMessagesRegion and check the size.
       Region region = (Region)cache.getRegion("/" + regionName);
-      Region msgsRegion = (Region)cache.getRegion(BridgeServerImpl
+      Region msgsRegion = (Region)cache.getRegion(CacheServerImpl
           .generateNameForClientMsgsRegion(port.intValue()));
       logger.fine("size<serverRegion, clientMsgsRegion>: " + region.size()
           + ", " + msgsRegion.size());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationStatsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationStatsDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationStatsDUnitTest.java
index e060b0d..968e3e8 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationStatsDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DeltaPropagationStatsDUnitTest.java
@@ -463,7 +463,7 @@ public class DeltaPropagationStatsDUnitTest extends DistributedTestCase {
       numOfDeltasSent = region.getCachePerfStats().getDeltasSent();
       deltaTime = region.getCachePerfStats().getDeltasPreparedTime();
     } else if (path == SERVER_TO_CLIENT) {
-      CacheClientNotifier ccn = ((BridgeServerImpl)cache.getCacheServers()
+      CacheClientNotifier ccn = ((CacheServerImpl)cache.getCacheServers()
           .toArray()[0]).getAcceptor().getCacheClientNotifier();
 
       numOfDeltasSent = ((CacheClientProxy)ccn.getClientProxies().toArray()[0])

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegionJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegionJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegionJUnitTest.java
index 9f85b6f..0c7328b 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegionJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/DiskRegionJUnitTest.java
@@ -24,7 +24,6 @@ import org.junit.Test;
 import org.junit.experimental.categories.Category;
 
 import static org.junit.Assert.*;
-
 import junit.framework.Assert;
 
 import com.gemstone.gemfire.SystemFailure;
@@ -34,7 +33,7 @@ import com.gemstone.gemfire.cache.EntryEvent;
 import com.gemstone.gemfire.cache.EntryNotFoundException;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.internal.cache.lru.LRUStatistics;
 import com.gemstone.gemfire.internal.cache.lru.NewLRUClockHand;
@@ -2341,7 +2340,7 @@ public class DiskRegionJUnitTest extends DiskRegionTestingBase
       props.setPersistBackup(true);
   
       region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, props, Scope.LOCAL);
-      BridgeServer bs1 = cache.addBridgeServer();
+      CacheServer bs1 = cache.addCacheServer();
       bs1.setPort(5555);
       bs1.start();
 
@@ -2459,7 +2458,7 @@ public class DiskRegionJUnitTest extends DiskRegionTestingBase
       props.setMaxOplogSize(100000); // just needs to be bigger than 65550
 
       region = DiskRegionHelperFactory.getSyncPersistOnlyRegion(cache, props, Scope.LOCAL);
-      BridgeServer bs1 = cache.addBridgeServer();
+      CacheServer bs1 = cache.addCacheServer();
       bs1.setPort(5555);
       bs1.start();      
 
@@ -2488,7 +2487,7 @@ public class DiskRegionJUnitTest extends DiskRegionTestingBase
       }
       assertTrue(region.isDestroyed());        
       region = null;
-      List bsRunning = cache.getBridgeServers();
+      List bsRunning = cache.getCacheServers();
       assertTrue(!bsRunning.isEmpty());
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/EventTrackerDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/EventTrackerDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/EventTrackerDUnitTest.java
index 9f1bc68..d72a9d6 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/EventTrackerDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/EventTrackerDUnitTest.java
@@ -23,7 +23,7 @@ import com.gemstone.gemfire.cache.RegionFactory;
 import com.gemstone.gemfire.cache.RegionShortcut;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.distributed.internal.DistributionManager;
@@ -160,7 +160,7 @@ public class EventTrackerDUnitTest extends CacheTestCase {
         getCache();
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, hostName, port, -1, false, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, hostName, port, -1, false, -1, -1, null);
         createRegion(regionName, factory.create());
       }
     });
@@ -233,7 +233,7 @@ public class EventTrackerDUnitTest extends CacheTestCase {
         getCache();
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, hostName, port, -1, false, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, hostName, port, -1, false, -1, -1, null);
         createRegion(regionName, factory.create());
       }
     });
@@ -311,7 +311,7 @@ public class EventTrackerDUnitTest extends CacheTestCase {
         getCache();
         AttributesFactory factory = new AttributesFactory();
         factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, hostName, port, -1, false, -1, -1, null);
+        ClientServerTestCase.configureConnectionPool(factory, hostName, port, -1, false, -1, -1, null);
         createRootRegion("partitioned", factory.create());
         createRootRegion("replicate", factory.create());
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/GridAdvisorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/GridAdvisorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/GridAdvisorDUnitTest.java
index 33f3b6d..693fe48 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/GridAdvisorDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/GridAdvisorDUnitTest.java
@@ -8,7 +8,7 @@
 package com.gemstone.gemfire.internal.cache;
 
 import com.gemstone.gemfire.cache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.*;
 import com.gemstone.gemfire.distributed.internal.*;
 import com.gemstone.gemfire.internal.AvailablePort.Keeper;
@@ -114,7 +114,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
         public void run() {
           try {
             Cache c = CacheFactory.getAnyInstance();
-            BridgeServer bs = c.addBridgeServer();
+            CacheServer bs = c.addCacheServer();
             bs.setPort(bsPort1);
             bs.setGroups(new String[] {"bs1Group1", "bs1Group2"});
             bs.start();
@@ -130,7 +130,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
           public void run() {
             try {
               Cache c = CacheFactory.getAnyInstance();
-              BridgeServer bs = c.addBridgeServer();
+              CacheServer bs = c.addCacheServer();
               bs.setPort(bsPort3);
               bs.setGroups(new String[] {"bs3Group1", "bs3Group2"});
               bs.start();
@@ -151,7 +151,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
       public void run() {
         try {
           Cache c = CacheFactory.getAnyInstance();
-          BridgeServer bs = c.addBridgeServer();
+          CacheServer bs = c.addCacheServer();
           bs.setPort(bsPort2);
           bs.setGroups(new String[] {"bs2Group1", "bs2Group2"});
           bs.start();
@@ -167,7 +167,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
       public void run() {
         try {
           Cache c = CacheFactory.getAnyInstance();
-          BridgeServer bs = c.addBridgeServer();
+          CacheServer bs = c.addCacheServer();
           bs.setPort(bsPort4);
           bs.setGroups(new String[] {"bs4Group1", "bs4Group2"});
           bs.start();
@@ -198,8 +198,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(4, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort1) {
                 assertEquals(Arrays.asList(new String[] {"bs1Group1", "bs1Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -234,8 +234,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(4, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort1) {
                 assertEquals(Arrays.asList(new String[] {"bs1Group1", "bs1Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -257,11 +257,11 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm1.invoke(new SerializableRunnable("Verify bridge server view on " + bsPort1 + " and on " + bsPort3) {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchBridgeServers();
             getLogWriter().info("found these bridgeservers in " + advisee + ": " + others);
             assertEquals(3, others.size());
@@ -285,11 +285,11 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm2.invoke(new SerializableRunnable("Verify bridge server view on " + bsPort2 + " and on " + bsPort4) {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchBridgeServers();
             getLogWriter().info("found these bridgeservers in " + advisee + ": " + others);
             assertEquals(3, others.size());
@@ -315,9 +315,9 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
       new SerializableRunnable("stop bridge server") {
           public void run() {
             Cache c = CacheFactory.getAnyInstance();
-            List bslist = c.getBridgeServers();
+            List bslist = c.getCacheServers();
             assertEquals(2, bslist.size());
-            BridgeServer bs = (BridgeServer)bslist.get(0);
+            CacheServer bs = (CacheServer)bslist.get(0);
             bs.stop();
           }
         };
@@ -342,8 +342,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(3, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort2) {
                 assertEquals(Arrays.asList(new String[] {"bs2Group1", "bs2Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -375,8 +375,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(3, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort2) {
                 assertEquals(Arrays.asList(new String[] {"bs2Group1", "bs2Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -427,11 +427,11 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm2.invoke(new SerializableRunnable("Verify bridge server saw locator stop") {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchControllers();
             assertEquals(1, others.size());
             for (int j=0; j < others.size(); j++) {
@@ -450,7 +450,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm1.invoke(new SerializableRunnable("Verify bridge server saw locator stop") {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
@@ -458,7 +458,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
               // skip this one since it is stopped
               continue;
             }
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchControllers();
             assertEquals(1, others.size());
             for (int j=0; j < others.size(); j++) {
@@ -480,9 +480,9 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
           public void run() {
             try {
               Cache c = CacheFactory.getAnyInstance();
-              List bslist = c.getBridgeServers();
+              List bslist = c.getCacheServers();
               assertEquals(2, bslist.size());
-              BridgeServer bs = (BridgeServer)bslist.get(0);
+              CacheServer bs = (CacheServer)bslist.get(0);
               bs.setHostnameForClients("nameForClients");
               bs.start();
             } catch (IOException ex) {
@@ -505,8 +505,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             List others = ca.fetchBridgeServers();
             assertEquals(4, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort1) {
                 assertEquals(Arrays.asList(new String[] {"bs1Group1", "bs1Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -632,7 +632,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
         public void run() {
           try {
             Cache c = CacheFactory.getAnyInstance();
-            BridgeServer bs = c.addBridgeServer();
+            CacheServer bs = c.addCacheServer();
             bs.setPort(bsPort1);
             bs.start();
           } catch (IOException ex) {
@@ -647,7 +647,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
           public void run() {
             try {
               Cache c = CacheFactory.getAnyInstance();
-              BridgeServer bs = c.addBridgeServer();
+              CacheServer bs = c.addCacheServer();
               bs.setPort(bsPort3);
               bs.start();
             } catch (IOException ex) {
@@ -667,7 +667,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
       public void run() {
         try {
           Cache c = CacheFactory.getAnyInstance();
-          BridgeServer bs = c.addBridgeServer();
+          CacheServer bs = c.addCacheServer();
           bs.setPort(bsPort2);
           bs.start();
         } catch (IOException ex) {
@@ -682,7 +682,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
       public void run() {
         try {
           Cache c = CacheFactory.getAnyInstance();
-          BridgeServer bs = c.addBridgeServer();
+          CacheServer bs = c.addCacheServer();
           bs.setPort(bsPort4);
           bs.start();
         } catch (IOException ex) {
@@ -712,8 +712,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(4, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort1) {
                 assertEquals(Arrays.asList(new String[] {"bs1Group1", "bs1Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -748,8 +748,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(4, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort1) {
                 assertEquals(Arrays.asList(new String[] {"bs1Group1", "bs1Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -771,11 +771,11 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm1.invoke(new SerializableRunnable("Verify bridge server view on " + bsPort1 + " and on " + bsPort3) {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchBridgeServers();
             getLogWriter().info("found these bridgeservers in " + advisee + ": " + others);
             assertEquals(3, others.size());
@@ -799,11 +799,11 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm2.invoke(new SerializableRunnable("Verify bridge server view on " + bsPort2 + " and on " + bsPort4) {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchBridgeServers();
             getLogWriter().info("found these bridgeservers in " + advisee + ": " + others);
             assertEquals(3, others.size());
@@ -829,9 +829,9 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
       new SerializableRunnable("stop bridge server") {
           public void run() {
             Cache c = CacheFactory.getAnyInstance();
-            List bslist = c.getBridgeServers();
+            List bslist = c.getCacheServers();
             assertEquals(2, bslist.size());
-            BridgeServer bs = (BridgeServer)bslist.get(0);
+            CacheServer bs = (CacheServer)bslist.get(0);
             bs.stop();
           }
         };
@@ -856,8 +856,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(3, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort2) {
                 assertEquals(Arrays.asList(new String[] {"bs2Group1", "bs2Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -889,8 +889,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             others = ca.fetchBridgeServers();
             assertEquals(3, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort2) {
                 assertEquals(Arrays.asList(new String[] {"bs2Group1", "bs2Group2"}),
                              Arrays.asList(bsp.getGroups()));
@@ -938,11 +938,11 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm2.invoke(new SerializableRunnable("Verify bridge server saw locator stop") {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchControllers();
             assertEquals(1, others.size());
             for (int j=0; j < others.size(); j++) {
@@ -961,7 +961,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
     vm1.invoke(new SerializableRunnable("Verify bridge server saw locator stop") {
         public void run() {
           Cache c = CacheFactory.getAnyInstance();
-          List bslist = c.getBridgeServers();
+          List bslist = c.getCacheServers();
           assertEquals(2, bslist.size());
           for (int i=0; i < bslist.size(); i++) {
             DistributionAdvisee advisee = (DistributionAdvisee)bslist.get(i);
@@ -969,7 +969,7 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
               // skip this one since it is stopped
               continue;
             }
-            BridgeServerAdvisor bsa = (BridgeServerAdvisor)advisee.getDistributionAdvisor();
+            CacheServerAdvisor bsa = (CacheServerAdvisor)advisee.getDistributionAdvisor();
             List others = bsa.fetchControllers();
             assertEquals(1, others.size());
             for (int j=0; j < others.size(); j++) {
@@ -991,9 +991,9 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
           public void run() {
             try {
               Cache c = CacheFactory.getAnyInstance();
-              List bslist = c.getBridgeServers();
+              List bslist = c.getCacheServers();
               assertEquals(2, bslist.size());
-              BridgeServer bs = (BridgeServer)bslist.get(0);
+              CacheServer bs = (CacheServer)bslist.get(0);
               bs.setHostnameForClients("nameForClients");
               bs.start();
             } catch (IOException ex) {
@@ -1016,8 +1016,8 @@ public class GridAdvisorDUnitTest extends DistributedTestCase {
             List others = ca.fetchBridgeServers();
             assertEquals(4, others.size());
             for (int j=0; j < others.size(); j++) {
-              BridgeServerAdvisor.BridgeServerProfile bsp =
-                (BridgeServerAdvisor.BridgeServerProfile)others.get(j);
+              CacheServerAdvisor.CacheServerProfile bsp =
+                (CacheServerAdvisor.CacheServerProfile)others.get(j);
               if (bsp.getPort() == bsPort1) {
                 assertEquals(Arrays.asList(new String[] {"bs1Group1", "bs1Group2"}),
                              Arrays.asList(bsp.getGroups()));

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HABug36773DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HABug36773DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HABug36773DUnitTest.java
index 5671ac0..e17c77d 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HABug36773DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HABug36773DUnitTest.java
@@ -24,8 +24,8 @@ import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -272,7 +272,7 @@ public class HABug36773DUnitTest extends DistributedTestCase
     new HABug36773DUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    BridgeTestCase.configureConnectionPool(factory, DistributedTestCase.getIPLiteral(), new int[] {PORT1,PORT2}, true, -1, 2, null);
+    ClientServerTestCase.configureConnectionPool(factory, DistributedTestCase.getIPLiteral(), new int[] {PORT1,PORT2}, true, -1, 2, null);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
   }
@@ -287,7 +287,7 @@ public class HABug36773DUnitTest extends DistributedTestCase
     factory.setEarlyAck(true);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HAOverflowMemObjectSizerDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HAOverflowMemObjectSizerDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HAOverflowMemObjectSizerDUnitTest.java
index ea368e0..158848c 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HAOverflowMemObjectSizerDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/HAOverflowMemObjectSizerDUnitTest.java
@@ -21,8 +21,8 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.InternalLocator;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -127,7 +127,7 @@ public class HAOverflowMemObjectSizerDUnitTest extends DistributedTestCase {
     RegionAttributes attrs = factory.create();
     Region region = cache.createRegion(regionName, attrs);
     assertNotNull(region);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     assertNotNull(server1);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setPort(port);
@@ -140,7 +140,7 @@ public class HAOverflowMemObjectSizerDUnitTest extends DistributedTestCase {
      * storing capacity controller reference
      */
     cc = ((VMLRURegionMap)((LocalRegion)cache.getRegion(Region.SEPARATOR
-        + BridgeServerImpl.generateNameForClientMsgsRegion(port))).entries)
+        + CacheServerImpl.generateNameForClientMsgsRegion(port))).entries)
         ._getCCHelper();
     return new Integer(server1.getPort());
   }
@@ -160,7 +160,7 @@ public class HAOverflowMemObjectSizerDUnitTest extends DistributedTestCase {
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
     factory.setDataPolicy(DataPolicy.NORMAL);
-    BridgeTestCase.configureConnectionPool(factory, host, port1.intValue(), -1, true, -1, 2, null, -1, -1, false);
+    ClientServerTestCase.configureConnectionPool(factory, host, port1.intValue(), -1, true, -1, 2, null, -1, -1, false);
     RegionAttributes attrs = factory.create();
     Region region = cache.createRegion(regionName, attrs);
     assertNotNull(region);
@@ -227,7 +227,7 @@ public class HAOverflowMemObjectSizerDUnitTest extends DistributedTestCase {
    */
   public static void sizerTestForMemCapacityController(Integer port) {
     region = cache.getRegion(Region.SEPARATOR
-        + BridgeServerImpl.generateNameForClientMsgsRegion(port.intValue()));
+        + CacheServerImpl.generateNameForClientMsgsRegion(port.intValue()));
     assertNotNull(region);
     Set entries = region.entrySet();
     assertTrue(entries.size() > 0);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/Bug51193DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/Bug51193DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/Bug51193DUnitTest.java
index 12f817f..6fab13c 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/Bug51193DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/execute/Bug51193DUnitTest.java
@@ -20,7 +20,7 @@ import com.gemstone.gemfire.cache.execute.ResultCollector;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.tier.ClientHandShake;
 import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
@@ -206,7 +206,7 @@ public class Bug51193DUnitTest extends DistributedTestCase {
     public void execute(FunctionContext context) {
       boolean timeoutMatches = false;
       int expected = (Integer)context.getArguments();
-      AcceptorImpl acceptor = ((BridgeServerImpl) cache.getCacheServers()
+      AcceptorImpl acceptor = ((CacheServerImpl) cache.getCacheServers()
           .get(0)).getAcceptor();
       ServerConnection[] scs = acceptor.getAllServerConnectionList();
       for (int i = 0; i < scs.length; ++i) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/functions/TestFunction.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/functions/TestFunction.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/functions/TestFunction.java
index 445ccd0..3ce15b2 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/functions/TestFunction.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/functions/TestFunction.java
@@ -24,7 +24,7 @@ import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.internal.Assert;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.PartitionedRegion;
 import com.gemstone.gemfire.internal.cache.PartitionedRegionDataStore;
@@ -927,7 +927,7 @@ public class TestFunction extends FunctionAdapter implements Declarable2 {
         } else {
           r.put("stopped", ++numTimesStopped);
           for (CacheServer s : servers) {
-            if (((BridgeServerImpl)s).getSystem().getDistributedMember().equals(
+            if (((CacheServerImpl)s).getSystem().getDistributedMember().equals(
                 ((GemFireCacheImpl)CacheFactory.getAnyInstance()).getMyId())) {
               s.stop();
               DistributedSystem ds = InternalDistributedSystem.getAnyInstance();
@@ -954,7 +954,7 @@ public class TestFunction extends FunctionAdapter implements Declarable2 {
       }
       
       for (CacheServer s : servers) {
-        if (((BridgeServerImpl)s).getSystem().getDistributedMember().equals(
+        if (((CacheServerImpl)s).getSystem().getDistributedMember().equals(
             ((GemFireCacheImpl)CacheFactory.getAnyInstance()).getMyId())) {
           s.stop();
           DistributedSystem ds = InternalDistributedSystem.getAnyInstance();
@@ -990,7 +990,7 @@ public class TestFunction extends FunctionAdapter implements Declarable2 {
         } else {
           r.put("stopped", ++numTimesStopped);
           for (CacheServer s : servers) {
-            if (((BridgeServerImpl)s).getSystem().getDistributedMember().equals(
+            if (((CacheServerImpl)s).getSystem().getDistributedMember().equals(
                 ((GemFireCacheImpl)CacheFactory.getAnyInstance()).getMyId())) {
               s.stop();
               DistributedSystem ds = InternalDistributedSystem.getAnyInstance();
@@ -1016,7 +1016,7 @@ public class TestFunction extends FunctionAdapter implements Declarable2 {
       }
       
       for (CacheServer s : servers) {
-        if (((BridgeServerImpl)s).getSystem().getDistributedMember().equals(
+        if (((CacheServerImpl)s).getSystem().getDistributedMember().equals(
             ((GemFireCacheImpl)CacheFactory.getAnyInstance()).getMyId())) {
           s.stop();
           DistributedSystem ds = InternalDistributedSystem.getAnyInstance();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug36853EventsExpiryDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug36853EventsExpiryDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug36853EventsExpiryDUnitTest.java
index b22ac27..b4932a3 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug36853EventsExpiryDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug36853EventsExpiryDUnitTest.java
@@ -19,9 +19,9 @@ import com.gemstone.gemfire.cache.EntryEvent;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -140,7 +140,7 @@ public class Bug36853EventsExpiryDUnitTest extends CacheTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
 
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -166,7 +166,7 @@ public class Bug36853EventsExpiryDUnitTest extends CacheTestCase
     new Bug36853EventsExpiryDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    BridgeTestCase.configureConnectionPool(factory, hostName, port.intValue(),-1, true, -1, 2, null);
+    ClientServerTestCase.configureConnectionPool(factory, hostName, port.intValue(),-1, true, -1, 2, null);
 
     factory.addCacheListener(new CacheListenerAdapter() {
       public void afterCreate(EntryEvent event)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
index edba084..2113472 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/Bug48571DUnitTest.java
@@ -19,7 +19,7 @@ import com.gemstone.gemfire.cache.client.ClientCacheFactory;
 import com.gemstone.gemfire.cache.client.ClientRegionFactory;
 import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/EventIdOptimizationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/EventIdOptimizationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/EventIdOptimizationDUnitTest.java
index 522f8bc..c2e7d85 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/EventIdOptimizationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/EventIdOptimizationDUnitTest.java
@@ -25,9 +25,9 @@ import com.gemstone.gemfire.cache.RegionEvent;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.cache.EntryEventImpl;
@@ -201,7 +201,7 @@ public class EventIdOptimizationDUnitTest extends DistributedTestCase
     for (int i = 0; i < eventIds.length; i++) {
       cache.createRegion(REGION_NAME + i, attrs);
     }
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -226,8 +226,8 @@ public class EventIdOptimizationDUnitTest extends DistributedTestCase
     new EventIdOptimizationDUnitTest("temp").createCache(props);
 
     AttributesFactory factory = new AttributesFactory();
-    BridgeTestCase.configureConnectionPool(factory, hostName, port.intValue(),-1, true, -1, 2, null);
-    final BridgeServer bs1 = cache.addBridgeServer();
+    ClientServerTestCase.configureConnectionPool(factory, hostName, port.intValue(),-1, true, -1, 2, null);
+    final CacheServer bs1 = cache.addCacheServer();
     bs1.setPort(port.intValue());
 
     pool = (PoolImpl)PoolManager.find("testPool");
@@ -248,7 +248,7 @@ public class EventIdOptimizationDUnitTest extends DistributedTestCase
     props.setProperty("locators", "");
     new EventIdOptimizationDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
-    BridgeTestCase.configureConnectionPool(factory, hostName, port.intValue(),-1, true, -1, 2, null);
+    ClientServerTestCase.configureConnectionPool(factory, hostName, port.intValue(),-1, true, -1, 2, null);
     
     factory.setScope(Scope.DISTRIBUTED_ACK);
 



[15/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriter.java
deleted file mode 100755
index 1f8a09a..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriter.java
+++ /dev/null
@@ -1,795 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import java.util.Properties;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import com.gemstone.gemfire.LicenseException;
-import com.gemstone.gemfire.SystemFailure;
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.AttributesMutator;
-import com.gemstone.gemfire.cache.CacheWriter;
-import com.gemstone.gemfire.cache.CacheWriterException;
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.EntryEvent;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionEvent;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
-import com.gemstone.gemfire.internal.cache.tier.ConnectionProxy;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-
-/**
- * A <code>CacheWriter</code> that writes data to one or more remote
- * <code>CacheServer</code> processes. This allows for a hierarchical caching
- * scheme in which one cache ('client' cache) delegates a request to another
- * cache ('server' cache).
- * 
- * 
- * When using the <code>BridgeWriter</code>, at least two GemFire Caches must
- * exist in a client/server mode (they should not be part of the same
- * distributed system).
- * 
- * The 'server' cache must be running a gemfire <code>CacheServer</code>
- * process, while the 'client' cache must have a <code>BridgeWriter</code>
- * installed in one or more of its <code>Regions</code>. If a
- * <code>BridgeWriter</code> is defined in a client <code>Region</code>,
- * there must also be a <code>Region</code> defined in the 'server' cache with
- * the same exact name.
- * 
- * <p>
- * 
- * The <code>BridgeWriter</code> performs <code>put()</code> operations on
- * the remote server cache, and does not provide the distribution behavior that
- * can be enabled by using a <code>DISTRIBUTED</code> or
- * <code>DISTRIBUTED_NO_ACK</code> <code>Region</code>. This mechanism is
- * designed as a more targeted alternative to netSearch, in which the 'client'
- * cache completely delegates the loading of the data to the 'server' cache if
- * it is not yet cached in the client. This directed behavior enables a remote
- * network <code>put()</code> operation to be performed much more efficiently
- * in a scenario where there is a hierarchical cache topology. Updates and
- * invalidation remain local, in fact the <code>Regions</code> that are used
- * for this loosely coupled cache may even be <code>LOCAL</code> in scope.
- * 
- * The <code>BridgeWriter</code> may be used to configure caches with
- * multi-layer hierarchies.
- * 
- * 
- * <p>
- * <b>Load Balancing: </b>
- * <p>
- * The <code>BridgeWriter</code> supports these load balancing mechanisms
- * (specified by the <code>LBPolicy</code> config attribute):
- * <p>
- * <ul>
- * <li><b>Sticky </b> <br>
- * In this mode, the client writer picks the first server from the list of
- * servers and establishes a connection to it. Once this connection has been
- * established, every request from that particular 'client' cache is sent on
- * that connection. If requests time out or produce exceptions, the
- * <code>BridgeWriter</code> picks another server and then sends further
- * requests to that server. This achieves a level of load balancing by
- * redirecting requests away from servers that produce timeouts.</li>
- * 
- * <li><b>RandomSticky </b> <br>
- * The behavior is the same as Sticky, however the initial assignment of the
- * connection is randomly selected from the list of servers.</li>
- * 
- * <li><b>RoundRobin </b> <br>
- * In this mode, the client establishes connections to all the servers in the
- * server list and then randomly picks a server for each given request. For the
- * next request, it picks the next server in the list.</li>
- * 
- * <li><b>Random </b>: <br>
- * In this mode, the edge establishes connections to all the servers in the
- * server list and then randomly picks a server for every request.</li>
- * </ul>
- * 
- * <p>
- * <b>Failover: </b>
- * <p>
- * 
- * If a remote server cache throws an exception or times out, the client will
- * retry based on the configured <code>retryCount</code> parameter. If the
- * <code>retryCount</code> is exceeded, the server in question will be added
- * to a failed server list, and the client will select another server to connect
- * to. The servers in the failed server list will be periodically pinged with an
- * intelligent ping that ensures cache health. If a server is determined to be
- * healthy again, it will be promoted back to the healthy server list. The time
- * period between failed server pings is configurable via the
- * <code>retryInterval</code> parameter.
- * 
- * <p>
- * <b>Configuration: </b>
- * <p>
- * The <code>BridgeWriter</code> is configurable declaratively or
- * programmatically. Declarative configuration is achieved through defining the
- * configuration parameters in a <code>cache.xml</code> file. Programmatic
- * configuration may be achieved by first instantiating a
- * <code>BridgeWriter</code> object and subsequently calling
- * {@link #init(Properties)}with a <code>Properties</code> object containing
- * each desired parameter and value.
- * <p>
- * <b>The supported parameters are: </b>
- * <p>
- * <ul>
- * <li><b>endpoints </b> (required) <br>
- * A comma delimited list of logical names, hostnames, and ports of 'server'
- * caches to connect to <br>
- * The endpoints parameter follows this syntax:
- * logicalName=host:port,logicalName2=host2:port2,.... <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;endpoints&quot;&gt;
- *   &lt;string&gt;MyPrimaryServer=hostsrv:40404,MySecondary=hostsrv2:40404&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>readTimeout </b> (optional: default 10000) <br>
- * A millisecond value representing the amount of time to wait for a response
- * from a cache server. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;readTimeout&quot;&gt;
- *   &lt;string&gt;5000&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * 
- * <li><b>retryAttempts </b> (optional: default 5)<br>
- * The number of times to retry a request after timeout/exception. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;retryAttempts&quot;&gt;
- *   &lt;string&gt;5&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>retryInterval </b> (optional: default 10000) <br>
- * A millisecond value representing the amount of time to wait between attempts
- * by the <code>ServerMonitor</code> to ping living servers to verify that
- * they are still alive and dead servers to verify that they are still dead.
- * <br>
- * Example:</li>
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;retryInterval&quot;&gt;
- *   &lt;string&gt;10000&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>LBPolicy </b> (optional: default "Sticky") <br>
- * A String value representing the load balancing policy to use. See above for
- * more details. <br>
- * Options are:
- * <ul>
- * <li>"Sticky"</li>
- * <li>"RandomSticky"</li>
- * <li>"RoundRobin"</li>
- * <li>"Random"</li>
- * </ul>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;LBPolicy&quot;&gt;
- *   &lt;string&gt;Sticky&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>connectionsPerServer </b> (optional: default 1)<br>
- * The number of initial connections created to each time it is determined to be
- * alive. The minimum of <code>0</code> causes no initial connections to be
- * created (they are only created on demand). <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;connectionsPerServer&quot;&gt;
- *   &lt;string&gt;10&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>establishCallbackConnection </b> (optional: default false) <br>
- * Instruct the server to make a connection back to this edge client through
- * which the client receives cache updates. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;establishCallbackConnection&quot;&gt;
- *   &lt;string&gt;true&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * 
- * <li><b>redundancyLevel </b> (optional: default 0) <br>
- * The number of secondary servers set for backup to the primary server for the
- * high availability of client queue. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;redundancyLevel&quot;&gt;
- *   &lt;string&gt;1&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * 
- * <li><b>socketBufferSize </b> (optional: default 32768) <br>
- * The size of the socket buffers in bytes. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;socketBufferSize&quot;&gt;
- *   &lt;string&gt;32768&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * 
- * <li><b>messageTrackingTimeout </b> (optional: default 300000 milliseconds)
- * <br>
- * messageTrackingTimeout property specifies the time-to-live period, in
- * milliseconds, for entries in the client's message tracking list, to minimize
- * duplicate events. Entries that have not been modified for this amount of time
- * are expired from the list <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;messageTrackingTimeout&quot;&gt;
- *   &lt;string&gt;300000&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>clientAckInterval</b> (optional: default 500 milliseconds) <br>
- * Bridge client sends an acknowledgement to its primary server for the events
- * it has got after every ClientAckInterval time.Client will send an ack to the
- * primary server only when redundancy level is greater than 0 or -1.<br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;clientAckInterval&quot;&gt;
- *   &lt;string&gt;5000&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * </ul>
- * 
- * <p>
- * 
- * If you are using a <code>cache.xml</code> file to create a
- * <code>Region</code> declaratively, you can include the following to
- * associate a <code>BridgeWriter</code> with a <code>Region</code> (default
- * values shown for optional parameters):
- * 
- * <pre>
- * 
- * &lt;cache-writer&gt;
- *   &lt;classname&gt;com.gemstone.gemfire.cache.util.BridgeWriter&lt;/classname&gt;
- *   &lt;parameter name=&quot;endpoints&quot;&gt;
- *     &lt;string&gt;MyHost=ninja.gemstone.com:40404&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;readTimeout&quot;&gt;
- *     &lt;string&gt;10000&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;retryAttempts&quot;&gt;
- *     &lt;string&gt;5&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;retryInterval&quot;&gt;
- *     &lt;string&gt;10000&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;LBPolicy&quot;&gt;
- *     &lt;string&gt;Sticky&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;establishCallbackConnection&quot;&gt;
- *     &lt;string&gt;false&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;socketBufferSize&quot;&gt;
- *     &lt;string&gt;32768&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;messageTrackingTimeout&quot;&gt;
- *     &lt;string&gt;300000&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;/parameter&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;clientAckInterval&quot;&gt;
- *      &lt;string&gt;5000&lt;/string&gt;
- *    &lt;/parameter&gt;
- * &lt;/cache-writer&gt;
- * </pre>
- * 
- * @since 3.5
- * @author Barry Oglesby
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-
-@Deprecated
-public class BridgeWriter implements CacheWriter, Declarable
-{
-  protected ConnectionProxy proxy = null; // package access for
-                                    // tests/com/gemstone/gemfire/cache/util/BridgeHelper
-
-  private Properties properties;
-
-  private volatile boolean isClosed = false;
-
-  private final AtomicInteger refCount = new AtomicInteger();
-
-  // all writers logic was moved to ConnectionProxyImpl
-  
-  /**
-   * Initializes the writer with supplied config parameters. If instantiating
-   * the writer programmatically, this method must be called with a
-   * <code>Properties</code> object that at a minimum contains the 'endpoints'
-   * parameter before the writer can be used. If init fails with a
-   * LicenseException, the resulting BridgeWriter will throw
-   * IllegalStateException until it is properly initialized.
-   * 
-   * @param p configuration data such as 'endpoint' definitions
-   * @throws IllegalStateException if the writer is already initialized
-   */
-  public void init(Properties p)
-  {
-    if (this.proxy != null) throw new IllegalStateException(LocalizedStrings.BridgeWriter_ALREADY_INITIALIZED.toLocalizedString());
-    this.properties = p;
-    if (Boolean.getBoolean("skipConnection")) {
-      // used by hydra when generating XML via RegionAttributesCreation
-      return;
-    }
-    this.proxy = BridgePoolImpl.create(properties, true/*useByBridgeWriter*/);
-  }
-
-  /**
-   * Initializes this writer from an existing <code>BridgeWriter</code>. This
-   * method reuses the existing <code>BridgeWriter</code>'s proxy.
-   * 
-   * @param bridgeWriter
-   *          The existing <code>BridgeWriter</code>
-   * @throws IllegalStateException if the writer is already initialized
-   * 
-   * @since 4.2
-   */
-  public void init(BridgeWriter bridgeWriter)
-  {
-    if (this.proxy != null) throw new IllegalStateException(LocalizedStrings.BridgeWriter_ALREADY_INITIALIZED.toLocalizedString());
-    ConnectionProxy p = bridgeWriter.proxy;
-    p.reuse();
-    this.proxy = p;
-  }
-
-  /**
-   * Ensure that the BridgeClient and BridgePoolImpl classes
-   * get loaded.
-   * 
-   * @see SystemFailure#loadEmergencyClasses()
-   */
-  public static void loadEmergencyClasses() {
-    BridgeClient.loadEmergencyClasses(); // make sure subclass is taken care of
-    BridgePoolImpl.loadEmergencyClasses();
-  }
-
-  // emergency logic was moved to ConnectionProxyImpl
-  
-  /**
-   * Called when a region using this <code>BridgeWriter</code> is destroyed,
-   * when the cache is closed, or when a callback is removed from a region using
-   * an {@link AttributesMutator}.
-   * 
-   * Closes connections to {@link BridgeServer BridgeServers}when all
-   * {@link Region Regions}are finished using this BridgeWriter,
-   * 
-   * 
-   * @see #attach(Region)
-   * @see #detach(Region)
-   */
-  public void close()
-  {
-    if (this.refCount.get() <= 0) {
-      this.isClosed = true;
-      this.proxy.close();
-    }
-  }
-
-  // handleMarker moved to ConnectionProxyImpl
-
-  /**
-   * Returns true if this <code>BridgeWriter</code> has been closed.
-   */
-  public boolean isClosed() {
-    return this.isClosed;
-  }
-
-  private void checkClosed() {
-    String reason = this.proxy.getCancelCriterion().cancelInProgress();
-    if(reason != null) {
-      throw new BridgeWriterException("The BridgeWriter has been closed: " + reason);
-    }
-    
-    if (this.isClosed) {
-      throw new BridgeWriterException(LocalizedStrings.BridgeWriter_THE_BRIDGEWRITER_HAS_BEEN_CLOSED.toLocalizedString());
-    }
-    if (this.proxy != null && !this.proxy.isOpen()) {
-      throw new BridgeWriterException(LocalizedStrings.BridgeWriter_THE_BRIDGEWRITER_HAS_BEEN_CLOSED.toLocalizedString());
-    }
-  }
-  
-  /**
-   * Notify the BridgeWriter that the given region is no longer relevant. This
-   * method is used internally during Region
-   * {@link Region#destroyRegion() destruction}and
-   * {@link Region#close() closure}. This method effects the behavor of
-   * {@link #close()}.
-   * 
-   * @see #attach(Region)
-   * @see #close()
-   * @param r
-   *          the Region which will no longer use this BridgeWriter
-   * @since 4.3
-   */
-  public void detach(Region r)
-  {
-    this.refCount.decrementAndGet();
-    if (r != null) {
-      this.proxy.detachRegion(r);
-    }
-//    close(); // only closes if refCount is zero
-  }
-
-  /**
-   * Returns the number of attaches that have not yet called detach.
-   * @since 5.7
-   */
-  public int getAttachCount() {
-    return this.refCount.get();
-  }
-  
-  /**
-   * For speed optimizations, a connection to a server may be assigned to the
-   * calling thread when the BridgeWriter is used to do an operation.
-   * When the application thread is done doing its work it can invoke
-   * the BridgeWriter release method to make the connection available
-   * to other application threads.
-   */
-  public void release()
-  {
-    proxy.release();
-  }
-
-  /**
-   * This method should be invoked when the BridgeWriter mechanism is to be shut
-   * down explicitly , outside of closing the cache.
-   */
-  public void terminate()
-  {
-    this.isClosed = true;
-    proxy.terminate();
-  }
-
-  // removed checkForTransaction
-
-  /**
-   * Called before an entry is updated. The entry update is initiated by a
-   * <code>put</code> or a <code>get</code> that causes the writer to update
-   * an existing entry. The entry previously existed in the cache where the
-   * operation was initiated, although the old value may have been null. The
-   * entry being updated may or may not exist in the local cache where the
-   * CacheWriter is installed.
-   * 
-   * @param event
-   *          an EntryEvent that provides information about the operation in
-   *          progress
-   * @throws CacheWriterException
-   *           if thrown will abort the operation in progress, and the exception
-   *           will be propagated back to caller that initiated the operation
-   * @see Region#put(Object, Object)
-   * @see Region#get(Object)
-   */
-  public void beforeUpdate(EntryEvent event) throws CacheWriterException
-  {
-    throw new IllegalStateException("this method should not be called"); 
-  }
-
-  /**
-   * Called before an entry is created. Entry creation is initiated by a
-   * <code>create</code>, a <code>put</code>, or a <code>get</code>.
-   * The <code>CacheWriter</code> can determine whether this value comes from
-   * a <code>get</code> or not from {@link EntryEvent#isLoad}. The entry
-   * being created may already exist in the local cache where this
-   * <code>CacheWriter</code> is installed, but it does not yet exist in the
-   * cache where the operation was initiated.
-   * 
-   * @param event
-   *          an EntryEvent that provides information about the operation in
-   *          progress
-   * @throws CacheWriterException
-   *           if thrown will abort the operation in progress, and the exception
-   *           will be propagated back to caller that initiated the operation
-   * @see Region#create(Object, Object)
-   * @see Region#put(Object, Object)
-   * @see Region#get(Object)
-   */
-  public void beforeCreate(EntryEvent event) throws CacheWriterException
-  {
-    throw new IllegalStateException("this method should not be called"); 
-  }
-
-  /**
-   * Called before an entry is destroyed. The entry being destroyed may or may
-   * not exist in the local cache where the CacheWriter is installed. This
-   * method is <em>not</em> called as a result of expiration or
-   * {@link Region#localDestroy(Object)}.
-   * 
-   * @param event
-   *          an EntryEvent that provides information about the operation in
-   *          progress
-   * @throws CacheWriterException
-   *           if thrown will abort the operation in progress, and the exception
-   *           will be propagated back to caller that initiated the operation
-   * 
-   * @see Region#destroy(Object)
-   */
-  public void beforeDestroy(EntryEvent event) throws CacheWriterException
-  {
-    throw new IllegalStateException("this method should not be called"); 
-  }
-
-  /**
-   * Called before a region is destroyed. The <code>CacheWriter</code> will
-   * not additionally be called for each entry that is destroyed in the region
-   * as a result of a region destroy. If the region's subregions have
-   * <code>CacheWriter</code> s installed, then they will be called for the
-   * cascading subregion destroys. This method is <em>not</em> called as a
-   * result of expiration or {@link Region#localDestroyRegion()}. However, the
-   * {@link #close}method is invoked regardless of whether a region is
-   * destroyed locally. A non-local region destroy results in an invocation of
-   * {@link #beforeRegionDestroy}followed by an invocation of {@link #close}.
-   * <p>
-   * WARNING: This method should not destroy or create any regions itself or a
-   * deadlock will occur.
-   * 
-   * @param event
-   *          a RegionEvent that provides information about the
-   * 
-   * @throws CacheWriterException
-   *           if thrown, will abort the operation in progress, and the
-   *           exception will be propagated back to the caller that initiated
-   *           the operation
-   * 
-   * @see Region#destroyRegion()
-   */
-  public void beforeRegionDestroy(RegionEvent event)
-      throws CacheWriterException
-  {
-    throw new IllegalStateException("this method should not be called"); 
-  }
-
-  
-  /**
-   * Called before a region is cleared. The <code>CacheWriter</code> will
-   * not additionally be called for each entry that is cleared in the region
-   * as a result of a region clear. If the region's subregions have
-   * <code>CacheWriter</code> s installed, then they will be called for the
-   * cascading subregion clears. This method is <em>not</em> called as a
-   * result of expiration or {@link Region#localDestroyRegion()}. However, the
-   * {@link #close}method is invoked regardless of whether a region is
-   * cleared locally. A non-local region clear results in an invocation of
-   * {@link #beforeRegionClear}followed by an invocation of {@link #close}.
-   * <p>
-   * WARNING: This method should not destroy or create or clear any regions itself or a
-   * deadlock will occur.
-   * 
-   * @param event
-   *          a RegionEvent that provides information about the
-   * 
-   * @throws CacheWriterException
-   *           if thrown, will abort the operation in progress, and the
-   *           exception will be propagated back to the caller that initiated
-   *           the operation
-   * 
-   */
-  
-  public void beforeRegionClear(RegionEvent event) throws CacheWriterException
-  {
-    throw new IllegalStateException("this method should not be called"); 
-  }
-
-  /**
-   * Return true if this writer has not been closed and it was configured to
-   * establish a callback connection.
-   * 
-   * @since 4.3
-   */
-  public boolean hasEstablishCallbackConnection()
-  {
-    if (this.isClosed) {
-      return false;
-    }
-    else {
-      return this.proxy.getEstablishCallbackConnection();
-    }
-  }
-
-  // removed unregisterInterest
-
-  // removed getInterestList
-
-  // removed getObjectFromPrimaryServer
-
-  // removed keySet
-
-  // removed containsKey
-
-  /** Returns the retry interval in use. Retry interval refers to the interval
-   *  at which dead servers are attempted to be reconnected.
-   *  Internal use only.
-   */
-  public int getRetryInterval()
-  {
-    return proxy.getRetryInterval();
-  }
-
-  /**
-   * Returns the read timeout being used to time out requests to the server
-   * Internal use only.
-   */
-  public int getReadTimeout()
-  {
-    return proxy.getReadTimeout();
-  }
-
-  /**
-   * Returns the number of times the bridge writer tries to write data on
-   * encountering certain types of exceptions. Internal use only
-   */
-  public int getRetryAttempts()
-  {
-    return this.proxy.getRetryAttempts();
-  }
-
-  /**
-   * Returns the load balancing policy being used by the bridge writer Internal
-   * use only
-   */
-  public String getLBPolicy()
-  {
-    return proxy.getLBPolicy();
-  }
-
-  /**
-   * Returns the properties that defined this <code>BridgeWriter</code>.
-   * 
-   * @return the properties that defined this <code>BridgeWriter</code>
-   * 
-   * @since 4.2
-   */
-  public Properties getProperties()
-  {
-    return this.properties;
-  }
-
-  
-  /**
-   * Add an <code>Endpoint</code> to the known <code>Endpoint</code>s.
-   * 
-   * @param name The name of the endpoint to add
-   * @param host The host name or ip address of the endpoint to add
-   * @param port The port of the endpoint to add
-   * 
-   * @throws EndpointExistsException if the <code>Endpoint</code> to be
-   * added already exists.
-   * 
-   * @since 5.0.2
-   */
-  public void addEndpoint(String name, String host, int port)
-  throws EndpointExistsException {
-    this.proxy.addEndpoint(name, host, port);
-  }
-
-  /**
-   * Remove an <code>Endpoint</code> from the dead <code>Endpoint</code>s.
-   * The specified <code>Endpoint</code> must be dead.
-   * 
-   * @param name The name of the endpoint to remove
-   * @param host The host name or ip address of the endpoint to remove
-   * @param port The port of the endpoint to remove
-   * 
-   * @throws EndpointDoesNotExistException if the <code>Endpoint</code> to be
-   * removed doesn't exist.
-   * 
-   * @throws EndpointInUseException if the <code>Endpoint</code> to be removed
-   * contains <code>Connection</code>s
-   * 
-   * @since 5.0.2
-   */
-  public void removeEndpoint(String name, String host, int port)
-  throws EndpointDoesNotExistException, EndpointInUseException {
-    this.proxy.removeEndpoint(name, host, port);
-  }
-
-  // removed handleException
-
-  // removed getExceptionMessage
-
-  /**
-   * Returns a brief description of this <code>BridgeWriter</code>
-   * 
-   * @since 4.0
-   */
-  @Override
-  public String toString()
-  {
-    return LocalizedStrings.BridgeWriter_BRIDGEWRITER_CONNECTED_TO_0.toLocalizedString(this.proxy);
-  }
-
-  /**
-   * Notify the BridgeWriter that the given Region will begin delivering events
-   * to this BridgeWriter. This method effects the behavior of {@link #close()}
-   * 
-   * This is called internally when the BridgeWriter is added to a Region via
-   * {@link AttributesFactory#setCacheWriter(CacheWriter)}}
-   * 
-   * @param r
-   *          the Region which will begin use this BridgeWriter.
-   * @since 4.3
-   * 
-   * @see #detach(Region)
-   * @see #close()
-   */
-  public void attach(Region r)
-  {
-    checkClosed();
-    this.refCount.incrementAndGet();
-  }
-
-  /**
-   * Returns the <code>ConnectionProxy</code> associated with this
-   * <code>BridgeWriter</code>.
-   * 
-   * For internal use only.
-   * 
-   * @return the <code>ConnectionProxy</code> associated with this
-   *         <code>BridgeWriter</code>
-   */
-  public Object/*ConnectionProxy*/ getConnectionProxy() {
-    return proxy;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriterException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriterException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriterException.java
deleted file mode 100755
index e481c65..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeWriterException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import com.gemstone.gemfire.cache.CacheWriterException;
-
-/**
- * An exception that is thrown by a {@link BridgeWriter} when a
- * problem occurs when communicating with a bridge server.
- *
- * @author David Whitlock
- * @since 3.5.2
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-@Deprecated
-public class BridgeWriterException extends CacheWriterException {
-private static final long serialVersionUID = -295001316745954159L;
-
-  /**
-   * Creates a new <code>BridgeWriterException</code> with the given
-   * message. 
-   */
-  public BridgeWriterException(String message) {
-    super(message);
-  }
-
-  /**
-   * Creates a new <code>BridgeWriterException</code> with the given
-   * message and cause.
-   */
-  public BridgeWriterException(String message, Throwable cause) {
-    super(message, cause);
-  }
-
-  /**
-   * Creates a new <code>BridgeWriterException</code> with the given
-   * cause.
-   */
-  public BridgeWriterException(Throwable cause) {
-    super(cause);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointDoesNotExistException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointDoesNotExistException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointDoesNotExistException.java
deleted file mode 100755
index 4f5eabd..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointDoesNotExistException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-/**
- * An <code>EndpointDoesNotExistException</code> indicates a client
- * <code>Endpoint</code> does not exist for the input name, host and
- * port.
- *
- * @author Barry Oglesby
- *
- * @since 5.0.2
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-@Deprecated
-public class EndpointDoesNotExistException extends EndpointException {
-private static final long serialVersionUID = 1654241470788247283L;
-
-  /**
-   * Constructs a new <code>EndpointDoesNotExistException</code>.
-   * 
-   * @param name The name of the requested <code>Endpoint</code>
-   * @param host The host of the requested <code>Endpoint</code>
-   * @param port The port of the requested <code>Endpoint</code>
-   */
-  public EndpointDoesNotExistException(String name, String host, int port) {
-    super(name+"->"+host+":"+port);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointException.java
deleted file mode 100755
index 445a75f..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointException.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-/**
- * An <code>EndpointException</code> is a generic exception that indicates
- * a client <code>Endpoint</code> exception has occurred. All other
- * <code>Endpoint</code> exceptions are subclasses of this class. Since
- * this class is abstract, only subclasses are instantiated.
- *
- * @author Barry Oglesby
- *
- * @since 5.0.2
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-@Deprecated
-public abstract class EndpointException extends Exception {
-  
-  /** Constructs a new <code>EndpointException</code>. */
-  public EndpointException() {
-    super();
-  }
-
-  /** Constructs a new <code>EndpointException</code> with a message string. */
-  public EndpointException(String s) {
-    super(s);
-  }
-
-  /** Constructs a <code>EndpointException</code> with a message string and
-   * a base exception
-   */
-  public EndpointException(String s, Throwable cause) {
-    super(s, cause);
-  }
-
-  /** Constructs a <code>EndpointException</code> with a cause */
-  public EndpointException(Throwable cause) {
-    super(cause);
-  }
-
-  @Override
-  public String toString() {
-    String result = super.toString();
-    Throwable cause = getCause();
-    if (cause != null) {
-      String causeStr = cause.toString();
-      final String glue = ", caused by ";
-      StringBuffer sb = new StringBuffer(result.length() + causeStr.length() + glue.length());
-      sb.append(result)
-        .append(glue)
-        .append(causeStr);
-      result = sb.toString();
-    }
-    return result;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointExistsException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointExistsException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointExistsException.java
deleted file mode 100755
index 3db6453..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointExistsException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-
-/**
- * An <code>EndpointExistsException</code> indicates a client
- * <code>Endpoint</code> already exists.
- *
- * @author Barry Oglesby
- *
- * @since 5.0.2
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-@Deprecated
-public class EndpointExistsException extends EndpointException {
-private static final long serialVersionUID = 950617116786308012L;
-
-  public EndpointExistsException(String msg) {
-    super(msg);
-  }
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointInUseException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointInUseException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointInUseException.java
deleted file mode 100755
index 5c9093e..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/EndpointInUseException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-
-/**
- * An <code>EndpointInUseException</code> indicates a client <code>Endpoint</code>
- * is in use (meaning that it contains one or more <code>Connection</code>s.
- *
- * @author Barry Oglesby
- *
- * @since 5.0.2
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-@Deprecated
-public class EndpointInUseException extends EndpointException {
-private static final long serialVersionUID = -4087729485272321469L;
-
-  public EndpointInUseException(String msg) {
-    super(msg);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/IncompatibleVersionException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/IncompatibleVersionException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/IncompatibleVersionException.java
deleted file mode 100755
index fa72cd9..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/IncompatibleVersionException.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import com.gemstone.gemfire.internal.Version;
-
-/**
- * An <code>Incompatible</code> indicates an unknown version.
- *
- * @author Barry Oglesby
- * @deprecated
- *
- * @since 5.6
- */
-public class IncompatibleVersionException extends VersionException {
-
-  private static final long serialVersionUID = 7008667865037538081L;
-
-  /**
-   * Constructs a new <code>IncompatibleVersionException</code>.
-   *
-   * @param clientVersion The client version
-   * @param serverVersion The server version
-   */
-  public IncompatibleVersionException(Object clientVersion,
-      Object serverVersion) {
-    // the arguments should be of class Version, but that's an
-    // internal class and this is an external class that shouldn't
-    // ref internals in method signatures
-    this("Client version " + clientVersion
-        + " is incompatible with server version " + serverVersion);
-  }
-
-  /**
-   * Constructs a new <code>IncompatibleVersionException</code>.
-   *
-   * @param message The exception message
-   */
-  public IncompatibleVersionException(String message) {
-    super(message);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/ServerRefusedConnectionException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/ServerRefusedConnectionException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/ServerRefusedConnectionException.java
deleted file mode 100755
index 2545e00..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/ServerRefusedConnectionException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import com.gemstone.gemfire.distributed.DistributedMember;
-
-import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
-
-/**
- * A <code>ServerRefusedConnectionException</code> indicates a client attempted
- * to connect to a server, but the handshake was rejected.
- *
- * @author Barry Oglesby
- *
- * @since 5.5
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client.ServerRefusedConnectionException} from the <code>client</code> package instead.
- */
-@Deprecated
-@SuppressFBWarnings(value="NM_SAME_SIMPLE_NAME_AS_SUPERCLASS", justification="class deprecated")
-public class ServerRefusedConnectionException extends com.gemstone.gemfire.cache.client.ServerRefusedConnectionException {
-private static final long serialVersionUID = -4996327025772566931L;
-  /**
-   * Constructs an instance of <code>ServerRefusedConnectionException</code> with the
-   * specified detail message.
-   * @param server the server that rejected the connection
-   * @param msg the detail message
-   */
-  public ServerRefusedConnectionException(DistributedMember server, String msg) {
-    super(server, msg);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UniversalMembershipListenerAdapter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UniversalMembershipListenerAdapter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UniversalMembershipListenerAdapter.java
deleted file mode 100755
index 840ae09..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UniversalMembershipListenerAdapter.java
+++ /dev/null
@@ -1,352 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-
-package com.gemstone.gemfire.cache.util;
-
-import com.gemstone.gemfire.admin.AdminDistributedSystem;
-import com.gemstone.gemfire.admin.SystemMembershipEvent;
-import com.gemstone.gemfire.admin.SystemMembershipListener;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.internal.Assert;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-
-import java.util.*;
-
-/**
- * <p>The <code>UniversalMembershipListenerAdapter</code> is a wrapper 
- * for {@link com.gemstone.gemfire.admin.SystemMembershipListener} and 
- * {@link BridgeMembershipListener}, providing a facade that makes both
- * appear to customer code as a single <code>SystemMembershipListener</code>
- * from the Admin API. This includes adapting 
- * <code>BridgeMembershipListener</code> events to appear as events for the 
- * <code>SystemMembershipListener</code>.</p>
- *
- * <p><code>UniversalMembershipListenerAdapter</code> implements
- * <code>SystemMembershipListener</code>, exposing the callbacks in that
- * interface as methods to be overridden by the customer.</p>
- *
- * <p>An internal implementation of <code>BridgeMembershipListener</code> is 
- * registered when this class is instantiated. This implementation creates a
- * {@link com.gemstone.gemfire.admin.SystemMembershipEvent} and calls the
- * corresponding <code>SystemMembershipListener</code> public methods on 
- * <code>UniversalMembershipListenerAdapter</code>. To the customer code, the
- * <code>BridgeMembershipEvent</code>s are wrapped to appear as 
- * <code>SystemMembershipEvent</code>s. In this way, both types of membership
- * events appear as <code>SystemMembershipEvent</code>s, allowing customer
- * code written using the Admin API to continue working by changing the
- * listener implementation to simply extend this class.</p>
- *
- * <p>Any BridgeServer using the <code>UniversalMembershipListenerAdapter</code>
- * will receive notifications of system membership changes and bridge
- * membership changes through a single listener.</p>
- *
- * <p>Any bridge client using the <code>UniversalMembershipListenerAdapter</code>
- * would receive notifications of bridge server connection changes. If that
- * bridge client also creates a connection to the GemFire {@link 
- * com.gemstone.gemfire.distributed.DistributedSystem}, then it will also
- * receive notifications of system membership changes.</p>
- *
- * <p>Subclasses of <code>UniversalMembershipListenerAdapter</code> may be
- * registered as a <code>SystemMembershipListener</code> using {@link 
- * com.gemstone.gemfire.admin.AdminDistributedSystem#addMembershipListener}.
- * It is best, however, to register the listener using {@link
- * #registerMembershipListener} since this allows the adapter to prevent
- * duplicate events for members that are both a system member and a bridge
- * member.</p>
- *
- * <p>Simply constructing the <code>UniversalMembershipListenerAdapter</code>
- * results in the underlying <code>BridgeMembershipListener</code> also being
- * registered.</p>
- *
- * <p>The following code illustrates how a BridgeServer application would use
- * <code>UniversalMembershipListenerAdapter</code>. The code in this example
- * assumes that the class MyMembershipListenerImpl extends 
- * <code>UniversalMembershipListenerAdapter</code>:
- * <pre><code>
- * public class MyMembershipListenerImpl extends UniversalMembershipListenerAdapter {
- *   public void memberCrashed(SystemMembershipEvent event) {
- *     // customer code
- *   }
- *   public void memberLeft(SystemMembershipEvent event) {
- *     // customer code
- *   }
- *   public void memberJoined(SystemMembershipEvent event) {
- *     // customer code
- *   }
- * }
- *
- * DistributedSystemConfig config = 
- *   AdminDistributedSystemFactory.defineDistributedSystem(myDS, null);
- * AdminDistributedSystem adminDS = 
- *   AdminDistributedSystemFactory.getDistributedSystem(config);
- * adminDS.connect();
- * MyMembershipListenerImpl myListener = new MyMembershipListenerImpl();
- * myListener.registerMembershipListener(adminDS);
- * </code></pre>
- * The callbacks on MyMembershipListenerImpl would then be
- * invoked for all <code>SystemMembershipEvent</code>s and 
- * <code>BridgeMembershipEvent</code>s. The latter will appear to be 
- * <code>SystemMembershipEvent</code>s.</p>
- *
- * <p>Similarly, the following code illustrates how a bridge client application
- * would use <code>UniversalMembershipListenerAdapter</code>, where 
- * MyMembershipListenerImpl is a subclass. Simply by constructing this subclass
- * of <code>UniversalMembershipListenerAdapter</code> it is registering itself
- * as a <code>BridgeMembershipListener</code>:
- * <pre><code>
- * new MyMembershipListenerImpl();
- * </code></pre>
- * A bridge client that also connects to the <code>DistributedSystem</code>
- * could register with the<code>AdminDistributedSystem</code> as shown 
- * above.</p>
- *
- * <p>It is recommended that subclasses register with the 
- * <code>AdminDistributedSystem</code> using {@link 
- * #registerMembershipListener}, as this will prevent duplicate events for
- * members that are both bridge members and system members. If duplicate
- * events are acceptable, you may register subclasses using {@link 
- * com.gemstone.gemfire.admin.AdminDistributedSystem#addMembershipListener 
- * AdminDistributedSystem#addMembershipListener}.</p>
- *
- * @author Kirk Lund
- * @since 4.2.1
- * @deprecated Use com.gemstone.gemfire.management.membership.UniversalMembershipListenerAdapter instead.
- */
-public abstract class UniversalMembershipListenerAdapter 
-implements SystemMembershipListener {
-  
-  /** 
-   * Default number of historical events to track in order to avoid duplicate
-   * events for members that are both bridge members and system members;
-   * value is 100.
-   */
-  public static final int DEFAULT_HISTORY_SIZE = 100;
-  
-//  private final Object[] eventHistory;
-//  private final boolean[] eventJoined;
-//  private boolean registered = false;
-  
-  protected final int historySize;
-  protected final LinkedList<String> eventHistory; // list of String memberIds
-  protected final Map<String,Boolean> eventJoined; // key: memberId, value: Boolean
-  
-  // TODO: perhaps ctor should require AdminDistributedSystem as arg?
-  
-  /** Constructs an instance of UniversalMembershipListenerAdapter. */
-  public UniversalMembershipListenerAdapter() {
-    this(DEFAULT_HISTORY_SIZE);
-  }
-  
-  /** 
-   * Constructs an instance of UniversalMembershipListenerAdapter.
-   * @param historySize number of historical events to track in order to avoid
-   * duplicate events for members that are both bridge members and system
-   * members; must a number between 10 and <code>Integer.MAX_INT</code>
-   * @throws IllegalArgumentException if historySizde is less than 10
-   */
-  public UniversalMembershipListenerAdapter(int historySize) {
-    if (historySize < 10) {
-      throw new IllegalArgumentException(LocalizedStrings.UniversalMembershipListenerAdapter_ARGUMENT_HISTORYSIZE_MUST_BE_BETWEEN_10_AND_INTEGERMAX_INT_0.toLocalizedString(Integer.valueOf(historySize)));
-    }
-    this.historySize = historySize;
-    this.eventHistory = new LinkedList<String>();
-    this.eventJoined = new HashMap<String,Boolean>();
-    BridgeMembership.registerBridgeMembershipListener(this.bridgeMembershipListener);
-  }
-  
-  /**
-   * Registers this adapter with the <code>AdminDistributedSystem</code>. 
-   * Registering in this way allows the adapter to ensure that callbacks will
-   * not be invoked twice for members that have a bridge connection and a
-   * system connection. If you register with {@link
-   * com.gemstone.gemfire.admin.AdminDistributedSystem#addMembershipListener}
-   * then duplicate events may occur for members that are both bridge members
-   * and system.
-   */
-  public void registerMembershipListener(AdminDistributedSystem admin) {
-    synchronized (this.eventHistory) {
-//      this.registered = true;
-      admin.addMembershipListener(this.systemMembershipListener);
-    }
-  }
-
-  /**
-   * Unregisters this adapter with the <code>AdminDistributedSystem</code>. 
-   * If registration is performed with {@link #registerMembershipListener}
-   * then this method must be used to successfuly unregister the adapter.
-   */
-  public void unregisterMembershipListener(AdminDistributedSystem admin) {
-    synchronized (this.eventHistory) {
-//      this.registered = false;
-      admin.removeMembershipListener(this.systemMembershipListener);
-    }
-    unregisterBridgeMembershipListener();
-  }
-  
-  /**
-   * Registers this adapter as a <code>BridgeMembershipListener</code>.
-   * Registration is automatic when constructing this adapter, so this call
-   * is no necessary unless it was previously unregistered by calling
-   * {@link #unregisterBridgeMembershipListener}.
-   */
-  public void registerBridgeMembershipListener() {
-    BridgeMembership.registerBridgeMembershipListener(this.bridgeMembershipListener);
-  }
-  
-  /**
-   * Unregisters this adapter as a <code>BridgeMembershipListener</code>.
-   * @see #registerBridgeMembershipListener
-   */
-  public void unregisterBridgeMembershipListener() {
-    BridgeMembership.unregisterBridgeMembershipListener(this.bridgeMembershipListener);
-  }
-  
-  /**
-   * Invoked when a member has joined the distributed system. Also invoked when
-   * a client has connected to this process or when this process has connected
-   * to a <code>BridgeServer</code>.
-   */
-  public void memberJoined(SystemMembershipEvent event) {}
-
-  /**
-   * Invoked when a member has gracefully left the distributed system. Also
-   * invoked when a client has gracefully disconnected from this process.
-   * or when this process has gracefully disconnected from a 
-   * <code>BridgeServer</code>.   */
-  public void memberLeft(SystemMembershipEvent event) {}
-
-  /**
-   * Invoked when a member has unexpectedly left the distributed system. Also
-   * invoked when a client has unexpectedly disconnected from this process
-   * or when this process has unexpectedly disconnected from a 
-   * <code>BridgeServer</code>.
-   */
-  public void memberCrashed(SystemMembershipEvent event) {}
-  
-  /** Adapts BridgeMembershipEvent to look like a SystemMembershipEvent */
-  public static class AdaptedMembershipEvent implements SystemMembershipEvent {
-    private final BridgeMembershipEvent event;
-
-    protected AdaptedMembershipEvent(BridgeMembershipEvent event) {
-      this.event = event;
-    }
-    /**
-     * Returns true if the member is a bridge client to a BridgeServer hosted
-     * by this process. Returns false if the member is a BridgeServer that this
-     * process is connected to.
-     */
-    public boolean isClient() {
-      return event.isClient();
-    }
-
-    public String getMemberId() {
-      return event.getMemberId();
-    }
-    
-    public DistributedMember getDistributedMember() {
-      return event.getMember();
-    }
-    
-    @Override
-    public boolean equals(Object other) {
-      if (other == this) return true;
-      if (other == null) return false;
-      if (!(other instanceof AdaptedMembershipEvent)) return  false;
-      final AdaptedMembershipEvent that = (AdaptedMembershipEvent) other;
-  
-      if (this.event != that.event &&
-          !(this.event != null &&
-          this.event.equals(that.event))) return false;
-  
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      return this.event.hashCode();
-    }
-
-    @Override
-    public String toString() {
-      final StringBuffer sb = new StringBuffer("[AdaptedMembershipEvent: ");
-      sb.append(this.event);
-      sb.append("]");
-      return sb.toString();
-    }
-  }
-
-  private final BridgeMembershipListener bridgeMembershipListener =
-  new BridgeMembershipListener() {
-    public void memberJoined(BridgeMembershipEvent event) {
-      systemMembershipListener.memberJoined(new AdaptedMembershipEvent(event));
-    }
-    public void memberLeft(BridgeMembershipEvent event) {
-      systemMembershipListener.memberLeft(new AdaptedMembershipEvent(event));
-    }
-    public void memberCrashed(BridgeMembershipEvent event) {
-      systemMembershipListener.memberCrashed(new AdaptedMembershipEvent(event));
-    }
-  };
-  
-  protected final SystemMembershipListener systemMembershipListener =
-  new SystemMembershipListener() {
-    public void memberJoined(SystemMembershipEvent event) {
-      if (!isDuplicate(event, true)) {
-        UniversalMembershipListenerAdapter.this.memberJoined(event);
-      }
-    }
-    public void memberLeft(SystemMembershipEvent event) {
-      if (!isDuplicate(event, false)) {
-        UniversalMembershipListenerAdapter.this.memberLeft(event);
-      }
-    }
-    public void memberCrashed(SystemMembershipEvent event) {
-      if (!isDuplicate(event, false)) {
-        UniversalMembershipListenerAdapter.this.memberCrashed(event);
-      }
-    }
-    protected boolean isDuplicate(SystemMembershipEvent event, boolean joined) {
-      synchronized (eventHistory) {
-        boolean duplicate = false;
-        String memberId = event.getMemberId();
-        
-        // find memberId in eventHistory...
-        int indexOf = eventHistory.indexOf(memberId);
-        if (indexOf > -1) {
-          // found an event for this member
-          if ((eventJoined.get(memberId)).booleanValue() == joined) {
-            // we already recorded a matching event for this member
-            duplicate = true;
-          }
-          else {
-            // remove the event from history and map... will be re-inserted
-            Assert.assertTrue(eventHistory.remove(memberId),
-              "Failed to replace entry in eventHistory for " + memberId);
-            Assert.assertTrue(eventJoined.remove(memberId) != null,
-              "Failed to replace entry in eventJoined for " + memberId);
-          }
-        }
-        
-        if (!duplicate) {
-          // add the event to the history and map
-          if (eventHistory.size() == historySize) {
-            // filled the eventHistory, so need to remove first entry
-            eventHistory.removeFirst();
-          }
-          eventHistory.addLast(memberId); // linked list
-          eventJoined.put(memberId, Boolean.valueOf(joined)); // boolean map
-          Assert.assertTrue(eventHistory.size() <= historySize,
-            "Attempted to grow eventHistory beyond maximum of " + historySize);
-        }
-        return duplicate;
-      } // sync
-    }
-  };
-  
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UnknownVersionException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UnknownVersionException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UnknownVersionException.java
deleted file mode 100755
index 00743db..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/UnknownVersionException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-/**
- * An <code>UnknownVersionException</code> indicates an unknown version.
- *
- * @author Barry Oglesby
- * @deprecated
- *
- * @since 5.6
- */
-public class UnknownVersionException extends VersionException {
-
-  private static final long serialVersionUID = 7379530185697556990L;
-
-  /**
-   * Constructs a new <code>UnknownVersionException</code>.
-   * 
-   * @param versionOrdinal The ordinal of the requested <code>Version</code>
-   */
-  public UnknownVersionException(byte versionOrdinal) {
-    super(String.valueOf(versionOrdinal));
-  }
-  
-  /**
-   * Constructs a new <code>UnknownVersionException</code>.
-   * 
-   * @param message The exception message
-   */
-  public UnknownVersionException(String message) {
-    super(message);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/VersionException.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/VersionException.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/VersionException.java
deleted file mode 100755
index 200fac6..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/VersionException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import com.gemstone.gemfire.GemFireCheckedException;
-
-/**
- * An <code>VersionException</code> is an exception that indicates
- * a client / server version mismatch exception has occurred.
- *
- * @author Barry Oglesby
- * @deprecated Use {@link com.gemstone.gemfire.cache.VersionException} instead.
- *
- * @since 5.6
- */
-@Deprecated
-public abstract class VersionException extends GemFireCheckedException {
-
-  /** Constructs a new <code>VersionException</code>. */
-  public VersionException() {
-    super();
-  }
-
-  /** Constructs a new <code>VersionException</code> with a message string. */
-  public VersionException(String s) {
-    super(s);
-  }
-
-  /** Constructs a <code>VersionException</code> with a message string and
-   * a base exception
-   */
-  public VersionException(String s, Throwable cause) {
-    super(s, cause);
-  }
-
-  /** Constructs a <code>VersionException</code> with a cause */
-  public VersionException(Throwable cause) {
-    super(cause);
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/package.html
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/package.html b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/package.html
index 296eba2..0bd948f 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/package.html
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/package.html
@@ -12,8 +12,5 @@ Adapter classes are provided for convenience in implementing the
 CacheListener, RegionMembershipListener, RegionRoleListener, TransactionListener, and CacheWriter interfaces. These adapter
 classes simply implement the interfaces with empty methods so that subclasses
 only need implement the methods that are of interest.
-<p>
-Also provided are 
-BridgeLoader/BridgeWriter/BridgeServer, which are used for Hierarchical Caching.
   </BODY>
 </HTML>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/ServerLauncher.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/ServerLauncher.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/ServerLauncher.java
index a7cefbd..68efa34 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/ServerLauncher.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/ServerLauncher.java
@@ -40,7 +40,7 @@ import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.internal.GemFireVersion;
 import com.gemstone.gemfire.internal.SocketCreator;
-import com.gemstone.gemfire.internal.cache.AbstractBridgeServer;
+import com.gemstone.gemfire.internal.cache.AbstractCacheServer;
 import com.gemstone.gemfire.internal.cache.CacheConfig;
 import com.gemstone.gemfire.internal.cache.CacheServerLauncher;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
@@ -205,7 +205,7 @@ public final class ServerLauncher extends AbstractLauncher<String> {
   }
 
   private static Integer getDefaultServerPort() {
-    return Integer.getInteger(AbstractBridgeServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY, CacheServer.DEFAULT_PORT);
+    return Integer.getInteger(AbstractCacheServer.TEST_OVERRIDE_DEFAULT_PORT_PROPERTY, CacheServer.DEFAULT_PORT);
   }
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystem.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystem.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystem.java
index e30b20b..76c2b92 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystem.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/InternalDistributedSystem.java
@@ -74,14 +74,14 @@ import com.gemstone.gemfire.internal.StatisticsManager;
 import com.gemstone.gemfire.internal.StatisticsTypeFactoryImpl;
 import com.gemstone.gemfire.internal.SystemTimer;
 import com.gemstone.gemfire.internal.admin.remote.DistributionLocatorId;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.CacheConfig;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.execute.FunctionServiceStats;
 import com.gemstone.gemfire.internal.cache.execute.FunctionStats;
 import com.gemstone.gemfire.internal.cache.tier.sockets.HandShake;
-import com.gemstone.gemfire.internal.cache.xmlcache.BridgeServerCreation;
+import com.gemstone.gemfire.internal.cache.xmlcache.CacheServerCreation;
 import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
 import com.gemstone.gemfire.internal.logging.InternalLogWriter;
 import com.gemstone.gemfire.internal.logging.LogService;
@@ -2569,7 +2569,7 @@ public final class InternalDistributedSystem
     // the membership manager when forced-disconnect starts.  If we're
     // reconnecting for lost roles then this will be null
     String cacheXML = null;
-    List<BridgeServerCreation> cacheServerCreation = null;
+    List<CacheServerCreation> cacheServerCreation = null;
     
     GemFireCacheImpl cache = GemFireCacheImpl.getInstance();
     boolean inhibitCacheForSQLFire = false;
@@ -2835,8 +2835,8 @@ public final class InternalDistributedSystem
             }
             cache = GemFireCacheImpl.create(this.reconnectDS, config);
             if (cacheServerCreation != null) {
-              for (BridgeServerCreation bridge: cacheServerCreation) {
-                BridgeServerImpl impl = (BridgeServerImpl)cache.addCacheServer();
+              for (CacheServerCreation bridge: cacheServerCreation) {
+                CacheServerImpl impl = (CacheServerImpl)cache.addCacheServer();
                 impl.configureFrom(bridge);
                 try {
                   if (!impl.isRunning()) {
@@ -2844,7 +2844,7 @@ public final class InternalDistributedSystem
                   }
                 } catch (IOException ex) {
                   throw new GemFireIOException(
-                      LocalizedStrings.CacheCreation_WHILE_STARTING_BRIDGE_SERVER_0
+                      LocalizedStrings.CacheCreation_WHILE_STARTING_CACHE_SERVER_0
                           .toLocalizedString(impl), ex);
                 }
               }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ServerLocator.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ServerLocator.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ServerLocator.java
index 33991bf..07cab82 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ServerLocator.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ServerLocator.java
@@ -46,7 +46,7 @@ import com.gemstone.gemfire.distributed.internal.tcpserver.TcpHandler;
 import com.gemstone.gemfire.distributed.internal.tcpserver.TcpServer;
 import com.gemstone.gemfire.i18n.LogWriterI18n;
 import com.gemstone.gemfire.internal.SocketCreator;
-import com.gemstone.gemfire.internal.cache.BridgeServerAdvisor.BridgeServerProfile;
+import com.gemstone.gemfire.internal.cache.CacheServerAdvisor.CacheServerProfile;
 import com.gemstone.gemfire.internal.cache.ControllerAdvisor;
 import com.gemstone.gemfire.internal.cache.ControllerAdvisor.ControllerProfile;
 import com.gemstone.gemfire.internal.cache.FindDurableQueueProcessor;
@@ -375,8 +375,8 @@ public class ServerLocator implements TcpHandler, DistributionAdvisee {
    * @param profile
    */
   public void profileCreated(Profile profile) {
-    if(profile instanceof BridgeServerProfile) {
-      BridgeServerProfile bp = (BridgeServerProfile) profile;
+    if(profile instanceof CacheServerProfile) {
+      CacheServerProfile bp = (CacheServerProfile) profile;
       ServerLocation location = buildServerLocation(bp);
       String[] groups = bp.getGroups();
       loadSnapshot.addServer(location, groups,
@@ -398,8 +398,8 @@ public class ServerLocator implements TcpHandler, DistributionAdvisee {
    * @param profile
    */
   public void profileRemoved(Profile profile) {
-    if(profile instanceof BridgeServerProfile) {
-      BridgeServerProfile bp = (BridgeServerProfile) profile;
+    if(profile instanceof CacheServerProfile) {
+      CacheServerProfile bp = (CacheServerProfile) profile;
       //InternalDistributedMember id = bp.getDistributedMember();
       ServerLocation location = buildServerLocation(bp);
       loadSnapshot.removeServer(location);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/jgroup/JGroupMembershipManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/jgroup/JGroupMembershipManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/jgroup/JGroupMembershipManager.java
index c589feb..c18d250 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/jgroup/JGroupMembershipManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/jgroup/JGroupMembershipManager.java
@@ -79,7 +79,7 @@ import com.gemstone.gemfire.internal.Version;
 import com.gemstone.gemfire.internal.admin.remote.RemoteTransportConfig;
 import com.gemstone.gemfire.internal.cache.DirectReplyMessage;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
-import com.gemstone.gemfire.internal.cache.xmlcache.BridgeServerCreation;
+import com.gemstone.gemfire.internal.cache.xmlcache.CacheServerCreation;
 import com.gemstone.gemfire.internal.cache.xmlcache.CacheXmlGenerator;
 import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
 import com.gemstone.gemfire.internal.logging.LogService;
@@ -2716,10 +2716,10 @@ public class JGroupMembershipManager implements MembershipManager
         }
       } else if (sharedConfigEnabled && !cache.getCacheServers().isEmpty()) {
         // we need to retain a cache-server description if this JVM was started by gfsh
-        List<BridgeServerCreation> list = new ArrayList<BridgeServerCreation>(cache.getCacheServers().size());
+        List<CacheServerCreation> list = new ArrayList<CacheServerCreation>(cache.getCacheServers().size());
         for (Iterator it = cache.getCacheServers().iterator(); it.hasNext(); ) {
           CacheServer cs = (CacheServer)it.next();
-          BridgeServerCreation bsc = new BridgeServerCreation(cache, cs);
+          CacheServerCreation bsc = new CacheServerCreation(cache, cs);
           list.add(bsc);
         }
         cache.getCacheConfig().setCacheServerCreation(list);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DSFIDFactory.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DSFIDFactory.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DSFIDFactory.java
index 3c33553..d556ce2 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DSFIDFactory.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DSFIDFactory.java
@@ -30,7 +30,7 @@ import com.gemstone.gemfire.admin.internal.PrepareBackupResponse;
 import com.gemstone.gemfire.admin.internal.SystemMemberCacheEventProcessor;
 import com.gemstone.gemfire.admin.jmx.internal.StatAlertNotification;
 import com.gemstone.gemfire.cache.InterestResultPolicy;
-import com.gemstone.gemfire.cache.client.internal.BridgeServerLoadMessage;
+import com.gemstone.gemfire.cache.client.internal.CacheServerLoadMessage;
 import com.gemstone.gemfire.cache.client.internal.locator.ClientConnectionRequest;
 import com.gemstone.gemfire.cache.client.internal.locator.ClientConnectionResponse;
 import com.gemstone.gemfire.cache.client.internal.locator.ClientReplacementRequest;
@@ -180,8 +180,8 @@ import com.gemstone.gemfire.internal.admin.remote.VersionInfoResponse;
 import com.gemstone.gemfire.internal.admin.statalerts.GaugeThresholdDecoratorImpl;
 import com.gemstone.gemfire.internal.admin.statalerts.NumberThresholdDecoratorImpl;
 import com.gemstone.gemfire.internal.cache.AddCacheServerProfileMessage;
-import com.gemstone.gemfire.internal.cache.BridgeRegionEventImpl;
-import com.gemstone.gemfire.internal.cache.BridgeServerAdvisor.BridgeServerProfile;
+import com.gemstone.gemfire.internal.cache.ClientRegionEventImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerAdvisor.CacheServerProfile;
 import com.gemstone.gemfire.internal.cache.BucketAdvisor;
 import com.gemstone.gemfire.internal.cache.CacheDistributionAdvisor;
 import com.gemstone.gemfire.internal.cache.CloseCacheMessage;
@@ -820,7 +820,7 @@ public final class DSFIDFactory implements DataSerializableFixedID {
     registerDSFID(GATEWAY_SENDER_PROFILE,
         GatewaySenderAdvisor.GatewaySenderProfile.class);
     registerDSFID(ROLE_EVENT, RoleEventImpl.class);
-    registerDSFID(BRIDGE_REGION_EVENT, BridgeRegionEventImpl.class);
+    registerDSFID(CLIENT_REGION_EVENT, ClientRegionEventImpl.class);
     registerDSFID(PR_INVALIDATE_MESSAGE, InvalidateMessage.class);
     registerDSFID(PR_INVALIDATE_REPLY_MESSAGE,
         InvalidateMessage.InvalidateReplyMessage.class);
@@ -860,8 +860,8 @@ public final class DSFIDFactory implements DataSerializableFixedID {
     registerDSFID(ALERTS_NOTIF_MESSAGE, AlertsNotificationMessage.class);
     registerDSFID(FIND_DURABLE_QUEUE, FindDurableQueueMessage.class);
     registerDSFID(FIND_DURABLE_QUEUE_REPLY, FindDurableQueueReply.class);
-    registerDSFID(BRIDGE_SERVER_LOAD_MESSAGE, BridgeServerLoadMessage.class);
-    registerDSFID(BRIDGE_SERVER_PROFILE, BridgeServerProfile.class);
+    registerDSFID(CACHE_SERVER_LOAD_MESSAGE, CacheServerLoadMessage.class);
+    registerDSFID(CACHE_SERVER_PROFILE, CacheServerProfile.class);
     registerDSFID(CONTROLLER_PROFILE, ControllerProfile.class);
     registerDSFID(DLOCK_QUERY_MESSAGE,
         DLockQueryProcessor.DLockQueryMessage.class);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DataSerializableFixedID.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DataSerializableFixedID.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DataSerializableFixedID.java
index a8a1715..84f038a 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DataSerializableFixedID.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/DataSerializableFixedID.java
@@ -135,7 +135,7 @@ public interface DataSerializableFixedID extends SerializationVersions {
   public static final byte PR_FUNCTION_REPLY_MESSAGE = -93;
 
   public static final byte PROFILES_REPLY_MESSAGE = -92;
-  public static final byte BRIDGE_SERVER_PROFILE = -91;
+  public static final byte CACHE_SERVER_PROFILE = -91;
   public static final byte CONTROLLER_PROFILE = -90;
 
   public static final byte CREATE_REGION_MESSAGE = -89;
@@ -341,12 +341,12 @@ public interface DataSerializableFixedID extends SerializationVersions {
   public static final byte PARTITION_PROFILE = 18;
 
   public static final byte ROLE_EVENT = 19;
-  public static final byte BRIDGE_REGION_EVENT = 20;
+  public static final byte CLIENT_REGION_EVENT = 20;
 
   public static final byte CONCURRENT_HASH_MAP = 21;
   public static final byte FIND_DURABLE_QUEUE = 22;
   public static final byte FIND_DURABLE_QUEUE_REPLY = 23;
-  public static final byte BRIDGE_SERVER_LOAD_MESSAGE = 24;
+  public static final byte CACHE_SERVER_LOAD_MESSAGE = 24;
 
   /** A header byte meaning that the next element in the stream is a
    * <code>ObjectPartList</code>.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/ClientStatsManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/ClientStatsManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/ClientStatsManager.java
index 7166024..b8ceb0b 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/ClientStatsManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/ClientStatsManager.java
@@ -19,7 +19,6 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
 import com.gemstone.gemfire.cache.query.CqQuery;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
 import com.gemstone.gemfire.distributed.DistributedSystemDisconnectedException;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.i18n.LogWriterI18n;
@@ -88,12 +87,6 @@ public class ClientStatsManager {
     catch (DistributedSystemDisconnectedException e) {
       throw e;
     }
-    catch (BridgeWriterException bgx) {
-      pool.getCancelCriterion().checkCancelInProgress(bgx);
-      currentCache.getCancelCriterion().checkCancelInProgress(bgx);
-      //TODO: Need to analyze these exception scenarios.
-      logger.warning(LocalizedStrings.ClientStatsManager_FAILED_TO_SEND_CLIENT_HEALTH_STATS_TO_CACHESERVER, bgx);
-    }
     catch (CacheWriterException cwx) {
       pool.getCancelCriterion().checkCancelInProgress(cwx);
       currentCache.getCancelCriterion().checkCancelInProgress(cwx);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/GemFireVM.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/GemFireVM.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/GemFireVM.java
index 289587a..1223152 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/GemFireVM.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/GemFireVM.java
@@ -314,7 +314,7 @@ public interface GemFireVM {
    *
    * @since 4.0
    */
-  public AdminBridgeServer addBridgeServer(CacheInfo cache)
+  public AdminBridgeServer addCacheServer(CacheInfo cache)
     throws AdminException;
 
   /**

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/BridgeServerResponse.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/BridgeServerResponse.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/BridgeServerResponse.java
index 62eae9b..6bfeef3 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/BridgeServerResponse.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/BridgeServerResponse.java
@@ -12,7 +12,7 @@ import com.gemstone.gemfire.DataSerializer;
 import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.distributed.internal.DistributionManager;
 import com.gemstone.gemfire.internal.Assert;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import java.io.*;
 import java.util.*;
@@ -55,8 +55,8 @@ public final class BridgeServerResponse extends AdminResponse {
         int operation = request.getOperation();
         switch (operation) {
         case BridgeServerRequest.ADD_OPERATION: {
-          BridgeServerImpl bridge =
-            (BridgeServerImpl) cache.addBridgeServer();
+          CacheServerImpl bridge =
+            (CacheServerImpl) cache.addCacheServer();
           m.bridgeInfo = new RemoteBridgeServer(bridge);
           break;
         }
@@ -65,9 +65,9 @@ public final class BridgeServerResponse extends AdminResponse {
           int id = request.getBridgeId();
           // Note that since this is only an informational request
           // it is not necessary to synchronize on allBridgeServersLock
-          for (Iterator iter = cache.getBridgeServers().iterator();
+          for (Iterator iter = cache.getCacheServers().iterator();
                iter.hasNext(); ) {
-            BridgeServerImpl bridge = (BridgeServerImpl) iter.next();
+            CacheServerImpl bridge = (CacheServerImpl) iter.next();
             if (System.identityHashCode(bridge) == id) {
               m.bridgeInfo = new RemoteBridgeServer(bridge);
               break;
@@ -81,9 +81,9 @@ public final class BridgeServerResponse extends AdminResponse {
 
         case BridgeServerRequest.START_OPERATION: {
           RemoteBridgeServer config = request.getBridgeInfo();
-          for (Iterator iter = cache.getBridgeServers().iterator();
+          for (Iterator iter = cache.getCacheServers().iterator();
                iter.hasNext(); ) {
-            BridgeServerImpl bridge = (BridgeServerImpl) iter.next();
+            CacheServerImpl bridge = (CacheServerImpl) iter.next();
             if (System.identityHashCode(bridge) == config.getId()) {
               bridge.configureFrom(config);
               bridge.start();
@@ -99,9 +99,9 @@ public final class BridgeServerResponse extends AdminResponse {
 
         case BridgeServerRequest.STOP_OPERATION: {
           RemoteBridgeServer config = request.getBridgeInfo();
-          for (Iterator iter = cache.getBridgeServers().iterator();
+          for (Iterator iter = cache.getCacheServers().iterator();
                iter.hasNext(); ) {
-            BridgeServerImpl bridge = (BridgeServerImpl) iter.next();
+            CacheServerImpl bridge = (CacheServerImpl) iter.next();
             if (System.identityHashCode(bridge) == config.getId()) {
               bridge.stop();
               m.bridgeInfo = new RemoteBridgeServer(bridge);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/DurableClientInfoResponse.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/DurableClientInfoResponse.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/DurableClientInfoResponse.java
index dd5aeba..ecd4967 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/DurableClientInfoResponse.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/DurableClientInfoResponse.java
@@ -45,9 +45,9 @@ public class DurableClientInfoResponse extends AdminResponse
     try {
       GemFireCacheImpl c = (GemFireCacheImpl)CacheFactory.getInstanceCloseOk(dm
           .getSystem());
-      if (c.getBridgeServers().size() > 0) {
+      if (c.getCacheServers().size() > 0) {
 
-        BridgeServerImpl server = (BridgeServerImpl)c.getBridgeServers()
+        CacheServerImpl server = (CacheServerImpl)c.getCacheServers()
             .iterator().next();
         switch (request.action) {
         case DurableClientInfoRequest.HAS_DURABLE_CLIENT_REQUEST: {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteBridgeServer.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteBridgeServer.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteBridgeServer.java
index ec0bb34..cd40327 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteBridgeServer.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteBridgeServer.java
@@ -27,8 +27,8 @@ import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
 import com.gemstone.gemfire.internal.InternalDataSerializer;
 import com.gemstone.gemfire.internal.Version;
 import com.gemstone.gemfire.internal.admin.AdminBridgeServer;
-import com.gemstone.gemfire.internal.cache.AbstractBridgeServer;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.AbstractCacheServer;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
 
 /**
@@ -40,7 +40,7 @@ import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
  * @since 4.0
  */
 public class RemoteBridgeServer
-  extends AbstractBridgeServer
+  extends AbstractCacheServer
   implements AdminBridgeServer, DataSerializable {
 
   private static final long serialVersionUID = 8417391824652384959L;
@@ -64,12 +64,12 @@ public class RemoteBridgeServer
    * <code>RemoteBridgeServer</code> from the contents of the given
    * <code>BridgeServerImpl</code>.
    */
-  RemoteBridgeServer(BridgeServerImpl impl) {
+  RemoteBridgeServer(CacheServerImpl impl) {
     super(null);
     this.port = impl.getPort();
     this.bindAddress = impl.getBindAddress();
     this.hostnameForClients = impl.getHostnameForClients();
-    if (BridgeServerImpl.ENABLE_NOTIFY_BY_SUBSCRIPTION_FALSE) {
+    if (CacheServerImpl.ENABLE_NOTIFY_BY_SUBSCRIPTION_FALSE) {
       this.notifyBySubscription = impl.getNotifyBySubscription();
     }
     this.socketBufferSize = impl.getSocketBufferSize();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteCacheInfo.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteCacheInfo.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteCacheInfo.java
index 689ef92..a3a283d 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteCacheInfo.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteCacheInfo.java
@@ -12,7 +12,7 @@ import com.gemstone.gemfire.DataSerializer;
 import com.gemstone.gemfire.internal.admin.*;
 //import com.gemstone.gemfire.internal.*;
 import com.gemstone.gemfire.cache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.internal.cache.*;
 import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
 
@@ -79,11 +79,11 @@ public class RemoteCacheInfo implements CacheInfo, DataSerializable {
 
       // Note that since this is only a snapshot, so no synchronization
       // on allBridgeServersLock is needed.
-      Collection bridges = c.getBridgeServers();
+      Collection bridges = c.getCacheServers();
       this.bridgeServerIds = new int[bridges.size()];
       Iterator iter = bridges.iterator();
       for (int i = 0; iter.hasNext(); i++) {
-        BridgeServer bridge = (BridgeServer) iter.next();
+        CacheServer bridge = (CacheServer) iter.next();
         this.bridgeServerIds[i] = System.identityHashCode(bridge);
       }
 



[12/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/doc-files/properties.html
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/doc-files/properties.html b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/doc-files/properties.html
index 6a335a8..0dd2bae 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/doc-files/properties.html
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/doc-files/properties.html
@@ -3590,9 +3590,7 @@ TBA Is this class even used?
 <p>
 <em>Boolean</em> (default is false)
 <p>
-See com.gemstone.gemfire.cache.util.BridgeLoader#init(Properties).
-<p>
-See com.gemstone.gemfire.cache.util.BridgeWriter#init(Properties).
+Removed in Geode 1.0 with removal of deprecated Bridge classes.
 <p>
 TBA 
 </dd>

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/execute/InternalFunctionService.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/execute/InternalFunctionService.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/execute/InternalFunctionService.java
index d4a33a6..1ef881c 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/execute/InternalFunctionService.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/execute/InternalFunctionService.java
@@ -90,9 +90,7 @@ public class InternalFunctionService {
    */
   private static boolean isClientRegion(Region region) {
     LocalRegion localRegion = (LocalRegion)region;
-    return (localRegion.hasServerProxy()
-        || AbstractRegion.isBridgeLoader(localRegion.getCacheLoader()) || AbstractRegion
-        .isBridgeWriter(localRegion.getCacheWriter()));
+    return localRegion.hasServerProxy();
   }
 
   private static final FunctionServiceManager funcServiceManager = new FunctionServiceManager();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueue.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueue.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueue.java
index f5cf679..e094648 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueue.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/ha/HARegionQueue.java
@@ -68,7 +68,7 @@ import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedM
 import com.gemstone.gemfire.internal.Assert;
 import com.gemstone.gemfire.internal.DataSerializableFixedID;
 import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.Conflatable;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
@@ -3013,9 +3013,9 @@ protected boolean checkEventForRemoval(Long counter, ThreadIdentifier threadid,
                 && !queueRemovalMessageList.isEmpty()) { // messages exist
               QueueRemovalMessage qrm = new QueueRemovalMessage();
               qrm.resetRecipients();
-              List<BridgeServerImpl> servers = this.cache.getBridgeServers();
+              List<CacheServerImpl> servers = this.cache.getCacheServers();
               List<DistributedMember> recipients = new LinkedList();
-              for (BridgeServerImpl server: servers) {
+              for (CacheServerImpl server: servers) {
                 recipients.addAll(server.getCacheServerAdvisor().adviseBridgeServers());
               }
               qrm.setRecipients(recipients);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionObserverHolder.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionObserverHolder.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionObserverHolder.java
index 0e8c3d8..0498328 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionObserverHolder.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionObserverHolder.java
@@ -44,7 +44,7 @@ public class PartitionedRegionObserverHolder {
     return oldObserver;
   }
 
-  /** Return the current BridgeObserver instance */
+  /** Return the current ClientServerObserver instance */
   public static final PartitionedRegionObserver getInstance()
   {
     return _instance;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/ConnectionProxy.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/ConnectionProxy.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/ConnectionProxy.java
index 2c7e0a5..685a142 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/ConnectionProxy.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/ConnectionProxy.java
@@ -7,20 +7,10 @@
  */
 package com.gemstone.gemfire.internal.cache.tier;
 
-import java.util.*;
-
-import com.gemstone.gemfire.CancelCriterion;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.util.EndpointDoesNotExistException;
-import com.gemstone.gemfire.cache.util.EndpointExistsException;
-import com.gemstone.gemfire.cache.util.EndpointInUseException;
 import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.EventID;
-import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
 
 /**
- * Defines the connection proxy interface, implementations of which
- * provide connection management facilities to the bridge loader. 
+ * Provides the version of the client.
  *
  * @author Sudhir Menon
  * @since 2.0.2
@@ -33,152 +23,4 @@ public interface ConnectionProxy {
    * @since 5.7
    */
   public static final Version VERSION = Version.CURRENT.getGemFireVersion();
-
-  public abstract void finalizeProxy();
-
-  /**
-   * Returns the load balancing policy in effect for this connection
-   * proxy.
-   */
-  public abstract String getLBPolicy();
-
-  /**
-   * Returns the number of milliseconds to wait before re-connecting
-   * to a dead server.
-   */
-  public abstract int getRetryInterval();
-
-  /**
-   * Returns the number of milliseconds to wait before timing out
-   * client/server communication.
-   */
-  public abstract int getReadTimeout();
-
-
-  /**
-   * Closes this connection proxy and all of its connections
-   */
-  public abstract void close();
-
-  /**
-   * Returned true if this ConnectionProxy has been initialized and not closed.
-   */
-  public abstract boolean isOpen();
-
-  /**
-   * Update bookkeeping on this proxy associated with the loss of a region.
-   * In particular, remove all region interests.
-   */
-  public abstract void detachRegion(Region r);
-
-  /**
-   * Returns the number of connections that should be created
-   * to every cache server.
-   */
-  public abstract int getConnectionsPerServer();
-
-  /**
-   * Notes that the server with the given name is unavailable
-   */
-  public abstract void setServerUnavailable(String name);
-
-  /**
-   * Notes that the server with the given name is available
-   */
-  public abstract void setServerAvailable(String name);
-
-  /**
-   * Stops this connection proxy and
-   */
-  public abstract void terminate();
-
-  /**
-   * Releases the connection associated with the current thread
-   */
-  public abstract void release();
-
-  /**
-   * Returns value of establishCallbackConnection property.
-   * @since 4.2.3
-   */
-  public boolean getEstablishCallbackConnection();
-
-  /**
-   * Add an <code>Endpoint</code> to the known <code>Endpoint</code>s.
-   *
-   * @param name The name of the endpoint to add
-   * @param host The host name or ip address of the endpoint to add
-   * @param port The port of the endpoint to add
-   *
-   * @throws EndpointExistsException if the <code>Endpoint</code> to be
-   * added already exists.
-   *
-   * @since 5.0.2
-   */
-  public void addEndpoint(String name, String host, int port)
-  throws EndpointExistsException;
-
-  /**
-   * Remove an <code>Endpoint</code> from the dead <code>Endpoint</code>s.
-   * The specified <code>Endpoint</code> must be dead.
-   *
-   * @param name The name of the endpoint to remove
-   * @param host The host name or ip address of the endpoint to remove
-   * @param port The port of the endpoint to remove
-   *
-   * @throws EndpointDoesNotExistException if the <code>Endpoint</code> to be
-   * removed doesn't exist.
-   *
-   * @throws EndpointInUseException if the <code>Endpoint</code> to be removed
-   * contains <code>Connection</code>s
-   *
-   * @since 5.0.2
-   */
-  public void removeEndpoint(String name, String host, int port)
-  throws EndpointDoesNotExistException, EndpointInUseException;
-
-  /**
-   * @return Returns the threadIdToSequenceId.
-   * @since 5.1
-   */
-  public Map getThreadIdToSequenceIdMap();
-
-  /**
-   * Verify if this EventId is already present in the map or not. If it is
-   * already present then return true
-   *
-   * @param eventId the EventId of the incoming event
-   * @return true if it is already present
-   * @since 5.1
-   */
-  public abstract boolean verifyIfDuplicate(EventID eventId, boolean addToMap);
-
-  /**
-   * @return Returns the redundancy number
-   * @since 5.1
-   */
-  public int getRedundancyLevel();
-
-  /**
-   * Returns the cancellation criterion for this proxy
-   * @return the cancellation criterion
-   */
-  public CancelCriterion getCancelCriterion();
-
-  /**
-   * The configurable expiry time of last received sequence ID
-   *
-   * @return The configurable expiry time of last received sequence ID
-   */
-  public long getMessageTrackingTimeout();
-
-  public boolean isDurableClient();
-
-  public void reuse();
-  public int getRetryAttempts();
-
-  /**
-   * Test hook for getting the client proxy membership id from this proxy.
-   */
-  public ClientProxyMembershipID getProxyID();
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalBridgeMembership.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalBridgeMembership.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalBridgeMembership.java
deleted file mode 100755
index b0dc18f..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalBridgeMembership.java
+++ /dev/null
@@ -1,715 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.tier;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.RejectedExecutionException;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.ThreadPoolExecutor;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.logging.log4j.Logger;
-
-import com.gemstone.gemfire.CancelException;
-import com.gemstone.gemfire.SystemFailure;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeMembershipEvent;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListener;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.distributed.DistributedSystemDisconnectedException;
-import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
-import com.gemstone.gemfire.distributed.internal.ServerLocation;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
-import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
-import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
-import com.gemstone.gemfire.internal.cache.tier.sockets.ClientHealthMonitor;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-import com.gemstone.gemfire.internal.logging.LogService;
-import com.gemstone.gemfire.internal.logging.LoggingThreadGroup;
-import com.gemstone.gemfire.internal.logging.log4j.LocalizedMessage;
-import com.gemstone.gemfire.management.membership.ClientMembershipEvent;
-import com.gemstone.gemfire.management.membership.ClientMembershipListener;
-
-/**
- * Handles registration and event notification duties for
- * <code>BridgeMembershipListener</code>s. The public counterpart for this
- * class is {@link com.gemstone.gemfire.cache.util.BridgeMembership}.
- *
- * @author Kirk Lund
- * @since 4.2.1
- */
-public final class InternalBridgeMembership  {
-
-  private static final Logger logger = LogService.getLogger();
-  
-  /** 
-   * The membership listeners registered on this InternalBridgeMembership
-   * 
-   * This list is never modified in place, and a new list is installed
-   * only under the control of (@link #membershipLock}.
-   */
-  private static volatile List<BridgeMembershipListener> membershipListeners = Collections.emptyList();
-  
-  
-  private static volatile List<ClientMembershipListener> clientMembershipListeners = Collections.emptyList();
-  
-  /**
-   * Must be locked whenever references to the volatile field 
-   * {@link #membershipListeners} is changed.
-   */
-  private static final Object membershipLock = new Object();
-
-  /** 
-   * QueuedExecutor for firing BridgeMembershipEvents 
-   *
-   * Access synchronized via {@link #systems}
-   */
-  private static ThreadPoolExecutor executor;
-
-  private static final ThreadGroup threadGroup =
-      LoggingThreadGroup.createThreadGroup(
-          "BridgeMembership Event Invoker Group", logger);
-
-  /** List of connected <code>DistributedSystem</code>s */
-  private static final List systems = new ArrayList(1);
-
-  /**
-   * True if class is monitoring systems
-   * 
-   * @guarded.By InternalBridgeMembership.class
-   */
-  private static boolean isMonitoring = false;
-  
-  /**
-   * This work used to be in a class initializer.  Unfortunately, this allowed
-   * the class to escape before it was fully initialized, so now we just
-   * make sure this work is done before any public static method on it
-   * is invoked.
-   */
-  private static synchronized void startMonitoring() {
-    if (isMonitoring) {
-      return;
-    }
-    
-    synchronized(systems) {
-      // Initialize our own list of distributed systems via a connect listener
-      List existingSystems = InternalDistributedSystem.addConnectListener(
-        new InternalDistributedSystem.ConnectListener() {
-          public void onConnect(InternalDistributedSystem sys) {
-            addInternalDistributedSystem(sys);
-          }
-        });
-      
-      isMonitoring = true;
-      
-      // While still holding the lock on systems, add all currently known
-      // systems to our own list
-      for (Iterator iter = existingSystems.iterator(); iter.hasNext();) {
-        InternalDistributedSystem sys = (InternalDistributedSystem) iter.next();
-        try {
-          if (sys.isConnected()) {
-            addInternalDistributedSystem(sys);
-          }
-        }
-        catch (DistributedSystemDisconnectedException e) {
-          // it doesn't care (bug 37379)
-        }
-      }
-      
-    } // synchronized
-  }
-  
-  private InternalBridgeMembership() {}
-
-  /**
-   * Registers a {@link BridgeMembershipListener} for notification of
-   * connection changes for BridgeServers and bridge clients.
-   * @param listener a BridgeMembershipListener to be registered
-   * @deprecated use newer registerClientMembershipListener instead
-   */
-  public static void registerBridgeMembershipListener(BridgeMembershipListener listener) {
-    startMonitoring();
-    synchronized (membershipLock) {
-      List<BridgeMembershipListener> oldListeners = membershipListeners;
-      if (!oldListeners.contains(listener)) {
-        List<BridgeMembershipListener> newListeners = new ArrayList<BridgeMembershipListener>(oldListeners);
-        newListeners.add(listener);
-        membershipListeners = newListeners;
-      }
-    }
-  }
-  
-  /**
-   * Registers a {@link ClientMembershipListener} for notification of connection
-   * changes for CacheServer and clients.
-   * 
-   * @param listener
-   *          a ClientMembershipListener to be registered
-   */
-  public static void registerClientMembershipListener(ClientMembershipListener listener) {
-    startMonitoring();
-    synchronized (membershipLock) {
-      List<ClientMembershipListener> oldListeners = clientMembershipListeners;
-      if (!oldListeners.contains(listener)) {
-        List<ClientMembershipListener> newListeners = new ArrayList<ClientMembershipListener>(oldListeners);
-        newListeners.add(listener);
-        clientMembershipListeners = newListeners;
-      }
-    }
-  }
-  
-  /**
-   * Removes registration of a previously registered {@link
-   * BridgeMembershipListener}.
-   * @param listener a BridgeMembershipListener to be unregistered
-   * @deprecated
-   */
-  public static void unregisterBridgeMembershipListener(BridgeMembershipListener listener) {
-    startMonitoring();
-    synchronized (membershipLock) {
-      List<BridgeMembershipListener> oldListeners = membershipListeners;
-      if (oldListeners.contains(listener)) {
-        List<BridgeMembershipListener> newListeners = new ArrayList<BridgeMembershipListener>(oldListeners);
-        if (newListeners.remove(listener)) {
-          membershipListeners = newListeners;
-        }
-      }
-    }
-  }
-  
-  /**
-   * Removes registration of a previously registered
-   * {@link ClientMembershipListener}.
-   * 
-   * @param listener
-   *          a ClientMembershipListener to be unregistered
-   */
-  public static void unregisterClientMembershipListener(ClientMembershipListener listener) {
-    startMonitoring();
-    synchronized (membershipLock) {
-      List<ClientMembershipListener> oldListeners = clientMembershipListeners;
-      if (oldListeners.contains(listener)) {
-        List<ClientMembershipListener> newListeners = new ArrayList<ClientMembershipListener>(oldListeners);
-        if (newListeners.remove(listener)) {
-          clientMembershipListeners = newListeners;
-        }
-      }
-    }
-  }
-
-  /**
-   * Returns an array of all the currently registered
-   * <code>BridgeMembershipListener</code>s. Modifications to the returned
-   * array will not effect the registration of these listeners.
-   * @return the registered <code>BridgeMembershipListener</code>s; an empty
-   * array if no listeners
-   * @deprecated
-   */
-  public static BridgeMembershipListener[] getBridgeMembershipListeners() {
-    startMonitoring();
-    // Synchronization is not needed because we never modify this list
-    // in place.
-    
-    List<BridgeMembershipListener> l = membershipListeners; // volatile fetch
-    // convert to an array
-    BridgeMembershipListener[] listeners = (BridgeMembershipListener[]) 
-        l.toArray(new BridgeMembershipListener[l.size()]);
-    return listeners;
-  }
-  
-  /**
-   * Returns an array of all the currently registered
-   * <code>ClientMembershipListener</code>s. Modifications to the returned array
-   * will not effect the registration of these listeners.
-   * 
-   * @return the registered <code>ClientMembershipListener</code>s; an empty
-   *         array if no listeners
-   */
-  public static ClientMembershipListener[] getClientMembershipListeners() {
-    startMonitoring();
-    // Synchronization is not needed because we never modify this list
-    // in place.
-
-    List<ClientMembershipListener> l = clientMembershipListeners; // volatile fetch
-    // convert to an array
-    ClientMembershipListener[] listeners = (ClientMembershipListener[]) l
-        .toArray(new ClientMembershipListener[l.size()]);
-    return listeners;
-  }
-
-  /**
-   * Removes registration of all currently registered
-   * <code>BridgeMembershipListener<code>s. and <code>ClientMembershipListener<code>s.
-   */
-  public static void unregisterAllListeners() {
-    startMonitoring();
-    synchronized (membershipLock) {
-      membershipListeners = new ArrayList<BridgeMembershipListener>();
-      clientMembershipListeners = new ArrayList<ClientMembershipListener>();
-    }
-  }
-  
-  
-  
-  /**
-   * Returns a map of client memberIds to count of connections to that client.
-   * The map entry key is a String representation of the client memberId, and
-   * the map entry value is an Integer count of connections to that client.
-   * Since a single client can have multiple ConnectionProxy objects, this 
-   * map will contain all the Connection objects across the ConnectionProxies
-   * @param onlyClientsNotifiedByThisServer true will return only those clients
-   * that are actively being updated by this server
-   * @return map of client memberIds to count of connections to that client
-   * 
-   * 
-   */
-  public static Map getConnectedClients(boolean onlyClientsNotifiedByThisServer) {
-    ClientHealthMonitor chMon = ClientHealthMonitor.getInstance();
-    Set filterProxyIDs = null;
-    if(onlyClientsNotifiedByThisServer) {
-      // Note it is not necessary to synchronize on the list of bridge servers here, 
-      // since this is only a status (snapshot) of the system.
-      for (Iterator bsii = CacheFactory.getAnyInstance().getBridgeServers().iterator(); bsii.hasNext(); ) {
-        BridgeServerImpl bsi = (BridgeServerImpl) bsii.next();
-        AcceptorImpl ai = bsi.getAcceptor();
-        if (ai != null && ai.getCacheClientNotifier() != null) {
-          if (filterProxyIDs != null) {
-            // notifierClients is a copy set from CacheClientNotifier
-            filterProxyIDs.addAll(ai.getCacheClientNotifier().getActiveClients());
-          }
-          else {
-            // notifierClients is a copy set from CacheClientNotifier
-            filterProxyIDs = ai.getCacheClientNotifier().getActiveClients();
-          }
-        }
-      }
-    }
-
-    Map map = chMon.getConnectedClients(filterProxyIDs);
-   /*if (onlyClientsNotifiedByThisServer) {
-      Map notifyMap = new HashMap();
-      
-      for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
-        String memberId = (String) iter.next();
-        if (notifierClients.contains(memberId)) {
-          // found memberId that is notified by this server
-          notifyMap.put(memberId, map.get(memberId));
-        }
-      }
-      map = notifyMap;
-    }*/
-    return map;
-  }
-  
-  /**
-   * This method returns the CacheClientStatus for all the clients that are
-   * connected to this server. This method returns all clients irrespective of
-   * whether subscription is enabled or not. 
-   * 
-   * @return Map of ClientProxyMembershipID against CacheClientStatus objects.
-   */
-  public static Map getStatusForAllClientsIgnoreSubscriptionStatus() {
-    Map result = new HashMap();
-    if (ClientHealthMonitor.getInstance() != null)
-      result = ClientHealthMonitor.getInstance().getStatusForAllClients();
-
-    return result;
-  }  
-
-  /**
-   * Caller must synchronize on cache.allBridgeServersLock
-   * @return all the clients
-   */
-  public static Map getConnectedClients() {
-
-    // Get all clients
-    Map allClients = new HashMap();
-    for (Iterator bsii = CacheFactory.getAnyInstance().getBridgeServers().iterator(); bsii.hasNext(); ) {
-      BridgeServerImpl bsi = (BridgeServerImpl) bsii.next();
-      AcceptorImpl ai = bsi.getAcceptor();
-      if (ai != null && ai.getCacheClientNotifier() != null) {
-        allClients.putAll(ai.getCacheClientNotifier().getAllClients());
-      }
-    }
-
-    // Fill in the missing info, if HealthMonitor started
-    if (ClientHealthMonitor.getInstance()!=null)
-        ClientHealthMonitor.getInstance().fillInClientInfo(allClients);
-
-    return allClients;
-  }
-
-  public static Map getClientQueueSizes() {
-    Map clientQueueSizes = new HashMap();
-    GemFireCacheImpl c =  (GemFireCacheImpl)CacheFactory.getAnyInstance();
-    if (c==null) // Add a NULL Check
-      return clientQueueSizes;
-
-    for (Iterator bsii = c.getBridgeServers().iterator(); bsii.hasNext(); ) {
-      BridgeServerImpl bsi = (BridgeServerImpl) bsii.next();
-      AcceptorImpl ai = bsi.getAcceptor();
-      if (ai != null && ai.getCacheClientNotifier() != null) {
-        clientQueueSizes.putAll(ai.getCacheClientNotifier().getClientQueueSizes());
-      }
-    } // for
-    return clientQueueSizes;
-  }
-
-  /**
-   * Returns a map of servers to count of pools connected to that server.
-   * The map entry key is a String representation of the server, 
-   * @return map of servers to count of pools using that server
-   */
-  public static Map getConnectedServers() {
-    final Map map = new HashMap(); // KEY:server (String), VALUE:List of active endpoints
-    // returns an unmodifiable set
-    Map/*<String,Pool>*/ poolMap = PoolManager.getAll();
-    Iterator pools = poolMap.values().iterator();
-    while(pools.hasNext()) {
-      PoolImpl pi = (PoolImpl)pools.next();
-      Map/*<ServerLocation,Endpoint>*/ eps = pi.getEndpointMap();
-      Iterator it = eps.entrySet().iterator();
-      while(it.hasNext()) {
-        Map.Entry entry = (Map.Entry)it.next();
-        ServerLocation loc = (ServerLocation)entry.getKey();
-        com.gemstone.gemfire.cache.client.internal.Endpoint ep = (com.gemstone.gemfire.cache.client.internal.Endpoint)entry.getValue();
-        String server = loc.getHostName()+"["+loc.getPort()+"]";
-        Integer count = (Integer)map.get(server);
-        if(count==null) {
-          map.put(server,Integer.valueOf(1));  
-        } else {
-          map.put(server,Integer.valueOf(count.intValue()+1));
-        }
-      }
-    }
-    return map;
-  }
-
-  public static Map getConnectedIncomingGateways() {
-    Map connectedIncomingGateways = null;
-    ClientHealthMonitor chMon = ClientHealthMonitor.getInstance();
-    if (chMon == null) {
-      connectedIncomingGateways = new HashMap();
-    } else {
-      connectedIncomingGateways = chMon.getConnectedIncomingGateways();
-    }
-    return connectedIncomingGateways;
-  }
-  
-  
-
-  /**
-   * Notifies registered listeners that a bridge member has joined. The new
-   * member may be a bridge client connecting to this process or a bridge
-   * server that this process has just connected to.
-   *
-   * @param member the <code>DistributedMember</code>
-   * @param client true if the member is a bridge client; false if bridge server
-   */
-  public static void notifyJoined(final DistributedMember member, final boolean client) {
-    startMonitoring();
-    ThreadPoolExecutor queuedExecutor = executor;
-    if (queuedExecutor == null) {
-      return;
-    }
-
-    final BridgeMembershipEvent event =
-        new InternalBridgeMembershipEvent(member, client);
-    if (forceSynchronous) {
-      doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_JOINED);
-      doNotifyBridgeMembershipListener(member, client, event,EventType.CLIENT_JOINED);
-    }
-    else {
-      try {
-          queuedExecutor.execute(new Runnable() {
-              public void run() {
-                doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_JOINED);
-                doNotifyBridgeMembershipListener(member, client, event,EventType.CLIENT_JOINED);
-              }
-            });
-      }
-      catch (RejectedExecutionException e) {
-        // executor must have been shutdown
-        }
-    }
-  }
-
-
-
-  /**
-   * Notifies registered listeners that a bridge member has left. The departed
-   * member may be a bridge client previously connected to this process or a
-   * bridge server that this process was connected to.
-   *
-   * @param member the <code>DistributedMember</code>
-   * @param client true if the member is a bridge client; false if bridge server
-   */
-  public static void notifyLeft(final DistributedMember member, final boolean client) {
-    startMonitoring();
-    ThreadPoolExecutor queuedExecutor = executor;
-    if (queuedExecutor == null) {
-      return;
-    }
-
-    
-    final BridgeMembershipEvent event =
-        new InternalBridgeMembershipEvent(member, client);
-    if (forceSynchronous) {
-      doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_LEFT);
-      doNotifyBridgeMembershipListener(member, client, event,EventType.CLIENT_LEFT);
-    }
-    else {
-      try {
-          queuedExecutor.execute(new Runnable() {
-              public void run() {
-                doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_LEFT);
-                doNotifyBridgeMembershipListener(member, client, event,EventType.CLIENT_LEFT);
-              }
-            });
-      }
-      catch (RejectedExecutionException e) {
-        // executor must have been shutdown
-        }
-    }
-  }
-
-
-  /**
-   * Notifies registered listeners that a bridge member has crashed. The
-   * departed member may be a bridge client previously connected to this
-   * process or a bridge server that this process was connected to.
-   *
-   * @param member the <code>DistributedMember</code>
-   * @param client true if the member is a bridge client; false if bridge server
-   */
-  public static void notifyCrashed(final DistributedMember member, final boolean client) {
-    ThreadPoolExecutor queuedExecutor = executor;
-    if (queuedExecutor == null) {
-      return;
-    }
-
-    final BridgeMembershipEvent event =
-        new InternalBridgeMembershipEvent(member, client);
-    if (forceSynchronous) {
-      doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_CRASHED);
-      doNotifyBridgeMembershipListener(member, client, event,EventType.CLIENT_CRASHED);
-    }
-    else {
-
-      try {
-          queuedExecutor.execute(new Runnable() {
-            public void run() {
-              doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_CRASHED);
-              doNotifyBridgeMembershipListener(member, client, event,EventType.CLIENT_CRASHED);
-            }
-          });
-      }
-      catch (RejectedExecutionException e) {
-        // executor must have been shutdown
-        }
-    }
-  }
-
-  private static void doNotifyClientMembershipListener(DistributedMember member, boolean client,
-      ClientMembershipEvent clientMembershipEvent, EventType eventType) {
-
-    for (Iterator<ClientMembershipListener> iter = clientMembershipListeners.iterator(); iter.hasNext();) {
-
-      ClientMembershipListener listener = iter.next();
-      try {
-        if (eventType.equals(EventType.CLIENT_JOINED)) {
-          listener.memberJoined(clientMembershipEvent);
-        } else if (eventType.equals(EventType.CLIENT_LEFT)) {
-          listener.memberLeft(clientMembershipEvent);
-        } else {
-          listener.memberCrashed(clientMembershipEvent);
-        }
-      } catch (CancelException e) {
-        // this can be thrown by a bridge server when the system is shutting
-        // down
-        return;
-      } catch (VirtualMachineError e) {
-        SystemFailure.initiateFailure(e);
-        throw e;
-      } catch (Throwable t) {
-        SystemFailure.checkFailure();
-        logger.warn(LocalizedMessage.create(LocalizedStrings.LocalRegion_UNEXPECTED_EXCEPTION), t);
-      }
-    }
-  }
-  
-  private static void doNotifyBridgeMembershipListener(DistributedMember member, boolean client,
-      BridgeMembershipEvent bridgeMembershipEvent, EventType eventType) {
-
-    for (Iterator<BridgeMembershipListener> iter = membershipListeners.iterator(); iter.hasNext();) {
-
-      BridgeMembershipListener listener = iter.next();
-      try {
-        if (eventType.equals(EventType.CLIENT_JOINED)) {
-          listener.memberJoined(bridgeMembershipEvent);
-        } else if (eventType.equals(EventType.CLIENT_LEFT)) {
-          listener.memberLeft(bridgeMembershipEvent);
-        } else {
-          listener.memberCrashed(bridgeMembershipEvent);
-        }
-      } catch (CancelException e) {
-        // this can be thrown by a bridge server when the system is shutting
-        // down
-        return;
-      } catch (VirtualMachineError e) {
-        SystemFailure.initiateFailure(e);
-        throw e;
-      } catch (Throwable t) {
-        SystemFailure.checkFailure();
-        logger.warn(LocalizedMessage.create(LocalizedStrings.LocalRegion_UNEXPECTED_EXCEPTION), t);
-      }
-    }
-  }
-  
-
-//  /**
-//   * Returns true if there are any registered
-//   * <code>BridgeMembershipListener</code>s.
-//   */
-//  private static boolean hasBridgeMembershipListeners() {
-//    synchronized (membershipLock) {
-//      return !membershipListeners.isEmpty();
-//    }
-//  }
-
-  protected static void addInternalDistributedSystem(InternalDistributedSystem s) {
-    synchronized(systems) {
-      s.addDisconnectListener(
-        new InternalDistributedSystem.DisconnectListener() {
-          @Override
-          public String toString() {
-            return "Disconnect listener for InternalBridgeMembership";
-          }
-          
-          public void onDisconnect(InternalDistributedSystem ss) {
-            removeInternalDistributedSystem(ss);
-          }
-        });
-      systems.add(s);
-      // make sure executor is alive
-      ensureExecutorIsRunning(); // optimized to do nothing if already running
-    }
-  }
-
-  protected static void removeInternalDistributedSystem(InternalDistributedSystem sys) {
-    synchronized(systems) {
-      systems.remove(sys);
-      if (systems.isEmpty()) {
-        // clean up executor
-/*
-Object[] queueElementsBefore = new Object[executorQueue.size()];
-queueElementsBefore = executorQueue.toArray(queueElementsBefore);
-System.out.println("Before shut down, the executor's queue contains the following " + queueElementsBefore.length + " elements");
-for (int i=0; i<queueElementsBefore.length; i++) {
-  System.out.println("\t" + queueElementsBefore[i]);
-}
-*/
-        if (executor != null) {
-          executor.shutdown();
-        }
-/*
-Object[] queueElementsAfter = new Object[executorQueue.size()];
-queueElementsAfter = executorQueue.toArray(queueElementsAfter);
-System.out.println("After shut down, the executor's queue contains the following " + queueElementsAfter.length + " elements");
-for (int i=0; i<queueElementsAfter.length; i++) {
-  System.out.println("\t" + queueElementsAfter[i]);
-}
-*/
-        // deadcoded this clear to fix bug 35675 - clearing removed the shutdown token from the queue!
-        // executorQueue.clear();
-        executor = null;
-      }
-    }
-  }
-
-  /**
-   * @guarded.By {@link #systems}
-   */
-  private static void ensureExecutorIsRunning() {
-    // protected by calling method synchronized on systems
-    if (executor == null) {
-      final ThreadGroup group = threadGroup;
-      ThreadFactory tf = new ThreadFactory() {
-          public Thread newThread(Runnable command) {
-            Thread thread =
-                new Thread(group, command, "BridgeMembership Event Invoker");
-            thread.setDaemon(true);
-            return thread;
-          }
-        };
-      LinkedBlockingQueue q = new LinkedBlockingQueue();
-      executor = new ThreadPoolExecutor(1, 1/*max unused*/,
-                                        15, TimeUnit.SECONDS, q, tf);
-    }
-  }
-
-  /**
-   * Internal implementation of BridgeMembershipEvent.
-   */
-  protected static class InternalBridgeMembershipEvent
-  implements BridgeMembershipEvent,ClientMembershipEvent {
-
-    private final DistributedMember member;
-    private final boolean client;
-
-    /** Constructs new instance of event */
-    protected InternalBridgeMembershipEvent(DistributedMember member, boolean client) {
-      this.member = member;
-      this.client = client;
-    }
-
-    public DistributedMember getMember() {
-      return this.member;
-    }
-
-    public String getMemberId() {
-      return this.member == null ? "unknown" : this.member.getId();
-    }
-
-    public boolean isClient() {
-      return this.client;
-    }
-
-    @Override // GemStoneAddition
-    public String toString() {
-      final StringBuffer sb = new StringBuffer("[BridgeMembershipEvent: ");
-      sb.append("member=").append(this.member);
-      sb.append(", isClient=").append(this.client);
-      sb.append("]");
-      return sb.toString();
-    }
-  }
-  
-  /** If set to true for testing then notification will be synchronous */
-  private static boolean forceSynchronous = false;
-  /** Set to true if synchronous notification is needed for testing */
-  public static void setForceSynchronous(boolean value) {
-    forceSynchronous = value;
-  }
-  
-  private static enum EventType{
-    CLIENT_JOINED,
-    CLIENT_LEFT,
-    CLIENT_CRASHED
-  }
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalClientMembership.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalClientMembership.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalClientMembership.java
new file mode 100755
index 0000000..22fa0e3
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/InternalClientMembership.java
@@ -0,0 +1,617 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache.tier;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.RejectedExecutionException;
+import java.util.concurrent.ThreadFactory;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.logging.log4j.Logger;
+
+import com.gemstone.gemfire.CancelException;
+import com.gemstone.gemfire.SystemFailure;
+import com.gemstone.gemfire.cache.CacheFactory;
+import com.gemstone.gemfire.cache.client.PoolManager;
+import com.gemstone.gemfire.cache.client.internal.PoolImpl;
+import com.gemstone.gemfire.distributed.DistributedMember;
+import com.gemstone.gemfire.distributed.DistributedSystemDisconnectedException;
+import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
+import com.gemstone.gemfire.distributed.internal.ServerLocation;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
+import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
+import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
+import com.gemstone.gemfire.internal.cache.tier.sockets.ClientHealthMonitor;
+import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
+import com.gemstone.gemfire.internal.logging.LogService;
+import com.gemstone.gemfire.internal.logging.LoggingThreadGroup;
+import com.gemstone.gemfire.internal.logging.log4j.LocalizedMessage;
+import com.gemstone.gemfire.management.membership.ClientMembershipEvent;
+import com.gemstone.gemfire.management.membership.ClientMembershipListener;
+
+/**
+ * Handles registration and event notification duties for
+ * <code>ClientMembershipListener</code>s. The public counterpart for this
+ * class is {@link com.gemstone.gemfire.management.membership.ClientMembership}.
+ *
+ * @author Kirk Lund
+ * @since 4.2.1
+ */
+public final class InternalClientMembership  {
+
+  private static final Logger logger = LogService.getLogger();
+  
+  /** 
+   * The membership listeners registered on this InternalClientMembership
+   * 
+   * This list is never modified in place, and a new list is installed
+   * only under the control of (@link #membershipLock}.
+   */
+  private static volatile List<ClientMembershipListener> clientMembershipListeners = Collections.emptyList();
+  
+  /**
+   * Must be locked whenever references to the volatile field 
+   * {@link #membershipListeners} is changed.
+   */
+  private static final Object membershipLock = new Object();
+
+  /** 
+   * QueuedExecutor for firing ClientMembershipEvents 
+   *
+   * Access synchronized via {@link #systems}
+   */
+  private static ThreadPoolExecutor executor;
+
+  private static final ThreadGroup threadGroup =
+      LoggingThreadGroup.createThreadGroup(
+          "ClientMembership Event Invoker Group", logger);
+
+  /** List of connected <code>DistributedSystem</code>s */
+  private static final List systems = new ArrayList(1);
+
+  /**
+   * True if class is monitoring systems
+   * 
+   * @guarded.By InternalClientMembership.class
+   */
+  private static boolean isMonitoring = false;
+  
+  /**
+   * This work used to be in a class initializer.  Unfortunately, this allowed
+   * the class to escape before it was fully initialized, so now we just
+   * make sure this work is done before any public static method on it
+   * is invoked.
+   */
+  private static synchronized void startMonitoring() {
+    if (isMonitoring) {
+      return;
+    }
+    
+    synchronized(systems) {
+      // Initialize our own list of distributed systems via a connect listener
+      List existingSystems = InternalDistributedSystem.addConnectListener(
+        new InternalDistributedSystem.ConnectListener() {
+          public void onConnect(InternalDistributedSystem sys) {
+            addInternalDistributedSystem(sys);
+          }
+        });
+      
+      isMonitoring = true;
+      
+      // While still holding the lock on systems, add all currently known
+      // systems to our own list
+      for (Iterator iter = existingSystems.iterator(); iter.hasNext();) {
+        InternalDistributedSystem sys = (InternalDistributedSystem) iter.next();
+        try {
+          if (sys.isConnected()) {
+            addInternalDistributedSystem(sys);
+          }
+        }
+        catch (DistributedSystemDisconnectedException e) {
+          // it doesn't care (bug 37379)
+        }
+      }
+      
+    } // synchronized
+  }
+  
+  private InternalClientMembership() {}
+
+  /**
+   * Registers a {@link ClientMembershipListener} for notification of connection
+   * changes for CacheServer and clients.
+   * 
+   * @param listener
+   *          a ClientMembershipListener to be registered
+   */
+  public static void registerClientMembershipListener(ClientMembershipListener listener) {
+    startMonitoring();
+    synchronized (membershipLock) {
+      List<ClientMembershipListener> oldListeners = clientMembershipListeners;
+      if (!oldListeners.contains(listener)) {
+        List<ClientMembershipListener> newListeners = new ArrayList<ClientMembershipListener>(oldListeners);
+        newListeners.add(listener);
+        clientMembershipListeners = newListeners;
+      }
+    }
+  }
+  
+  /**
+   * Removes registration of a previously registered
+   * {@link ClientMembershipListener}.
+   * 
+   * @param listener
+   *          a ClientMembershipListener to be unregistered
+   */
+  public static void unregisterClientMembershipListener(ClientMembershipListener listener) {
+    startMonitoring();
+    synchronized (membershipLock) {
+      List<ClientMembershipListener> oldListeners = clientMembershipListeners;
+      if (oldListeners.contains(listener)) {
+        List<ClientMembershipListener> newListeners = new ArrayList<ClientMembershipListener>(oldListeners);
+        if (newListeners.remove(listener)) {
+          clientMembershipListeners = newListeners;
+        }
+      }
+    }
+  }
+
+  /**
+   * Returns an array of all the currently registered
+   * <code>ClientMembershipListener</code>s. Modifications to the returned array
+   * will not effect the registration of these listeners.
+   * 
+   * @return the registered <code>ClientMembershipListener</code>s; an empty
+   *         array if no listeners
+   */
+  public static ClientMembershipListener[] getClientMembershipListeners() {
+    startMonitoring();
+    // Synchronization is not needed because we never modify this list
+    // in place.
+
+    List<ClientMembershipListener> l = clientMembershipListeners; // volatile fetch
+    // convert to an array
+    ClientMembershipListener[] listeners = (ClientMembershipListener[]) l
+        .toArray(new ClientMembershipListener[l.size()]);
+    return listeners;
+  }
+
+  /**
+   * Removes registration of all currently registered
+   * <code>ClientMembershipListener<code>s. and <code>ClientMembershipListener<code>s.
+   */
+  public static void unregisterAllListeners() {
+    startMonitoring();
+    synchronized (membershipLock) {
+      clientMembershipListeners = new ArrayList<ClientMembershipListener>();
+    }
+  }
+  
+  
+  
+  /**
+   * Returns a map of client memberIds to count of connections to that client.
+   * The map entry key is a String representation of the client memberId, and
+   * the map entry value is an Integer count of connections to that client.
+   * Since a single client can have multiple ConnectionProxy objects, this 
+   * map will contain all the Connection objects across the ConnectionProxies
+   * @param onlyClientsNotifiedByThisServer true will return only those clients
+   * that are actively being updated by this server
+   * @return map of client memberIds to count of connections to that client
+   * 
+   * 
+   */
+  public static Map getConnectedClients(boolean onlyClientsNotifiedByThisServer) {
+    ClientHealthMonitor chMon = ClientHealthMonitor.getInstance();
+    Set filterProxyIDs = null;
+    if(onlyClientsNotifiedByThisServer) {
+      // Note it is not necessary to synchronize on the list of Client servers here, 
+      // since this is only a status (snapshot) of the system.
+      for (Iterator bsii = CacheFactory.getAnyInstance().getCacheServers().iterator(); bsii.hasNext(); ) {
+        CacheServerImpl bsi = (CacheServerImpl) bsii.next();
+        AcceptorImpl ai = bsi.getAcceptor();
+        if (ai != null && ai.getCacheClientNotifier() != null) {
+          if (filterProxyIDs != null) {
+            // notifierClients is a copy set from CacheClientNotifier
+            filterProxyIDs.addAll(ai.getCacheClientNotifier().getActiveClients());
+          }
+          else {
+            // notifierClients is a copy set from CacheClientNotifier
+            filterProxyIDs = ai.getCacheClientNotifier().getActiveClients();
+          }
+        }
+      }
+    }
+
+    Map map = chMon.getConnectedClients(filterProxyIDs);
+   /*if (onlyClientsNotifiedByThisServer) {
+      Map notifyMap = new HashMap();
+      
+      for (Iterator iter = map.keySet().iterator(); iter.hasNext();) {
+        String memberId = (String) iter.next();
+        if (notifierClients.contains(memberId)) {
+          // found memberId that is notified by this server
+          notifyMap.put(memberId, map.get(memberId));
+        }
+      }
+      map = notifyMap;
+    }*/
+    return map;
+  }
+  
+  /**
+   * This method returns the CacheClientStatus for all the clients that are
+   * connected to this server. This method returns all clients irrespective of
+   * whether subscription is enabled or not. 
+   * 
+   * @return Map of ClientProxyMembershipID against CacheClientStatus objects.
+   */
+  public static Map getStatusForAllClientsIgnoreSubscriptionStatus() {
+    Map result = new HashMap();
+    if (ClientHealthMonitor.getInstance() != null)
+      result = ClientHealthMonitor.getInstance().getStatusForAllClients();
+
+    return result;
+  }  
+
+  /**
+   * Caller must synchronize on cache.allClientServersLock
+   * @return all the clients
+   */
+  public static Map getConnectedClients() {
+
+    // Get all clients
+    Map allClients = new HashMap();
+    for (Iterator bsii = CacheFactory.getAnyInstance().getCacheServers().iterator(); bsii.hasNext(); ) {
+      CacheServerImpl bsi = (CacheServerImpl) bsii.next();
+      AcceptorImpl ai = bsi.getAcceptor();
+      if (ai != null && ai.getCacheClientNotifier() != null) {
+        allClients.putAll(ai.getCacheClientNotifier().getAllClients());
+      }
+    }
+
+    // Fill in the missing info, if HealthMonitor started
+    if (ClientHealthMonitor.getInstance()!=null)
+        ClientHealthMonitor.getInstance().fillInClientInfo(allClients);
+
+    return allClients;
+  }
+
+  public static Map getClientQueueSizes() {
+    Map clientQueueSizes = new HashMap();
+    GemFireCacheImpl c =  (GemFireCacheImpl)CacheFactory.getAnyInstance();
+    if (c==null) // Add a NULL Check
+      return clientQueueSizes;
+
+    for (Iterator bsii = c.getCacheServers().iterator(); bsii.hasNext(); ) {
+      CacheServerImpl bsi = (CacheServerImpl) bsii.next();
+      AcceptorImpl ai = bsi.getAcceptor();
+      if (ai != null && ai.getCacheClientNotifier() != null) {
+        clientQueueSizes.putAll(ai.getCacheClientNotifier().getClientQueueSizes());
+      }
+    } // for
+    return clientQueueSizes;
+  }
+
+  /**
+   * Returns a map of servers to count of pools connected to that server.
+   * The map entry key is a String representation of the server, 
+   * @return map of servers to count of pools using that server
+   */
+  public static Map getConnectedServers() {
+    final Map map = new HashMap(); // KEY:server (String), VALUE:List of active endpoints
+    // returns an unmodifiable set
+    Map/*<String,Pool>*/ poolMap = PoolManager.getAll();
+    Iterator pools = poolMap.values().iterator();
+    while(pools.hasNext()) {
+      PoolImpl pi = (PoolImpl)pools.next();
+      Map/*<ServerLocation,Endpoint>*/ eps = pi.getEndpointMap();
+      Iterator it = eps.entrySet().iterator();
+      while(it.hasNext()) {
+        Map.Entry entry = (Map.Entry)it.next();
+        ServerLocation loc = (ServerLocation)entry.getKey();
+        com.gemstone.gemfire.cache.client.internal.Endpoint ep = (com.gemstone.gemfire.cache.client.internal.Endpoint)entry.getValue();
+        String server = loc.getHostName()+"["+loc.getPort()+"]";
+        Integer count = (Integer)map.get(server);
+        if(count==null) {
+          map.put(server,Integer.valueOf(1));  
+        } else {
+          map.put(server,Integer.valueOf(count.intValue()+1));
+        }
+      }
+    }
+    return map;
+  }
+
+  public static Map getConnectedIncomingGateways() {
+    Map connectedIncomingGateways = null;
+    ClientHealthMonitor chMon = ClientHealthMonitor.getInstance();
+    if (chMon == null) {
+      connectedIncomingGateways = new HashMap();
+    } else {
+      connectedIncomingGateways = chMon.getConnectedIncomingGateways();
+    }
+    return connectedIncomingGateways;
+  }
+  
+  
+
+  /**
+   * Notifies registered listeners that a Client member has joined. The new
+   * member may be a client connecting to this process or a
+   * server that this process has just connected to.
+   *
+   * @param member the <code>DistributedMember</code>
+   * @param client true if the member is a client; false if server
+   */
+  public static void notifyJoined(final DistributedMember member, final boolean client) {
+    startMonitoring();
+    ThreadPoolExecutor queuedExecutor = executor;
+    if (queuedExecutor == null) {
+      return;
+    }
+
+    final ClientMembershipEvent event =
+        new InternalClientMembershipEvent(member, client);
+    if (forceSynchronous) {
+      doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_JOINED);
+    }
+    else {
+      try {
+          queuedExecutor.execute(new Runnable() {
+              public void run() {
+                doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_JOINED);
+              }
+            });
+      }
+      catch (RejectedExecutionException e) {
+        // executor must have been shutdown
+        }
+    }
+  }
+
+
+
+  /**
+   * Notifies registered listeners that a member has left. The departed
+   * member may be a client previously connected to this process or a
+   * server that this process was connected to.
+   *
+   * @param member the <code>DistributedMember</code>
+   * @param client true if the member is a client; false if server
+   */
+  public static void notifyLeft(final DistributedMember member, final boolean client) {
+    startMonitoring();
+    ThreadPoolExecutor queuedExecutor = executor;
+    if (queuedExecutor == null) {
+      return;
+    }
+
+    
+    final ClientMembershipEvent event =
+        new InternalClientMembershipEvent(member, client);
+    if (forceSynchronous) {
+      doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_LEFT);
+    }
+    else {
+      try {
+          queuedExecutor.execute(new Runnable() {
+              public void run() {
+                doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_LEFT);
+              }
+            });
+      }
+      catch (RejectedExecutionException e) {
+        // executor must have been shutdown
+        }
+    }
+  }
+
+
+  /**
+   * Notifies registered listeners that a member has crashed. The
+   * departed member may be a client previously connected to this
+   * process or a server that this process was connected to.
+   *
+   * @param member the <code>DistributedMember</code>
+   * @param client true if the member is a client; false if server
+   */
+  public static void notifyCrashed(final DistributedMember member, final boolean client) {
+    ThreadPoolExecutor queuedExecutor = executor;
+    if (queuedExecutor == null) {
+      return;
+    }
+
+    final ClientMembershipEvent event =
+        new InternalClientMembershipEvent(member, client);
+    if (forceSynchronous) {
+      doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_CRASHED);
+    }
+    else {
+
+      try {
+          queuedExecutor.execute(new Runnable() {
+            public void run() {
+              doNotifyClientMembershipListener(member, client, event,EventType.CLIENT_CRASHED);
+            }
+          });
+      }
+      catch (RejectedExecutionException e) {
+        // executor must have been shutdown
+        }
+    }
+  }
+
+  private static void doNotifyClientMembershipListener(DistributedMember member, boolean client,
+      ClientMembershipEvent clientMembershipEvent, EventType eventType) {
+
+    for (Iterator<ClientMembershipListener> iter = clientMembershipListeners.iterator(); iter.hasNext();) {
+
+      ClientMembershipListener listener = iter.next();
+      try {
+        if (eventType.equals(EventType.CLIENT_JOINED)) {
+          listener.memberJoined(clientMembershipEvent);
+        } else if (eventType.equals(EventType.CLIENT_LEFT)) {
+          listener.memberLeft(clientMembershipEvent);
+        } else {
+          listener.memberCrashed(clientMembershipEvent);
+        }
+      } catch (CancelException e) {
+        // this can be thrown by a server when the system is shutting
+        // down
+        return;
+      } catch (VirtualMachineError e) {
+        SystemFailure.initiateFailure(e);
+        throw e;
+      } catch (Throwable t) {
+        SystemFailure.checkFailure();
+        logger.warn(LocalizedMessage.create(LocalizedStrings.LocalRegion_UNEXPECTED_EXCEPTION), t);
+      }
+    }
+  }
+  
+//  /**
+//   * Returns true if there are any registered
+//   * <code>ClientMembershipListener</code>s.
+//   */
+//  private static boolean hasClientMembershipListeners() {
+//    synchronized (membershipLock) {
+//      return !membershipListeners.isEmpty();
+//    }
+//  }
+
+  protected static void addInternalDistributedSystem(InternalDistributedSystem s) {
+    synchronized(systems) {
+      s.addDisconnectListener(
+        new InternalDistributedSystem.DisconnectListener() {
+          @Override
+          public String toString() {
+            return "Disconnect listener for InternalClientMembership";
+          }
+          
+          public void onDisconnect(InternalDistributedSystem ss) {
+            removeInternalDistributedSystem(ss);
+          }
+        });
+      systems.add(s);
+      // make sure executor is alive
+      ensureExecutorIsRunning(); // optimized to do nothing if already running
+    }
+  }
+
+  protected static void removeInternalDistributedSystem(InternalDistributedSystem sys) {
+    synchronized(systems) {
+      systems.remove(sys);
+      if (systems.isEmpty()) {
+        // clean up executor
+/*
+Object[] queueElementsBefore = new Object[executorQueue.size()];
+queueElementsBefore = executorQueue.toArray(queueElementsBefore);
+System.out.println("Before shut down, the executor's queue contains the following " + queueElementsBefore.length + " elements");
+for (int i=0; i<queueElementsBefore.length; i++) {
+  System.out.println("\t" + queueElementsBefore[i]);
+}
+*/
+        if (executor != null) {
+          executor.shutdown();
+        }
+/*
+Object[] queueElementsAfter = new Object[executorQueue.size()];
+queueElementsAfter = executorQueue.toArray(queueElementsAfter);
+System.out.println("After shut down, the executor's queue contains the following " + queueElementsAfter.length + " elements");
+for (int i=0; i<queueElementsAfter.length; i++) {
+  System.out.println("\t" + queueElementsAfter[i]);
+}
+*/
+        // deadcoded this clear to fix bug 35675 - clearing removed the shutdown token from the queue!
+        // executorQueue.clear();
+        executor = null;
+      }
+    }
+  }
+
+  /**
+   * @guarded.By {@link #systems}
+   */
+  private static void ensureExecutorIsRunning() {
+    // protected by calling method synchronized on systems
+    if (executor == null) {
+      final ThreadGroup group = threadGroup;
+      ThreadFactory tf = new ThreadFactory() {
+          public Thread newThread(Runnable command) {
+            Thread thread =
+                new Thread(group, command, "ClientMembership Event Invoker");
+            thread.setDaemon(true);
+            return thread;
+          }
+        };
+      LinkedBlockingQueue q = new LinkedBlockingQueue();
+      executor = new ThreadPoolExecutor(1, 1/*max unused*/,
+                                        15, TimeUnit.SECONDS, q, tf);
+    }
+  }
+
+  /**
+   * Internal implementation of ClientMembershipEvent.
+   */
+  protected static class InternalClientMembershipEvent
+  implements ClientMembershipEvent {
+
+    private final DistributedMember member;
+    private final boolean client;
+
+    /** Constructs new instance of event */
+    protected InternalClientMembershipEvent(DistributedMember member, boolean client) {
+      this.member = member;
+      this.client = client;
+    }
+
+    public DistributedMember getMember() {
+      return this.member;
+    }
+
+    public String getMemberId() {
+      return this.member == null ? "unknown" : this.member.getId();
+    }
+
+    public boolean isClient() {
+      return this.client;
+    }
+
+    @Override // GemStoneAddition
+    public String toString() {
+      final StringBuffer sb = new StringBuffer("[ClientMembershipEvent: ");
+      sb.append("member=").append(this.member);
+      sb.append(", isClient=").append(this.client);
+      sb.append("]");
+      return sb.toString();
+    }
+  }
+  
+  /** If set to true for testing then notification will be synchronous */
+  private static boolean forceSynchronous = false;
+  /** Set to true if synchronous notification is needed for testing */
+  public static void setForceSynchronous(boolean value) {
+    forceSynchronous = value;
+  }
+  
+  private static enum EventType{
+    CLIENT_JOINED,
+    CLIENT_LEFT,
+    CLIENT_CRASHED
+  }
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImpl.java
index aac9176..74cdfa9 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImpl.java
@@ -58,7 +58,7 @@ import com.gemstone.gemfire.ToDataException;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.RegionDestroyedException;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.wan.GatewayTransportFilter;
 import com.gemstone.gemfire.distributed.internal.DM;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -91,8 +91,6 @@ import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
  * Implements the acceptor thread on the bridge server. Accepts connections from
  * the edge and starts up threads to process requests from these.
  * 
- * @see com.gemstone.gemfire.cache.util.BridgeServer
- * 
  * @author Sudhir Menon
  * @since 2.0.2
  */
@@ -328,7 +326,7 @@ public class AcceptorImpl extends Acceptor implements Runnable
     }
     {
       int tmp_maxThreads = maxThreads;
-      if (maxThreads == BridgeServer.DEFAULT_MAX_THREADS) {
+      if (maxThreads == CacheServer.DEFAULT_MAX_THREADS) {
         // consult system properties for 5.0.2 backwards compatibility
         if (DEPRECATED_SELECTOR) {
           tmp_maxThreads = DEPRECATED_SELECTOR_POOL_SIZE;
@@ -534,7 +532,7 @@ public class AcceptorImpl extends Acceptor implements Runnable
       this.localPort = port;
       String sockName = this.serverSock.getLocalSocketAddress().toString();
       logger.info(LocalizedMessage.create(
-          LocalizedStrings.AcceptorImpl_BRIDGE_SERVER_CONNECTION_LISTENER_BOUND_TO_ADDRESS_0_WITH_BACKLOG_1,
+          LocalizedStrings.AcceptorImpl_CACHE_SERVER_CONNECTION_LISTENER_BOUND_TO_ADDRESS_0_WITH_BACKLOG_1,
           new Object[] {sockName, Integer.valueOf(backLog)}));
       if(isGatewayReceiver){
         this.stats = GatewayReceiverStats.createGatewayReceiverStats(sockName);
@@ -1357,7 +1355,7 @@ public class AcceptorImpl extends Acceptor implements Runnable
         if (isRunning()) {
           if (!this.loggedAcceptError) {
             this.loggedAcceptError = true;
-            logger.error(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_BRIDGE_SERVER_UNEXPECTED_IOEXCEPTION_FROM_ACCEPT, e));
+            logger.error(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_CACHE_SERVER_UNEXPECTED_IOEXCEPTION_FROM_ACCEPT, e));
           }
           // Why sleep?
           // try {Thread.sleep(3000);} catch (InterruptedException ie) {}
@@ -1370,7 +1368,7 @@ public class AcceptorImpl extends Acceptor implements Runnable
       catch (Exception e) {
         closeSocket(s);
         if (isRunning()) {
-          logger.fatal(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_BRIDGE_SERVER_UNEXPECTED_EXCEPTION, e));
+          logger.fatal(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_CACHE_SERVER_UNEXPECTED_EXCEPTION, e));
         }
       }
     }
@@ -1410,10 +1408,10 @@ public class AcceptorImpl extends Acceptor implements Runnable
                 if (!AcceptorImpl.this.loggedAcceptError) {
                   AcceptorImpl.this.loggedAcceptError = true;
                   if (ex instanceof SocketTimeoutException) {
-                    logger.warn(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_BRIDGE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION_DUE_TO_SOCKET_TIMEOUT));
+                    logger.warn(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_CACHE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION_DUE_TO_SOCKET_TIMEOUT));
                   }
                   else {
-                    logger.warn(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_BRIDGE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION__0, ex), ex);
+                    logger.warn(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_CACHE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION__0, ex), ex);
                   }
                 }
               }
@@ -1487,7 +1485,7 @@ public class AcceptorImpl extends Acceptor implements Runnable
         SystemTimer.SystemTimerTask st = new SystemTimer.SystemTimerTask() {
           @Override
           public void run2() {
-            logger.warn(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_BRIDGE_SERVER_TIMED_OUT_WAITING_FOR_HANDSHAKE_FROM__0, s.getRemoteSocketAddress()));
+            logger.warn(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_CACHE_SERVER_TIMED_OUT_WAITING_FOR_HANDSHAKE_FROM__0, s.getRemoteSocketAddress()));
             closeSocket(s);
           }
         };
@@ -1636,7 +1634,7 @@ public class AcceptorImpl extends Acceptor implements Runnable
     try {
       synchronized (syncLock) {
         this.shutdown = true;
-        logger.info(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_BRIDGE_SERVER_ON_PORT_0_IS_SHUTTING_DOWN, this.localPort)); 
+        logger.info(LocalizedMessage.create(LocalizedStrings.AcceptorImpl_CACHE_SERVER_ON_PORT_0_IS_SHUTTING_DOWN, this.localPort)); 
         if (this.thread != null) {
           this.thread.interrupt();
         }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientNotifier.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientNotifier.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientNotifier.java
index deddfd1..b1464b9 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientNotifier.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientNotifier.java
@@ -77,10 +77,10 @@ import com.gemstone.gemfire.internal.SocketCloser;
 import com.gemstone.gemfire.internal.SocketUtils;
 import com.gemstone.gemfire.internal.SystemTimer;
 import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.BridgeRegionEventImpl;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientRegionEventImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.CacheClientStatus;
 import com.gemstone.gemfire.internal.cache.CacheDistributionAdvisor;
 import com.gemstone.gemfire.internal.cache.CachedDeserializable;
@@ -1103,7 +1103,7 @@ public class CacheClientNotifier {
           removeClientProxy(proxy);
 
           if (PoolImpl.AFTER_QUEUE_DESTROY_MESSAGE_FLAG) {
-            BridgeObserver bo = BridgeObserverHolder.getInstance();
+            ClientServerObserver bo = ClientServerObserverHolder.getInstance();
             bo.afterQueueDestroyMessage();
           }
 
@@ -1159,8 +1159,8 @@ public class CacheClientNotifier {
       RegionEventImpl regionEvent = (RegionEventImpl)event;
       callbackArgument = regionEvent.getRawCallbackArgument();
       eventIdentifier = regionEvent.getEventId();
-      if (event instanceof BridgeRegionEventImpl) {
-        BridgeRegionEventImpl bridgeEvent = (BridgeRegionEventImpl)event;
+      if (event instanceof ClientRegionEventImpl) {
+        ClientRegionEventImpl bridgeEvent = (ClientRegionEventImpl)event;
         membershipID = bridgeEvent.getContext();
       }
     }
@@ -2138,7 +2138,7 @@ public class CacheClientNotifier {
         && !HARegionQueue.HA_EVICTION_POLICY_NONE.equals(overflowAttributesList
             .get(0))) {
       haContainer = new HAContainerRegion(cache.getRegion(Region.SEPARATOR
-          + BridgeServerImpl.clientMessagesRegion((GemFireCacheImpl)cache,
+          + CacheServerImpl.clientMessagesRegion((GemFireCacheImpl)cache,
               (String)overflowAttributesList.get(0),
               ((Integer)overflowAttributesList.get(1)).intValue(),
               ((Integer)overflowAttributesList.get(2)).intValue(),

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientProxy.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientProxy.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientProxy.java
index 85c7493..9cfbbbe 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientProxy.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientProxy.java
@@ -66,8 +66,8 @@ import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.internal.SystemTimer;
 import com.gemstone.gemfire.internal.SystemTimer.SystemTimerTask;
 import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.CacheDistributionAdvisee;
 import com.gemstone.gemfire.internal.cache.CacheDistributionAdvisor.InitialImageAdvice;
 import com.gemstone.gemfire.internal.cache.Conflatable;
@@ -2796,7 +2796,7 @@ public class CacheClientProxy implements ClientSession {
             latestValue);
         
         if (AFTER_MESSAGE_CREATION_FLAG) {
-          BridgeObserver bo = BridgeObserverHolder.getInstance();
+          ClientServerObserver bo = ClientServerObserverHolder.getInstance();
           bo.afterMessageCreation(message);
         }
      }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientUpdater.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientUpdater.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientUpdater.java
index 64731d1..07dc030 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientUpdater.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheClientUpdater.java
@@ -65,8 +65,8 @@ import com.gemstone.gemfire.internal.SocketCreator;
 import com.gemstone.gemfire.internal.SocketUtils;
 import com.gemstone.gemfire.internal.StatisticsTypeFactoryImpl;
 import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.EntryEventImpl;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
@@ -1273,7 +1273,7 @@ public class CacheClientUpdater extends Thread implements ClientUpdater,
       
       // // CALLBACK TESTING PURPOSE ONLY ////
       if (PoolImpl.IS_INSTANTIATOR_CALLBACK) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.afterReceivingFromServer(eventId);
       }
       // /////////////////////////////////////
@@ -1323,7 +1323,7 @@ public class CacheClientUpdater extends Thread implements ClientUpdater,
       
       // // CALLBACK TESTING PURPOSE ONLY ////
       if (PoolImpl.IS_INSTANTIATOR_CALLBACK) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.afterReceivingFromServer(eventId);
       }
      ///////////////////////////////////////
@@ -1794,7 +1794,7 @@ public class CacheClientUpdater extends Thread implements ClientUpdater,
             if (errMessage == null) {
               errMessage = "";
             }
-            BridgeObserver bo = BridgeObserverHolder.getInstance();
+            ClientServerObserver bo = ClientServerObserverHolder.getInstance();
             bo.beforeFailoverByCacheClientUpdater(this.location);
             eManager.serverCrashed(this.endpoint);
             if (isDebugEnabled) {
@@ -1811,7 +1811,7 @@ public class CacheClientUpdater extends Thread implements ClientUpdater,
         catch (Exception e) {
           if (!quitting()) {
             this.endPointDied = true;
-            BridgeObserver bo = BridgeObserverHolder.getInstance();
+            ClientServerObserver bo = ClientServerObserverHolder.getInstance();
             bo.beforeFailoverByCacheClientUpdater(this.location);
             eManager.serverCrashed(this.endpoint);
             String message = ": Caught the following exception and will exit: ";

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientBlacklistProcessor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientBlacklistProcessor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientBlacklistProcessor.java
index 01bcfac..73c3731 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientBlacklistProcessor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ClientBlacklistProcessor.java
@@ -17,7 +17,7 @@ import com.gemstone.gemfire.distributed.internal.PooledDistributionMessage;
 import com.gemstone.gemfire.distributed.internal.ReplyException;
 import com.gemstone.gemfire.distributed.internal.ReplyMessage;
 import com.gemstone.gemfire.distributed.internal.ReplyProcessor21;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 
 import java.io.DataInput;
@@ -96,7 +96,7 @@ public class ClientBlacklistProcessor extends ReplyProcessor21 {
           if (l != null) {
             Iterator i = l.iterator();
             while (i.hasNext()) {
-              BridgeServerImpl bs = (BridgeServerImpl)i.next();
+              CacheServerImpl bs = (CacheServerImpl)i.next();
               CacheClientNotifier ccn = bs.getAcceptor().getCacheClientNotifier(); 
               //add client to the black list.
               ccn.addToBlacklistedClient(this.proxyId);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/RemoveClientFromBlacklistMessage.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/RemoveClientFromBlacklistMessage.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/RemoveClientFromBlacklistMessage.java
index 3e57a1b..6f0e033 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/RemoveClientFromBlacklistMessage.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/RemoveClientFromBlacklistMessage.java
@@ -21,7 +21,7 @@ import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionManager;
 import com.gemstone.gemfire.distributed.internal.PooledDistributionMessage;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.logging.LogService;
 /**
@@ -60,7 +60,7 @@ public class RemoveClientFromBlacklistMessage extends PooledDistributionMessage
       if (l != null) {
         Iterator i = l.iterator();
         while (i.hasNext()) {
-          BridgeServerImpl bs = (BridgeServerImpl)i.next();
+          CacheServerImpl bs = (CacheServerImpl)i.next();
           CacheClientNotifier ccn = bs.getAcceptor().getCacheClientNotifier();
           Set s = ccn.getBlacklistedClient();
           if (s != null) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ServerConnection.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ServerConnection.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ServerConnection.java
index b307b95..9fe595b 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ServerConnection.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/ServerConnection.java
@@ -47,7 +47,7 @@ import com.gemstone.gemfire.internal.cache.tier.Acceptor;
 import com.gemstone.gemfire.internal.cache.tier.CachedRegionHelper;
 import com.gemstone.gemfire.internal.cache.tier.ClientHandShake;
 import com.gemstone.gemfire.internal.cache.tier.Command;
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 import com.gemstone.gemfire.internal.cache.tier.MessageType;
 import com.gemstone.gemfire.internal.cache.tier.sockets.command.Default;
 import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
@@ -571,7 +571,7 @@ public class ServerConnection implements Runnable {
       this.crHelper.checkCancelInProgress(null);
       if (clientJoined && isFiringMembershipEvents()) {
         // This is a new client. Notify bridge membership and heartbeat monitor.
-        InternalBridgeMembership.notifyJoined(this.proxyId.getDistributedMember(),
+        InternalClientMembership.notifyJoined(this.proxyId.getDistributedMember(),
             true);
         }
 
@@ -871,9 +871,9 @@ public class ServerConnection implements Runnable {
         // the heartbeat monitor; other wise just remove the connection.
         if (clientDeparted && isFiringMembershipEvents()) {
           if (this.clientDisconnectedCleanly && !forceClientCrashEvent) {
-            InternalBridgeMembership.notifyLeft(proxyId.getDistributedMember(), true);
+            InternalClientMembership.notifyLeft(proxyId.getDistributedMember(), true);
           } else {
-            InternalBridgeMembership.notifyCrashed(this.proxyId.getDistributedMember(), true);
+            InternalClientMembership.notifyCrashed(this.proxyId.getDistributedMember(), true);
           }
           // The client has departed. Remove this last connection and unregister it.
         }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/doc-files/communication-architecture.fig
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/doc-files/communication-architecture.fig b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/doc-files/communication-architecture.fig
index 0d169e9..b334ebb 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/doc-files/communication-architecture.fig
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/tier/sockets/doc-files/communication-architecture.fig
@@ -119,10 +119,10 @@ Single
 4 0 0 50 -1 0 12 0.0000 4 180 1245 600 3900 ConnectionProxy\001
 -6
 6 600 2775 1725 3075
-# HREF="../../../../cache/util/BridgeLoader.html" ALT="BridgeLoader"
+# HREF="../../../../cache/client/Pool.html" ALT="ClientPool"
 2 2 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 5
 	 600 2775 1725 2775 1725 3075 600 3075 600 2775
-4 0 0 50 -1 -1 12 0.0000 4 180 975 675 3000 BridgeLoader\001
+4 0 0 50 -1 -1 12 0.0000 4 180 975 675 3000 ClientPool\001
 -6
 2 1 2 1 0 7 50 -1 -1 3.000 0 0 -1 0 0 2
 	 6450 375 6450 6750


[07/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java
new file mode 100644
index 0000000..5dd3cfb
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipDUnitTest.java
@@ -0,0 +1,1642 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+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 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;
+import com.gemstone.gemfire.cache.CacheException;
+import com.gemstone.gemfire.cache.Region;
+import com.gemstone.gemfire.cache.Scope;
+import com.gemstone.gemfire.cache.client.ClientCache;
+import com.gemstone.gemfire.cache.client.Pool;
+import com.gemstone.gemfire.cache.client.PoolManager;
+import com.gemstone.gemfire.distributed.DistributedMember;
+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.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 dunit.DistributedTestCase;
+import dunit.Host;
+import dunit.SerializableRunnable;
+import dunit.VM;
+import dunit.DistributedTestCase.WaitCriterion;
+
+/**
+ * Tests the ClientMembership API including ClientMembershipListener.
+ *
+ * @author Kirk Lund
+ * @since 4.2.1
+ */
+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;
+    
+  public ClientMembershipDUnitTest(String name) {
+    super(name);
+  }
+
+  public void setUp() throws Exception {
+    super.setUp();
+    getSystem();
+  }
+  
+  public void tearDown2() throws Exception {
+    super.tearDown2();
+    InternalClientMembership.unregisterAllListeners();
+  }
+
+  private void waitForAcceptsInProgressToBe(final int target)
+    throws Exception {
+    WaitCriterion ev = new WaitCriterion() {
+      String excuse;
+      public boolean done() {
+        int actual = getAcceptsInProgress();
+        if (actual == getAcceptsInProgress()) {
+          return true;
+        }
+        excuse = "accepts in progress (" + actual + ") never became " + target;
+        return false;
+      }
+      public String description() {
+        return excuse;
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 60 * 1000, 200, true);
+  }
+  
+  protected int getAcceptsInProgress() {
+    StatisticsType st = InternalDistributedSystem.getAnyInstance().findType("CacheServerStats");
+    Statistics[] s = InternalDistributedSystem.getAnyInstance().findStatisticsByType(st);
+    return s[0].getInt("acceptsInProgress");
+  }
+
+  protected static Socket meanSocket;
+
+  /** test that a server times out waiting for a handshake that
+      never arrives. 
+   */
+  public void testConnectionTimeout() throws Exception {
+    addExpectedException("failed accepting client connection");
+    final Host host = Host.getHost(0);
+    final String hostName = getServerHostName(host);
+    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
+          getLogWriter().info("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);
+          }
+        }
+      };
+      SerializableRunnable closeMeanSocket = new CacheSerializableRunnable("close mean socket") {
+        public void run2() throws CacheException {
+          getLogWriter().info("closing mean socket");
+          try {
+            meanSocket.close();
+          }
+          catch (IOException ignore) {
+          }
+        }
+      };
+
+      assertEquals(0, getAcceptsInProgress());
+      
+      getLogWriter().info("creating mean socket");
+      vm0.invoke(createMeanSocket);
+      try {
+        getLogWriter().info("waiting to see it connect on server");
+        waitForAcceptsInProgressToBe(1);
+      } finally {
+        getLogWriter().info("closing mean socket");
+        vm0.invoke(closeMeanSocket);
+      }
+      getLogWriter().info("waiting to see accept to go away on server");
+      waitForAcceptsInProgressToBe(0);
+
+      // now try it without a close. Server should timeout the mean connect
+      getLogWriter().info("creating mean socket 2");
+      vm0.invoke(createMeanSocket);
+      try {
+        getLogWriter().info("waiting to see it connect on server 2");
+        waitForAcceptsInProgressToBe(1);
+        getLogWriter().info("waiting to see accept to go away on server without us closing");
+        waitForAcceptsInProgressToBe(0);
+      } finally {
+        getLogWriter().info("closing mean socket 2");
+        vm0.invoke(closeMeanSocket);
+      }
+
+//       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 {
+      System.getProperties().remove(AcceptorImpl.ACCEPT_TIMEOUT_PROPERTY_NAME);
+    }
+  }
+
+  public void testSynchronousEvents() throws Exception {
+    InternalClientMembership.setForceSynchronous(true);
+    try {
+      doTestBasicEvents();
+    }
+    finally {
+      InternalClientMembership.setForceSynchronous(false);
+    }
+  }
+  
+  /**
+   * Tests event notification methods on ClientMembership.
+   */
+  public void testBasicEvents() throws Exception {
+    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;
+        member[JOINED] = event.getMember();
+        memberId[JOINED] = event.getMemberId();
+        isClient[JOINED] = event.isClient();
+        notify();
+      }
+      public synchronized void memberLeft(ClientMembershipEvent event) {
+        fired[LEFT] = true;
+        member[LEFT] = event.getMember();
+        memberId[LEFT] = event.getMemberId();
+        isClient[LEFT] = event.isClient();
+        notify();
+      }
+      public synchronized void memberCrashed(ClientMembershipEvent event) {
+        fired[CRASHED] = true;
+        member[CRASHED] = event.getMember();
+        memberId[CRASHED] = event.getMemberId();
+        isClient[CRASHED] = event.isClient();
+        notify();
+      }
+    };
+    ClientMembership.registerClientMembershipListener(listener);
+    
+    // test JOIN for server
+    DistributedMember serverJoined = new TestDistributedMember("serverJoined");
+    InternalClientMembership.notifyJoined(serverJoined, SERVER);
+    synchronized(listener) {
+      if (!fired[JOINED]) {
+        listener.wait(2000);
+      }
+    }
+    assertTrue(fired[JOINED]);
+    assertEquals(serverJoined, member[JOINED]);
+    assertEquals(serverJoined.getId(), memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    // test JOIN for client
+    DistributedMember clientJoined = new TestDistributedMember("clientJoined");
+    InternalClientMembership.notifyJoined(clientJoined, CLIENT);
+    synchronized(listener) {
+      if (!fired[JOINED]) {
+        listener.wait(2000);
+      }
+    }
+    assertTrue(fired[JOINED]);
+    assertEquals(clientJoined, member[JOINED]);
+    assertEquals(clientJoined.getId(), memberId[JOINED]);
+    assertTrue(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    // test LEFT for server
+    DistributedMember serverLeft = new TestDistributedMember("serverLeft");
+    InternalClientMembership.notifyLeft(serverLeft, SERVER);
+    synchronized(listener) {
+      if (!fired[LEFT]) {
+        listener.wait(2000);
+      }
+    }
+    assertFalse(fired[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertTrue(fired[LEFT]);
+    assertEquals(serverLeft, member[LEFT]);
+    assertEquals(serverLeft.getId(), memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    // test LEFT for client
+    DistributedMember clientLeft = new TestDistributedMember("clientLeft");
+    InternalClientMembership.notifyLeft(clientLeft, CLIENT);
+    synchronized(listener) {
+      if (!fired[LEFT]) {
+        listener.wait(2000);
+      }
+    }
+    assertFalse(fired[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertTrue(fired[LEFT]);
+    assertEquals(clientLeft, member[LEFT]);
+    assertEquals(clientLeft.getId(), memberId[LEFT]);
+    assertTrue(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    // test CRASHED for server
+    DistributedMember serverCrashed = new TestDistributedMember("serverCrashed");
+    InternalClientMembership.notifyCrashed(serverCrashed, SERVER);
+    synchronized(listener) {
+      if (!fired[CRASHED]) {
+        listener.wait(2000);
+      }
+    }
+    assertFalse(fired[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertTrue(fired[CRASHED]);
+    assertEquals(serverCrashed, member[CRASHED]);
+    assertEquals(serverCrashed.getId(), memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    // test CRASHED for client
+    DistributedMember clientCrashed = new TestDistributedMember("clientCrashed");
+    InternalClientMembership.notifyCrashed(clientCrashed, CLIENT);
+    synchronized(listener) {
+      if (!fired[CRASHED]) {
+        listener.wait(2000);
+      }
+    }
+    assertFalse(fired[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertTrue(fired[CRASHED]);
+    assertEquals(clientCrashed, member[CRASHED]);
+    assertEquals(clientCrashed.getId(), memberId[CRASHED]);
+    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) {
+    for (int i = 0; i < fired.length; i++) {
+      fired[i] = false;
+      member[i] = null;
+      memberId[i] = null;
+      isClient[i] = false;
+    }
+  }
+  
+  /**
+   * Tests unregisterClientMembershipListener to ensure that no further events
+   * are delivered to unregistered listeners.
+   */
+  public void testUnregisterClientMembershipListener() throws Exception {
+    final boolean[] fired = new boolean[1];
+    final DistributedMember[] member = new DistributedMember[1];
+    final String[] memberId = new String[1];
+    final boolean[] isClient = new boolean[1];
+    
+    ClientMembershipListener listener = new ClientMembershipListener() {
+      public synchronized void memberJoined(ClientMembershipEvent event) {
+        fired[0] = true;
+        member[0] = event.getMember();
+        memberId[0] = event.getMemberId();
+        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) {
+      if (!fired[0]) {
+        listener.wait(2000);
+      }
+    }
+    assertTrue(fired[0]);
+    assertEquals(clientJoined, member[0]);
+    assertEquals(clientJoined.getId(), memberId[0]);
+    assertTrue(isClient[0]);
+
+    resetArraysForTesting(fired, member, memberId, isClient);
+    assertFalse(fired[0]);
+    assertNull(memberId[0]);
+    assertFalse(isClient[0]);
+
+    // unregister and verify listener is not notified
+    ClientMembership.unregisterClientMembershipListener(listener);
+    InternalClientMembership.notifyJoined(clientJoined, true);
+    synchronized(listener) {
+      listener.wait(20);
+    }
+    assertFalse(fired[0]);
+    assertNull(member[0]);
+    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];
+    
+    final ClientMembershipListener[] listeners = new ClientMembershipListener[NUM_LISTENERS];
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      final int whichListener = i;
+      listeners[i] = new ClientMembershipListener() {
+        public synchronized void memberJoined(ClientMembershipEvent event) {
+          assertFalse(fired[whichListener]);
+          assertNull(member[whichListener]);
+          assertNull(memberId[whichListener]);
+          assertFalse(isClient[whichListener]);
+          fired[whichListener] = true;
+          member[whichListener] = event.getMember();
+          memberId[whichListener] = event.getMemberId();
+          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]) {
+        listeners[i].wait(20);
+      }
+      assertFalse(fired[i]);
+      assertNull(member[i]);
+      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();
+    assertEquals(1, registeredListeners.length);
+    assertEquals(listeners[0], registeredListeners[0]);
+    
+    ClientMembership.registerClientMembershipListener(listeners[1]);
+    registeredListeners = ClientMembership.getClientMembershipListeners();
+    assertEquals(2, registeredListeners.length);
+    assertEquals(listeners[0], registeredListeners[0]);
+    assertEquals(listeners[1], registeredListeners[1]);
+
+    InternalClientMembership.notifyJoined(clientJoined, true);
+    synchronized(listeners[1]) {
+      if (!fired[1]) {
+        listeners[1].wait(2000);
+      }
+    }
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      if (i < 2) {
+        assertTrue(fired[i]);
+        assertEquals(clientJoined, member[i]);
+        assertEquals(clientJoined.getId(), memberId[i]);
+        assertTrue(isClient[i]);
+      } else {
+        assertFalse(fired[i]);
+        assertNull(member[i]);
+        assertNull(memberId[i]);
+        assertFalse(isClient[i]);
+      }
+    }
+    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]) {
+      if (!fired[1]) {
+        listeners[1].wait(2000);
+      }
+    }
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      if (i == 1) {
+        assertTrue(fired[i]);
+        assertEquals(clientJoined, member[i]);
+        assertEquals(clientJoined.getId(), memberId[i]);
+        assertTrue(isClient[i]);
+      } else {
+        assertFalse(fired[i]);
+        assertNull(member[i]);
+        assertNull(memberId[i]);
+        assertFalse(isClient[i]);
+      }
+    }
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    ClientMembership.registerClientMembershipListener(listeners[2]);
+    ClientMembership.registerClientMembershipListener(listeners[3]);
+    registeredListeners = ClientMembership.getClientMembershipListeners();
+    assertEquals(3, registeredListeners.length);
+    assertEquals(listeners[1], registeredListeners[0]);
+    assertEquals(listeners[2], registeredListeners[1]);
+    assertEquals(listeners[3], registeredListeners[2]);
+
+    InternalClientMembership.notifyJoined(clientJoined, true);
+    synchronized(listeners[3]) {
+      if (!fired[3]) {
+        listeners[3].wait(2000);
+      }
+    }
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      if (i != 0) {
+        assertTrue(fired[i]);
+        assertEquals(clientJoined, member[i]);
+        assertEquals(clientJoined.getId(), memberId[i]);
+        assertTrue(isClient[i]);
+      } else {
+        assertFalse(fired[i]);
+        assertNull(member[i]);
+        assertNull(memberId[i]);
+        assertFalse(isClient[i]);
+      }
+    }
+    resetArraysForTesting(fired, member, memberId, isClient);
+    
+    ClientMembership.registerClientMembershipListener(listeners[0]);
+    registeredListeners = ClientMembership.getClientMembershipListeners();
+    assertEquals(4, registeredListeners.length);
+    assertEquals(listeners[1], registeredListeners[0]);
+    assertEquals(listeners[2], registeredListeners[1]);
+    assertEquals(listeners[3], registeredListeners[2]);
+    assertEquals(listeners[0], registeredListeners[3]);
+
+    InternalClientMembership.notifyJoined(clientJoined, true);
+    synchronized(listeners[0]) {
+      if (!fired[0]) {
+        listeners[0].wait(2000);
+      }
+    }
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      assertTrue(fired[i]);
+      assertEquals(clientJoined, member[i]);
+      assertEquals(clientJoined.getId(), memberId[i]);
+      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]) {
+      if (!fired[0]) {
+        listeners[0].wait(2000);
+      }
+    }
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      if (i < 3) {
+        assertTrue(fired[i]);
+        assertEquals(clientJoined, member[i]);
+        assertEquals(clientJoined.getId(), memberId[i]);
+        assertTrue(isClient[i]);
+      } else {
+        assertFalse(fired[i]);
+        assertNull(member[i]);
+        assertNull(memberId[i]);
+        assertFalse(isClient[i]);
+      }
+    }
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    ClientMembership.unregisterClientMembershipListener(listeners[2]);
+    registeredListeners = ClientMembership.getClientMembershipListeners();
+    assertEquals(2, registeredListeners.length);
+    assertEquals(listeners[1], registeredListeners[0]);
+    assertEquals(listeners[0], registeredListeners[1]);
+    
+    InternalClientMembership.notifyJoined(clientJoined, true);
+    synchronized(listeners[0]) {
+      if (!fired[0]) {
+        listeners[0].wait(2000);
+      }
+    }
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      if (i < 2) {
+        assertTrue(fired[i]);
+        assertEquals(clientJoined, member[i]);
+        assertEquals(clientJoined.getId(), memberId[i]);
+        assertTrue(isClient[i]);
+      } else {
+        assertFalse(fired[i]);
+        assertNull(member[i]);
+        assertNull(memberId[i]);
+        assertFalse(isClient[i]);
+      }
+    }
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    ClientMembership.unregisterClientMembershipListener(listeners[1]);
+    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]) {
+        listeners[i].wait(20);
+      }
+      assertFalse(fired[i]);
+      assertNull(member[i]);
+      assertNull(memberId[i]);
+      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]) {
+      if (!fired[1]) {
+        listeners[1].wait(2000);
+      }
+    }
+    for (int i = 0; i < NUM_LISTENERS; i++) {
+      if (i == 1) {
+        assertTrue(fired[i]);
+        assertEquals(clientJoined, member[i]);
+        assertEquals(clientJoined.getId(), memberId[i]);
+        assertTrue(isClient[i]);
+      } else {
+        assertFalse(fired[i]);
+        assertNull(member[i]);
+        assertNull(memberId[i]);
+        assertFalse(isClient[i]);
+      }
+    }
+  }
+ 
+  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
+   * crashes or departs gracefully, the client will detect this as a crash.
+   */
+  public void testClientMembershipEventsInClient() throws Exception {
+    addExpectedException("IOException");
+    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) {
+        getLogWriter().info("[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) {
+        getLogWriter().info("[testClientMembershipEventsInClient] memberLeft: " + event);
+//        fail("Please update testClientMembershipEventsInClient to handle memberLeft for BridgeServer.");
+      }
+      public synchronized void memberCrashed(ClientMembershipEvent event) {
+        getLogWriter().info("[testClientMembershipEventsInClient] memberCrashed: " + event);
+        fired[CRASHED] = true;
+        member[CRASHED] = event.getMember();
+        memberId[CRASHED] = event.getMemberId();
+        isClient[CRASHED] = event.isClient();
+        notifyAll();
+      }
+    };
+    ClientMembership.registerClientMembershipListener(listener);
+
+    final VM vm0 = Host.getHost(0).getVM(0);
+    final String name = this.getUniqueName();
+    final int[] ports = new int[1];
+
+    // create BridgeServer in vm0...
+    vm0.invoke(new CacheSerializableRunnable("Create BridgeServer") {
+      public void run2() throws CacheException {
+        try {
+          getLogWriter().info("[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());
+        }
+      }
+    });
+    
+    // gather details for later creation of ConnectionPool...
+    ports[0] = vm0.invokeInt(ClientMembershipDUnitTest.class, 
+                             "getTestClientMembershipEventsInClient_port");
+    assertTrue(ports[0] != 0);
+
+    DistributedMember serverMember = (DistributedMember) vm0.invoke(ClientMembershipDUnitTest.class,
+    "getDistributedMember");
+
+    String serverMemberId = (String) vm0.invoke(ClientMembershipDUnitTest.class,
+                                                "getMemberId");
+
+    getLogWriter().info("[testClientMembershipEventsInClient] ports[0]=" + ports[0]);
+    getLogWriter().info("[testClientMembershipEventsInClient] serverMember=" + serverMember);
+    getLogWriter().info("[testClientMembershipEventsInClient] serverMemberId=" + serverMemberId);
+
+    assertFalse(fired[JOINED]);
+    assertNull(member[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    
+    // sanity check...
+    getLogWriter().info("[testClientMembershipEventsInClient] sanity check");
+    DistributedMember test = new TestDistributedMember("test");
+    InternalClientMembership.notifyJoined(test, SERVER);
+    synchronized(listener) {
+      if (!fired[JOINED] && !fired[CRASHED]) {
+        listener.wait(2000);
+      }
+    }
+    
+    assertTrue(fired[JOINED]);
+    assertEquals(test, member[JOINED]);
+    assertEquals(test.getId(), memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+    
+    // create bridge client in controller vm...
+    getLogWriter().info("[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();
+      factory.setScope(Scope.LOCAL);
+      ClientServerTestCase.configureConnectionPool(factory, getServerHostName(Host.getHost(0)), ports, true, -1, -1, null);
+      createRegion(name, factory.create());
+      assertNotNull(getRootRegion().getSubregion(name));
+    }
+    catch (CacheException ex) {
+      fail("While creating Region on Edge", ex);
+    }
+    synchronized(listener) {
+      if (!fired[JOINED] && !fired[CRASHED]) {
+        listener.wait(60 * 1000);
+      }
+    }
+    
+    getLogWriter().info("[testClientMembershipEventsInClient] assert client detected server join");
+    
+    // first check the getCurrentServers() result
+    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]);
+    assertNotNull(memberId[JOINED]);
+    assertEquals(serverMember, member[JOINED]);
+    assertEquals(serverMemberId, memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    vm0.invoke(new SerializableRunnable("Stop BridgeServer") {
+      public void run() {
+        getLogWriter().info("[testClientMembershipEventsInClient] Stop BridgeServer");
+        stopBridgeServers(getCache());
+      }
+    });
+    synchronized(listener) {
+      if (!fired[JOINED] && !fired[CRASHED]) {
+        listener.wait(60 * 1000);
+      }
+    }
+    
+    getLogWriter().info("[testClientMembershipEventsInClient] assert client detected server departure");
+    assertFalse(fired[JOINED]);
+    assertNull(member[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertTrue(fired[CRASHED]);
+    assertNotNull(member[CRASHED]);
+    assertNotNull(memberId[CRASHED]);
+    assertEquals(serverMember, member[CRASHED]);
+    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 {
+          getLogWriter().info("[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);
+      }
+    }
+    
+    getLogWriter().info("[testClientMembershipEventsInClient] assert client detected server recovery");
+    assertTrue(fired[JOINED]);
+    assertNotNull(member[JOINED]);
+    assertNotNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertEquals(serverMember, member[JOINED]);
+    assertEquals(serverMemberId, memberId[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    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.
+   */
+  public void testClientMembershipEventsInServer() 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) {
+        getLogWriter().info("[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) {
+        getLogWriter().info("[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) {
+        getLogWriter().info("[testClientMembershipEventsInServer] memberCrashed: " + event);
+        fired[CRASHED] = true;
+        member[CRASHED] = event.getMember();
+        memberId[CRASHED] = event.getMemberId();
+        isClient[CRASHED] = event.isClient();
+        notifyAll();
+        assertFalse(fired[JOINED] || fired[LEFT]);
+      }
+    };
+    ClientMembership.registerClientMembershipListener(listener);
+
+    final VM vm0 = Host.getHost(0).getVM(0);
+    final String name = this.getUniqueName();
+    final int[] ports = new int[1];
+
+    // create BridgeServer in controller vm...
+    getLogWriter().info("[testClientMembershipEventsInServer] Create BridgeServer");
+    getSystem();
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+    Region region = createRegion(name, factory.create());
+    assertNotNull(region);
+    assertNotNull(getRootRegion().getSubregion(name));
+    
+    ports[0] = startBridgeServer(0);
+    assertTrue(ports[0] != 0);
+    String serverMemberId = getMemberId();
+    DistributedMember serverMember = getDistributedMember();
+
+    getLogWriter().info("[testClientMembershipEventsInServer] ports[0]=" + ports[0]);
+    getLogWriter().info("[testClientMembershipEventsInServer] serverMemberId=" + serverMemberId);
+    getLogWriter().info("[testClientMembershipEventsInServer] serverMember=" + serverMember);
+
+    assertFalse(fired[JOINED]);
+    assertNull(member[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    
+    // sanity check...
+    getLogWriter().info("[testClientMembershipEventsInServer] sanity check");
+    DistributedMember test = new TestDistributedMember("test");
+    InternalClientMembership.notifyJoined(test, CLIENT);
+    synchronized(listener) {
+      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
+        listener.wait(2000);
+      }
+    }
+    assertTrue(fired[JOINED]);
+    assertEquals(test, member[JOINED]);
+    assertEquals(test.getId(), memberId[JOINED]);
+    assertTrue(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+    
+    final Host host = Host.getHost(0);
+    SerializableRunnable createConnectionPool =
+    new CacheSerializableRunnable("Create connectionPool") {
+      public void run2() throws CacheException {
+        getLogWriter().info("[testClientMembershipEventsInServer] create bridge client");
+        Properties config = new Properties();
+        config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+        config.setProperty(DistributionConfig.LOCATORS_NAME, "");
+        getSystem(config);
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.LOCAL);
+        ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, true, -1, 2, null);
+        createRegion(name, factory.create());
+        assertNotNull(getRootRegion().getSubregion(name));
+      }
+    };
+
+    // create bridge client in vm0...
+    vm0.invoke(createConnectionPool);
+    String clientMemberId = (String) vm0.invoke(ClientMembershipDUnitTest.class,
+                                                "getMemberId");
+    DistributedMember clientMember = (DistributedMember) vm0.invoke(ClientMembershipDUnitTest.class,
+                                                "getDistributedMember");
+                                                
+    synchronized(listener) {
+      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
+        listener.wait(60000);
+      }
+    }
+    
+    getLogWriter().info("[testClientMembershipEventsInServer] assert server detected client join");
+    assertTrue(fired[JOINED]);
+    assertEquals(member[JOINED] + " should equal " + clientMember,
+      clientMember, member[JOINED]);
+    assertEquals(memberId[JOINED] + " should equal " + clientMemberId,
+      clientMemberId, memberId[JOINED]);
+    assertTrue(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    pauseForClientToJoin();
+    
+    vm0.invoke(new SerializableRunnable("Stop bridge client") {
+      public void run() {
+        getLogWriter().info("[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();
+          p.destroy();
+        }
+      }
+    });
+
+    synchronized(listener) {
+      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
+        listener.wait(60000);
+      }
+    }
+    
+    getLogWriter().info("[testClientMembershipEventsInServer] assert server detected client left");
+    assertFalse(fired[JOINED]);
+    assertNull(member[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    assertTrue(fired[LEFT]);
+    assertEquals(clientMember, member[LEFT]);
+    assertEquals(clientMemberId, memberId[LEFT]);
+    assertTrue(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+
+    // reconnect bridge client to test for crashed event
+    vm0.invoke(createConnectionPool);
+    clientMemberId = (String) vm0.invoke(ClientMembershipDUnitTest.class,
+                                         "getMemberId");
+                                                
+    synchronized(listener) {
+      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
+        listener.wait(60000);
+      }
+    }
+    
+    getLogWriter().info("[testClientMembershipEventsInServer] assert server detected client re-join");
+    assertTrue(fired[JOINED]);
+    assertEquals(clientMember, member[JOINED]);
+    assertEquals(clientMemberId, memberId[JOINED]);
+    assertTrue(isClient[JOINED]);
+    assertFalse(fired[LEFT]);
+    assertNull(member[LEFT]);
+    assertNull(memberId[LEFT]);
+    assertFalse(isClient[LEFT]);
+    assertFalse(fired[CRASHED]);
+    assertNull(member[CRASHED]);
+    assertNull(memberId[CRASHED]);
+    assertFalse(isClient[CRASHED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+    
+    pauseForClientToJoin();
+
+    ServerConnection.setForceClientCrashEvent(true);
+    try {
+      vm0.invoke(new SerializableRunnable("Stop bridge client") {
+        public void run() {
+          getLogWriter().info("[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();
+            p.destroy();
+          }
+        }
+      });
+  
+      synchronized(listener) {
+        if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
+          listener.wait(60000);
+        }
+      }
+      
+      getLogWriter().info("[testClientMembershipEventsInServer] assert server detected client crashed");
+      assertFalse(fired[JOINED]);
+      assertNull(member[JOINED]);
+      assertNull(memberId[JOINED]);
+      assertFalse(isClient[JOINED]);
+      assertFalse(fired[LEFT]);
+      assertNull(member[LEFT]);
+      assertNull(memberId[LEFT]);
+      assertFalse(isClient[LEFT]);
+      assertTrue(fired[CRASHED]);
+      assertEquals(clientMember, member[CRASHED]);
+      assertEquals(clientMemberId, memberId[CRASHED]);
+      assertTrue(isClient[CRASHED]);
+    }
+    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
+   * complete handshaking before making the client leave. Without doing this
+   * subsequent socket handshakes that are processed could fire join events
+   * after departure events and then a departure event again. If you see
+   * failures in testClientMembershipEventsInServer, try increasing this
+   * timeout.
+   */
+  private void pauseForClientToJoin() {
+    pause(2000);
+  }
+  
+  /** 
+   * 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) {
+        assertFalse(fired[JOINED]);
+        assertNull(member[JOINED]);
+        assertNull(memberId[JOINED]);
+        assertFalse(isClient[JOINED]);
+        fired[JOINED] = true;
+        member[JOINED] = event.getMember();
+        memberId[JOINED] = event.getMemberId();
+        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, "");
+    getSystem(config);
+    
+    // assert that event is fired while connected
+    DistributedMember serverJoined = new TestDistributedMember("serverJoined");
+    InternalClientMembership.notifyJoined(serverJoined, SERVER);
+    synchronized(listener) {
+      if (!fired[JOINED]) {
+        listener.wait(2000);
+      }
+    }
+    assertTrue(fired[JOINED]);
+    assertEquals(serverJoined, member[JOINED]);
+    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) {
+      listener.wait(20);
+    }
+    assertFalse(fired[JOINED]);
+    assertNull(member[JOINED]);
+    assertNull(memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+    resetArraysForTesting(fired, member, memberId, isClient);
+    
+    // assert that event is fired again after reconnecting
+    InternalDistributedSystem sys = getSystem(config);
+    assertTrue(sys.isConnected());
+
+    InternalClientMembership.notifyJoined(serverJoined, SERVER);
+    synchronized(listener) {
+      if (!fired[JOINED]) {
+        listener.wait(2000);
+      }
+    }
+    assertTrue(fired[JOINED]);
+    assertEquals(serverJoined, member[JOINED]);
+    assertEquals(serverJoined.getId(), memberId[JOINED]);
+    assertFalse(isClient[JOINED]);
+  }
+  
+  /**
+   * Starts up server in controller vm and 4 clients, then calls and tests
+   * ClientMembership.getConnectedClients(). 
+   */
+  public void testGetConnectedClients() throws Exception {
+    final String name = this.getUniqueName();
+    final int[] ports = new int[1];
+
+    // create BridgeServer in controller vm...
+    getLogWriter().info("[testGetConnectedClients] Create BridgeServer");
+    getSystem();
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+    Region region = createRegion(name, factory.create());
+    assertNotNull(region);
+    assertNotNull(getRootRegion().getSubregion(name));
+    
+    ports[0] = startBridgeServer(0);
+    assertTrue(ports[0] != 0);
+    String serverMemberId = getMemberId();
+
+    getLogWriter().info("[testGetConnectedClients] ports[0]=" + ports[0]);
+    getLogWriter().info("[testGetConnectedClients] serverMemberId=" + serverMemberId);
+
+    final Host host = Host.getHost(0);
+    SerializableRunnable createPool =
+    new CacheSerializableRunnable("Create connection pool") {
+      public void run2() throws CacheException {
+        getLogWriter().info("[testGetConnectedClients] create bridge client");
+        Properties config = new Properties();
+        config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+        config.setProperty(DistributionConfig.LOCATORS_NAME, "");
+        getSystem(config);
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.LOCAL);
+        ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, true, -1, -1, null);
+        createRegion(name, factory.create());
+        assertNotNull(getRootRegion().getSubregion(name));
+      }
+    };
+
+    // create bridge client in vm0...
+    final String[] clientMemberIdArray = new String[host.getVMCount()];
+    
+    for (int i = 0; i < host.getVMCount(); i++) { 
+      final VM vm = Host.getHost(0).getVM(i);
+      vm.invoke(createPool);
+      clientMemberIdArray[i] =  String.valueOf(vm.invoke(
+        ClientMembershipDUnitTest.class, "getMemberId"));
+    }
+    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) {
+            return false;
+          }
+          if (connectedClients.size() != expectedClientCount) {
+            return false;
+          }
+          return true;
+        }
+      };
+      waitForCriterion(wc, 10000, 100, false);
+    }
+    
+    Map connectedClients = InternalClientMembership.getConnectedClients(false);
+    assertNotNull(connectedClients);
+    assertEquals(clientMemberIds.size(), connectedClients.size());
+    for (Iterator iter = connectedClients.keySet().iterator(); iter.hasNext();) {
+      String connectedClient = (String)iter.next();
+      getLogWriter().info("[testGetConnectedClients] checking for client " + connectedClient);
+      assertTrue(clientMemberIds.contains(connectedClient));
+      getLogWriter().info("[testGetConnectedClients] count for connectedClient: " + 
+                          connectedClients.get(connectedClient));
+    }
+  }
+
+  /**
+   * Starts up 4 server and the controller vm as a client, then calls and tests
+   * 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++) { 
+      final int whichVM = i;
+      final VM vm = Host.getHost(0).getVM(i);
+      vm.invoke(new CacheSerializableRunnable("Create bridge server") {
+        public void run2() throws CacheException {
+          // create BridgeServer in controller vm...
+          getLogWriter().info("[testGetConnectedServers] Create BridgeServer");
+          getSystem();
+          AttributesFactory factory = new AttributesFactory();
+          factory.setScope(Scope.LOCAL);
+          Region region = createRegion(name+"_"+whichVM, factory.create());
+          assertNotNull(region);
+          assertNotNull(getRootRegion().getSubregion(name+"_"+whichVM));
+          region.put("KEY-1", "VAL-1");
+          
+          try {
+            testGetConnectedServers_port = startBridgeServer(0);
+          }
+          catch (IOException e) {
+            getLogWriter().error("startBridgeServer threw IOException", e);
+            fail("startBridgeServer threw IOException " + e.getMessage());
+          }
+          
+          assertTrue(testGetConnectedServers_port != 0);
+      
+          getLogWriter().info("[testGetConnectedServers] port=" + 
+            ports[whichVM]);
+          getLogWriter().info("[testGetConnectedServers] serverMemberId=" + 
+            getDistributedMember());
+        }
+      });
+      ports[whichVM] = vm.invokeInt(ClientMembershipDUnitTest.class, 
+                                    "getTestGetConnectedServers_port");
+      assertTrue(ports[whichVM] != 0);
+    }
+    
+    getLogWriter().info("[testGetConnectedServers] create bridge client");
+    Properties config = new Properties();
+    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
+    getSystem(config);
+    getCache();
+    
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+
+    for (int i = 0; i < ports.length; i++) {
+      getLogWriter().info("[testGetConnectedServers] creating connectionpool for " + 
+        getServerHostName(host) + " " + ports[i]);
+      int[] thisServerPorts = new int[] { ports[i] };
+      ClientServerTestCase.configureConnectionPoolWithName(factory, 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");
+    }
+
+    {
+      final int expectedVMCount = host.getVMCount();
+      WaitCriterion wc = new WaitCriterion() {
+        public String description() {
+          return "wait for pools and servers";
+        }
+        public boolean done() {
+          if (PoolManager.getAll().size() != expectedVMCount) {
+            return false;
+          }
+          Map connectedServers = InternalClientMembership.getConnectedServers();
+          if (connectedServers == null) {
+            return false;
+          }
+          if (connectedServers.size() != expectedVMCount) {
+            return false;
+          }
+          return true;
+        }
+      };
+      waitForCriterion(wc, 10000, 100, false);
+    }
+
+    {
+      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();) {
+      String connectedServer = (String) iter.next();
+      getLogWriter().info("[testGetConnectedServers]  value for connectedServer: " + 
+                          connectedServers.get(connectedServer));
+    }
+  }
+
+  protected static int testGetConnectedServers_port;
+  private static int getTestGetConnectedServers_port() {
+    return testGetConnectedServers_port;
+  }
+
+  /**
+   * Tests getConnectedClients(boolean onlyClientsNotifiedByThisServer) where
+   * onlyClientsNotifiedByThisServer is true.
+   */
+  public void testGetNotifiedClients() 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++) { 
+      final int whichVM = i;
+      final VM vm = Host.getHost(0).getVM(i);
+      vm.invoke(new CacheSerializableRunnable("Create bridge server") {
+        public void run2() throws CacheException {
+          // create BridgeServer in controller vm...
+          getLogWriter().info("[testGetNotifiedClients] Create BridgeServer");
+          getSystem();
+          AttributesFactory factory = new AttributesFactory();
+          Region region = createRegion(name, factory.create());
+          assertNotNull(region);
+          assertNotNull(getRootRegion().getSubregion(name));
+          region.put("KEY-1", "VAL-1");
+          
+          try {
+            testGetNotifiedClients_port = startBridgeServer(0);
+          }
+          catch (IOException e) {
+            getLogWriter().error("startBridgeServer threw IOException", e);
+            fail("startBridgeServer threw IOException " + e.getMessage());
+          }
+          
+          assertTrue(testGetNotifiedClients_port != 0);
+      
+          getLogWriter().info("[testGetNotifiedClients] port=" + 
+            ports[whichVM]);
+          getLogWriter().info("[testGetNotifiedClients] serverMemberId=" + 
+            getMemberId());
+        }
+      });
+      ports[whichVM] = vm.invokeInt(ClientMembershipDUnitTest.class, 
+                                    "getTestGetNotifiedClients_port");
+      assertTrue(ports[whichVM] != 0);
+    }
+    
+    getLogWriter().info("[testGetNotifiedClients] create bridge client");
+    Properties config = new Properties();
+    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
+    getSystem(config);
+    getCache();
+    
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+
+    getLogWriter().info("[testGetNotifiedClients] creating connection pool");
+    ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, true, -1, -1, null);
+    Region region = createRegion(name, factory.create());
+    assertNotNull(getRootRegion().getSubregion(name));
+    region.registerInterest("KEY-1");
+    region.get("KEY-1");
+
+    final String clientMemberId = getMemberId();
+    
+    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++) { 
+      final int whichVM = i;
+      final VM vm = Host.getHost(0).getVM(i);
+      vm.invoke(new CacheSerializableRunnable("Create bridge server") {
+        public void run2() throws CacheException {
+          Map clients = InternalClientMembership.getConnectedClients(true);
+          assertNotNull(clients);
+          testGetNotifiedClients_clientCount = clients.size();
+          if (testGetNotifiedClients_clientCount > 0) {
+            // assert that the clientMemberId matches
+            assertEquals(clientMemberId, clients.keySet().iterator().next());
+          }
+        }
+      });
+      clientCounts[whichVM] = vm.invokeInt(ClientMembershipDUnitTest.class, 
+                              "getTestGetNotifiedClients_clientCount");
+    }
+    
+    // only one server should have a notifier for this client...
+    int totalClientCounts = 0;
+    for (int i = 0; i < clientCounts.length; i++) {
+      totalClientCounts += clientCounts[i];
+    }
+    // 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;
+    }
+
+    public String getName() {
+      return "";
+    }
+
+    public String getHost() {
+      return this.host;
+    }
+
+    public Set getRoles() {
+      return new HashSet();
+    }
+
+    public int getProcessId() {
+      return 0;
+    }
+
+    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;
+    }
+    
+    public int hashCode() {
+      return getHost().hashCode();
+    }
+    
+    public DurableClientAttributes getDurableClientAttributes() {
+      
+      return null;
+    }
+
+    public List<String> getGroups() {
+      return Collections.emptyList();
+    }
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipSelectorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipSelectorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipSelectorDUnitTest.java
new file mode 100644
index 0000000..ebf894e
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientMembershipSelectorDUnitTest.java
@@ -0,0 +1,16 @@
+package com.gemstone.gemfire.cache30;
+
+/**
+ * Same as parent but uses selector in server
+ *
+ * @author darrel
+ * @since 5.1
+ */
+public class ClientMembershipSelectorDUnitTest extends ClientMembershipDUnitTest {
+  public ClientMembershipSelectorDUnitTest(String name) {
+    super(name);
+  }
+  protected int getMaxThreads() {
+    return 2;
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestDUnitTest.java
new file mode 100644
index 0000000..b49ec56
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestDUnitTest.java
@@ -0,0 +1,418 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.cache30;
+
+import java.io.IOException;
+import java.util.Properties;
+
+import com.gemstone.gemfire.cache.AttributesFactory;
+import com.gemstone.gemfire.cache.CacheException;
+import com.gemstone.gemfire.cache.Region;
+import com.gemstone.gemfire.cache.Scope;
+import com.gemstone.gemfire.cache.client.internal.PoolImpl;
+import com.gemstone.gemfire.distributed.internal.DistributionConfig;
+import com.gemstone.gemfire.cache.client.SubscriptionNotEnabledException;
+
+import dunit.DistributedTestCase;
+import dunit.Host;
+import dunit.VM;
+
+/**
+ * Tests the client register interest
+ *
+ * @author Kirk Lund
+ * @since 4.2.3
+ */
+public class ClientRegisterInterestDUnitTest extends ClientServerTestCase {
+
+  public ClientRegisterInterestDUnitTest(String name) {
+    super(name);
+  }
+  
+  public void tearDown2() throws Exception {
+    super.tearDown2();
+    disconnectAllFromDS(); // cleans up bridge server and client and lonerDS
+  }
+  
+  /**
+   * Tests for Bug 35381 Calling register interest if 
+   * establishCallbackConnection is not set causes bridge server NPE.
+   */
+  public void testBug35381() throws Exception {
+    final Host host = Host.getHost(0);
+    final String name = this.getUniqueName();
+    final int[] ports = new int[1]; // 1 server in this test
+    
+    final int whichVM = 0;
+    final VM vm = Host.getHost(0).getVM(whichVM);
+    vm.invoke(new CacheSerializableRunnable("Create bridge server") {
+      public void run2() throws CacheException {
+        getLogWriter().info("[testBug35381] Create BridgeServer");
+        getSystem();
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.LOCAL);
+        Region region = createRegion(name, factory.create());
+        assertNotNull(region);
+        assertNotNull(getRootRegion().getSubregion(name));
+        region.put("KEY-1", "VAL-1");
+        
+        try {
+          bridgeServerPort = startBridgeServer(0);
+        }
+        catch (IOException e) {
+          getLogWriter().error("startBridgeServer threw IOException", e);
+          fail("startBridgeServer threw IOException " + e.getMessage());
+        }
+        
+        assertTrue(bridgeServerPort != 0);
+    
+        getLogWriter().info("[testBug35381] port=" + bridgeServerPort);
+        getLogWriter().info("[testBug35381] serverMemberId=" + getMemberId());
+      }
+    });
+    ports[whichVM] = vm.invokeInt(ClientRegisterInterestDUnitTest.class, 
+                                  "getBridgeServerPort");
+    assertTrue(ports[whichVM] != 0);
+    
+    getLogWriter().info("[testBug35381] create bridge client");
+    Properties config = new Properties();
+    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
+    getSystem(config);
+    getCache();
+    
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+
+    getLogWriter().info("[testBug35381] creating connection pool");
+    boolean establishCallbackConnection = false; // SOURCE OF BUG 35381
+    ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, establishCallbackConnection, -1, -1, null);
+    Region region = createRegion(name, factory.create());
+    assertNotNull(getRootRegion().getSubregion(name));
+    try {
+      region.registerInterest("KEY-1");
+      fail("registerInterest failed to throw SubscriptionNotEnabledException with establishCallbackConnection set to false"); 
+    }
+    catch (SubscriptionNotEnabledException expected) {
+    }
+  }
+  protected static int bridgeServerPort;
+  private static int getBridgeServerPort() {
+    return bridgeServerPort;
+  }
+  
+  /**
+   * Tests failover of register interest from client point of view. Related
+   * bugs include:
+   *
+   * <p>Bug 35654 "failed re-registration may never be detected and thus
+   * may never re-re-register"
+   *
+   * <p>Bug 35639 "registerInterest re-registration happens everytime a healthy
+   * server is detected"
+   *
+   * <p>Bug 35655 "a single failed re-registration causes all other pending
+   * re-registrations to be cancelled"
+   */
+  public void _testRegisterInterestFailover() throws Exception {
+    // controller is bridge client
+    
+    final Host host = Host.getHost(0);
+    final String name = this.getUniqueName();
+    final String regionName1 = name+"-1";
+    final String regionName2 = name+"-2";
+    final String regionName3 = name+"-3";
+    final String key1 = "KEY-"+regionName1+"-1";
+    final String key2 = "KEY-"+regionName1+"-2";
+    final String key3 = "KEY-"+regionName1+"-3";
+    final int[] ports = new int[3]; // 3 servers in this test
+    
+    // create first bridge server with region for client...
+    final int firstServerIdx = 0;
+    final VM firstServerVM = Host.getHost(0).getVM(firstServerIdx);
+    firstServerVM.invoke(new CacheSerializableRunnable("Create first bridge server") {
+      public void run2() throws CacheException {
+        getLogWriter().info("[testRegisterInterestFailover] Create first bridge server");
+        getSystem();
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.LOCAL);
+        Region region1 = createRootRegion(regionName1, factory.create());
+        Region region2 = createRootRegion(regionName2, factory.create());
+        Region region3 = createRootRegion(regionName3, factory.create());
+        region1.put(key1, "VAL-1");
+        region2.put(key2, "VAL-1");
+        region3.put(key3, "VAL-1");
+        
+        try {
+          bridgeServerPort = startBridgeServer(0);
+        }
+        catch (IOException e) {
+          getLogWriter().error("startBridgeServer threw IOException", e);
+          fail("startBridgeServer threw IOException " + e.getMessage());
+        }
+        
+        assertTrue(bridgeServerPort != 0);
+    
+        getLogWriter().info("[testRegisterInterestFailover] " +
+          "firstServer port=" + bridgeServerPort);
+        getLogWriter().info("[testRegisterInterestFailover] " +
+          "firstServer memberId=" + getMemberId());
+      }
+    });
+
+    // create second bridge server missing region for client...
+    final int secondServerIdx = 1;
+    final VM secondServerVM = Host.getHost(0).getVM(secondServerIdx);
+    secondServerVM.invoke(new CacheSerializableRunnable("Create second bridge server") {
+      public void run2() throws CacheException {
+        getLogWriter().info("[testRegisterInterestFailover] Create second bridge server");
+        getSystem();
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.LOCAL);
+        Region region1 = createRootRegion(regionName1, factory.create());
+        Region region3 = createRootRegion(regionName3, factory.create());
+        region1.put(key1, "VAL-2");
+        region3.put(key3, "VAL-2");
+        
+        try {
+          bridgeServerPort = startBridgeServer(0);
+        }
+        catch (IOException e) {
+          getLogWriter().error("startBridgeServer threw IOException", e);
+          fail("startBridgeServer threw IOException " + e.getMessage());
+        }
+        
+        assertTrue(bridgeServerPort != 0);
+    
+        getLogWriter().info("[testRegisterInterestFailover] " +
+          "secondServer port=" + bridgeServerPort);
+        getLogWriter().info("[testRegisterInterestFailover] " +
+          "secondServer memberId=" + getMemberId());
+      }
+    });
+
+    // get the bridge server ports...
+    ports[firstServerIdx] = firstServerVM.invokeInt(
+      ClientRegisterInterestDUnitTest.class, "getBridgeServerPort");
+    assertTrue(ports[firstServerIdx] != 0);
+    ports[secondServerIdx] = secondServerVM.invokeInt(
+      ClientRegisterInterestDUnitTest.class, "getBridgeServerPort");
+    assertTrue(ports[secondServerIdx] != 0);
+    assertTrue(ports[firstServerIdx] != ports[secondServerIdx]);
+    
+    // stop second and third servers
+    secondServerVM.invoke(new CacheSerializableRunnable("Stop second bridge server") {
+      public void run2() throws CacheException {
+        stopBridgeServers(getCache());
+      }
+    });
+    
+    // create the bridge client
+    getLogWriter().info("[testBug35654] create bridge client");
+    Properties config = new Properties();
+    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
+    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
+    getSystem(config);
+    getCache();
+    
+    AttributesFactory factory = new AttributesFactory();
+    factory.setScope(Scope.LOCAL);
+
+    getLogWriter().info("[testRegisterInterestFailover] creating connection pool");
+    boolean establishCallbackConnection = true;
+    final PoolImpl p = (PoolImpl)ClientServerTestCase.configureConnectionPool(factory, getServerHostName(host), ports, establishCallbackConnection, -1, -1, null);
+
+    final Region region1 = createRootRegion(regionName1, factory.create());
+    final Region region2 = createRootRegion(regionName2, factory.create());
+    final Region region3 = createRootRegion(regionName3, factory.create());
+
+    assertTrue(region1.getInterestList().isEmpty());
+    assertTrue(region2.getInterestList().isEmpty());
+    assertTrue(region3.getInterestList().isEmpty());
+
+    region1.registerInterest(key1);
+    region2.registerInterest(key2);
+    region3.registerInterest(key3);
+
+    assertTrue(region1.getInterestList().contains(key1));
+    assertTrue(region2.getInterestList().contains(key2));
+    assertTrue(region3.getInterestList().contains(key3));
+    
+    assertTrue(region1.getInterestListRegex().isEmpty());
+    assertTrue(region2.getInterestListRegex().isEmpty());
+    assertTrue(region3.getInterestListRegex().isEmpty());
+    
+    // get ConnectionProxy and wait until connected to first server
+    WaitCriterion ev = new WaitCriterion() {
+      public boolean done() {
+        return p.getPrimaryPort() != -1;
+      }
+      public String description() {
+        return "primary port remained invalid";
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 10 * 1000, 200, true);
+    assertEquals(ports[firstServerIdx], p.getPrimaryPort()); 
+    
+    // assert intial values
+    assertEquals("VAL-1", region1.get(key1));
+    assertEquals("VAL-1", region2.get(key2));
+    assertEquals("VAL-1", region3.get(key3));
+    
+    // do puts on server1 and make sure values come thru for all 3 registrations
+    firstServerVM.invoke(new CacheSerializableRunnable("Puts from first bridge server") {
+      public void run2() throws CacheException {
+        Region region1 = getCache().getRegion(regionName1);
+        region1.put(key1, "VAL-1-1");
+        Region region2 = getCache().getRegion(regionName2);
+        region2.put(key2, "VAL-1-1");
+        Region region3 = getCache().getRegion(regionName3);
+        region3.put(key3, "VAL-1-1");
+      }
+    });
+
+    ev = new WaitCriterion() {
+      public boolean done() {
+        if (!"VAL-1-1".equals(region1.get(key1)) || 
+            !"VAL-1-1".equals(region2.get(key2)) ||
+            !"VAL-1-1".equals(region3.get(key3))
+            ) return  false;
+        return true;
+      }
+      public String description() {
+        return null;
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 10 * 1000, 200, true);
+    assertEquals("VAL-1-1", region1.get(key1));
+    assertEquals("VAL-1-1", region2.get(key2));
+    assertEquals("VAL-1-1", region3.get(key3));
+    
+    // force failover to server 2
+    secondServerVM.invoke(new CacheSerializableRunnable("Start second bridge server") {
+      public void run2() throws CacheException {
+        try {
+          startBridgeServer(ports[secondServerIdx]);
+        }
+        catch (IOException e) {
+          getLogWriter().error("startBridgeServer threw IOException", e);
+          fail("startBridgeServer threw IOException " + e.getMessage());
+        }
+      }
+    });
+   
+    firstServerVM.invoke(new CacheSerializableRunnable("Stop first bridge server") {
+      public void run2() throws CacheException {
+        stopBridgeServers(getCache());
+      }
+    });
+
+    // wait for failover to second server
+    ev = new WaitCriterion() {
+      public boolean done() {
+        return ports[secondServerIdx] == p.getPrimaryPort();
+      }
+      public String description() {
+        return "primary port never became " + ports[secondServerIdx];
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 100 * 1000, 200, true);
+    
+    try {
+      assertEquals(null, region2.get(key2));
+      fail("CacheLoaderException expected");
+    }
+    catch (com.gemstone.gemfire.cache.CacheLoaderException e) {
+    }
+  
+    // region2 registration should be gone now
+    // do puts on server2 and make sure values come thru for only 2 registrations
+    secondServerVM.invoke(new CacheSerializableRunnable("Puts from second bridge server") {
+      public void run2() throws CacheException {
+        AttributesFactory factory = new AttributesFactory();
+        factory.setScope(Scope.LOCAL);
+        createRootRegion(regionName2, factory.create());
+      }
+    });
+    
+    // assert that there is no actively registered interest on region2
+    assertTrue(region2.getInterestList().isEmpty());
+    assertTrue(region2.getInterestListRegex().isEmpty());
+
+    region2.put(key2, "VAL-0");
+    
+    secondServerVM.invoke(new CacheSerializableRunnable("Put from second bridge server") {
+      public void run2() throws CacheException {
+        Region region1 = getCache().getRegion(regionName1);
+        region1.put(key1, "VAL-2-2");
+        Region region2 = getCache().getRegion(regionName2);
+        region2.put(key2, "VAL-2-1");
+        Region region3 = getCache().getRegion(regionName3);
+        region3.put(key3, "VAL-2-2");
+      }
+    });
+    
+    // wait for updates to come thru
+    ev = new WaitCriterion() {
+      public boolean done() {
+        if (!"VAL-2-2".equals(region1.get(key1)) || 
+            !"VAL-2-2".equals(region3.get(key3)))
+          return false;
+        return true;
+      }
+      public String description() {
+        return null;
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 100 * 1000, 200, true);
+    assertEquals("VAL-2-2", region1.get(key1));
+    assertEquals("VAL-0",   region2.get(key2));
+    assertEquals("VAL-2-2", region3.get(key3));
+
+    // assert again that there is no actively registered interest on region2
+    assertTrue(region2.getInterestList().isEmpty());
+
+    // register interest again on region2 and make
+    region2.registerInterest(key2);
+    assertEquals("VAL-2-1", region2.get(key2));
+    
+    secondServerVM.invoke(new CacheSerializableRunnable("Put from second bridge server") {
+      public void run2() throws CacheException {
+        Region region1 = getCache().getRegion(regionName1);
+        region1.put(key1, "VAL-2-3");
+        Region region2 = getCache().getRegion(regionName2);
+        region2.put(key2, "VAL-2-2");
+        Region region3 = getCache().getRegion(regionName3);
+        region3.put(key3, "VAL-2-3");
+      }
+    });
+    
+    // wait for updates to come thru
+    ev = new WaitCriterion() {
+      public boolean done() {
+        if (!"VAL-2-3".equals(region1.get(key1)) || 
+            !"VAL-2-2".equals(region2.get(key2)) ||
+            !"VAL-2-3".equals(region3.get(key3)))
+          return false;
+        return true;
+      }
+      public String description() {
+        return null;
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 100 * 1000, 200, true);
+    assertEquals("VAL-2-3", region1.get(key1));
+    assertEquals("VAL-2-2", region2.get(key2));
+    assertEquals("VAL-2-3", region3.get(key3));
+
+    // assert public methods report actively registered interest on region2
+    assertTrue(region2.getInterestList().contains(key2));
+  }
+  
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestSelectorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestSelectorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestSelectorDUnitTest.java
new file mode 100644
index 0000000..86c12f1
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/ClientRegisterInterestSelectorDUnitTest.java
@@ -0,0 +1,16 @@
+package com.gemstone.gemfire.cache30;
+
+/**
+ * Same as parent but uses selector in server
+ *
+ * @author darrel
+ * @since 5.1
+ */
+public class ClientRegisterInterestSelectorDUnitTest extends ClientRegisterInterestDUnitTest {
+  public ClientRegisterInterestSelectorDUnitTest(String name) {
+    super(name);
+  }
+  protected int getMaxThreads() {
+    return 2;
+  }
+}


[05/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/FailoverDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/FailoverDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/FailoverDUnitTest.java
index af4e64f..7c623d9 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/FailoverDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/FailoverDUnitTest.java
@@ -20,14 +20,14 @@ import com.gemstone.gemfire.cache.EntryEvent;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerTestUtil;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ConflationDUnitTest;
 import com.gemstone.gemfire.cache.client.PoolManager;
@@ -98,7 +98,7 @@ public class FailoverDUnitTest extends DistributedTestCase
     registerInterestList();
     primary.invoke(FailoverDUnitTest.class, "put");
     verifyEntries();
-    setBridgeObserver();
+    setClientServerObserver();
     primary.invoke(FailoverDUnitTest.class, "stopServer");
     verifyEntriesAfterFailover();
   }
@@ -135,7 +135,7 @@ public class FailoverDUnitTest extends DistributedTestCase
 */
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    BridgeTestCase.configureConnectionPoolWithName(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null, "FailoverPool");
+    ClientServerTestCase.configureConnectionPoolWithName(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null, "FailoverPool");
     factory.setCacheListener(new CacheListenerAdapter() {
       public void afterUpdate(EntryEvent event)
       {
@@ -157,7 +157,7 @@ public class FailoverDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(regionName, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.start();
@@ -224,9 +224,9 @@ public class FailoverDUnitTest extends DistributedTestCase
   public static void stopServer()
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
           server.stop();
       }
     }
@@ -270,9 +270,9 @@ public class FailoverDUnitTest extends DistributedTestCase
     assertEquals("value-3", r.getEntry("key-3").getValue());
   }
 
-  public static void setBridgeObserver() {
+  public static void setClientServerObserver() {
     PoolImpl.BEFORE_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
         public void beforePrimaryIdentificationFromBackup() {
           primary.invoke(FailoverDUnitTest.class, "putDuringFailover");
           PoolImpl.BEFORE_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = false;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HABugInPutDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HABugInPutDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HABugInPutDUnitTest.java
index b6a831e..d92c00a 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HABugInPutDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HABugInPutDUnitTest.java
@@ -19,12 +19,12 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -132,7 +132,7 @@ public class HABugInPutDUnitTest extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServerImpl server = (BridgeServerImpl)cache.addBridgeServer();
+    CacheServerImpl server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -152,7 +152,7 @@ public class HABugInPutDUnitTest extends DistributedTestCase
     new HABugInPutDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    BridgeTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null);
+    ClientServerTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     Region region = cache.getRegion(Region.SEPARATOR + REGION_NAME);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAClearDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAClearDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAClearDUnitTest.java
index f9d563f..1e93273 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAClearDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAClearDUnitTest.java
@@ -19,11 +19,11 @@ import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.RegionEvent;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.CacheObserverAdapter;
 import com.gemstone.gemfire.internal.cache.CacheObserverHolder;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
@@ -61,7 +61,7 @@ public class HAClearDUnitTest extends DistributedTestCase
 
   protected static Cache cache = null;
 
-  static BridgeServerImpl server = null;
+  static CacheServerImpl server = null;
 
   static final int NO_OF_PUTS = 100;
 
@@ -572,7 +572,7 @@ public class HAClearDUnitTest extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    server = (BridgeServerImpl)cache.addBridgeServer();
+    server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -603,7 +603,7 @@ public class HAClearDUnitTest extends DistributedTestCase
     new HAClearDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    BridgeTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null);
+    ClientServerTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null);
     if (isListenerAttached) {
       factory.setCacheListener(new CacheListenerAdapter() {
         public void afterRegionClear(RegionEvent event)

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAConflationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAConflationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAConflationDUnitTest.java
index 04a2901..ffec42d 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAConflationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAConflationDUnitTest.java
@@ -21,13 +21,13 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.RegionEvent;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.cache30.CacheTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ConflationDUnitTest;
 
 import dunit.Host;
@@ -311,7 +311,7 @@ public class HAConflationDUnitTest extends CacheTestCase
     props.setProperty(DistributionConfig.LOCATORS_NAME, "");
     new HAConflationDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
-    BridgeTestCase.configureConnectionPool(factory, host, new int[] { PORT1 }, true, -1, -1, null);
+    ClientServerTestCase.configureConnectionPool(factory, host, new int[] { PORT1 }, true, -1, -1, null);
     factory.setScope(Scope.DISTRIBUTED_ACK);
     factory.setEnableConflation(true);
     if (isListenerPresent.booleanValue() == true) {
@@ -346,7 +346,7 @@ public class HAConflationDUnitTest extends CacheTestCase
     }
     RegionAttributes attrs = factory.create();
     cache.createRegion(regionName, attrs);
-    BridgeServerImpl server = (BridgeServerImpl)cache.addBridgeServer();
+    CacheServerImpl server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HADuplicateDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HADuplicateDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HADuplicateDUnitTest.java
index 17412eb..830decd 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HADuplicateDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HADuplicateDUnitTest.java
@@ -24,11 +24,11 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -67,7 +67,7 @@ public class HADuplicateDUnitTest extends DistributedTestCase
 
   static boolean isEventDuplicate = true;
 
-  static BridgeServerImpl server = null;
+  static CacheServerImpl server = null;
 
   static final int NO_OF_PUTS = 100;
 
@@ -240,7 +240,7 @@ public class HADuplicateDUnitTest extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    server = (BridgeServerImpl)cache.addBridgeServer();
+    server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -269,7 +269,7 @@ public class HADuplicateDUnitTest extends DistributedTestCase
     props.setProperty("locators", "");
     new HADuplicateDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
-    BridgeTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null);
+    ClientServerTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1,PORT2}, true, -1, 2, null);
     
     factory.setScope(Scope.DISTRIBUTED_ACK);
     CacheListener clientListener = new HAValidateDuplicateListener();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAEventIdPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAEventIdPropagationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAEventIdPropagationDUnitTest.java
index 16ce1c7..06beb27 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAEventIdPropagationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAEventIdPropagationDUnitTest.java
@@ -28,11 +28,11 @@ import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.QueueStateImpl.SequenceIdAndExpirationObject;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.EntryEventImpl;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.RegionEventImpl;
@@ -66,7 +66,7 @@ public class HAEventIdPropagationDUnitTest extends DistributedTestCase
   private static Cache cache = null;
 
   /** server * */
-  static BridgeServerImpl server = null;
+  static CacheServerImpl server = null;
 
   /** test constructor * */
   public HAEventIdPropagationDUnitTest(String name) {
@@ -129,7 +129,7 @@ public class HAEventIdPropagationDUnitTest extends DistributedTestCase
     factory.setCacheListener(clientListener);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    server = (BridgeServerImpl)cache.addBridgeServer();
+    server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -160,7 +160,7 @@ public class HAEventIdPropagationDUnitTest extends DistributedTestCase
     props.setProperty("locators", "");
     new HAEventIdPropagationDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
-    PoolImpl pi = (PoolImpl)BridgeTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1}, true, -1, 2, null);
+    PoolImpl pi = (PoolImpl)ClientServerTestCase.configureConnectionPool(factory, hostName, new int[] {PORT1}, true, -1, 2, null);
     factory.setScope(Scope.DISTRIBUTED_ACK);
     CacheListener clientListener = new HAEventIdPropagationListenerForClient();
     factory.setCacheListener(clientListener);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAGIIDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAGIIDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAGIIDUnitTest.java
index 3229bf7..7ff64db 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAGIIDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HAGIIDUnitTest.java
@@ -23,9 +23,9 @@ import com.gemstone.gemfire.cache.Operation;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -176,7 +176,7 @@ public class HAGIIDUnitTest extends DistributedTestCase
     props.setProperty(DistributionConfig.LOCATORS_NAME, "");
     new HAGIIDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
-    BridgeTestCase.configureConnectionPool(factory, host, new int[] {PORT1,PORT2}, true, -1, 2, null, 1000, -1, false, -1);
+    ClientServerTestCase.configureConnectionPool(factory, host, new int[] {PORT1,PORT2}, true, -1, 2, null, 1000, -1, false, -1);
     factory.setScope(Scope.DISTRIBUTED_ACK);
     factory.addCacheListener(HAGIIDUnitTest.checker);
     RegionAttributes attrs = factory.create();
@@ -192,7 +192,7 @@ public class HAGIIDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.start();
@@ -207,7 +207,7 @@ public class HAGIIDUnitTest extends DistributedTestCase
     factory.setDataPolicy(DataPolicy.REPLICATE);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port.intValue());
     server1.setNotifyBySubscription(true);
     server1.start();
@@ -244,9 +244,9 @@ public class HAGIIDUnitTest extends DistributedTestCase
   public static void stopServer()
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
           server.stop();
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARQueueNewImplDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARQueueNewImplDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARQueueNewImplDUnitTest.java
index ae2519c..c46dd19 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARQueueNewImplDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HARQueueNewImplDUnitTest.java
@@ -27,14 +27,14 @@ import com.gemstone.gemfire.cache.EntryEvent;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
 import com.gemstone.gemfire.internal.cache.ha.HAContainerMap;
 import com.gemstone.gemfire.internal.cache.ha.HAContainerRegion;
@@ -165,7 +165,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
     logger = cache.getLogger();
 
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     if (ePolicy != null) {
@@ -186,7 +186,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
   public static Integer createOneMoreBridgeServer(Boolean notifyBySubscription)
       throws Exception {
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(notifyBySubscription.booleanValue());
     server1.getClientSubscriptionConfig().setEvictionPolicy(
@@ -205,7 +205,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
     props.setProperty(DistributionConfig.LOCATORS_NAME, "");
     new HARQueueNewImplDUnitTest("temp").createCache(props);
     AttributesFactory factory = new AttributesFactory();
-    BridgeTestCase.configureConnectionPool(factory, host, port1
+    ClientServerTestCase.configureConnectionPool(factory, host, port1
         .intValue(), port2.intValue(), true, Integer.parseInt(rLevel), 2, null,
         1000, 250, false);
 
@@ -893,7 +893,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   private static void verifyNullCUMReference(Integer port) {
     Region r = cache.getRegion("/"
-        + BridgeServerImpl.generateNameForClientMsgsRegion(port.intValue()));
+        + CacheServerImpl.generateNameForClientMsgsRegion(port.intValue()));
     assertNotNull(r);
 
     Object[] arr = r.keySet().toArray();
@@ -905,7 +905,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   private static void verifyHaContainerDestroyed(Boolean isRegion, Integer port) {
     Map r = cache.getRegion("/"
-        + BridgeServerImpl.generateNameForClientMsgsRegion(port.intValue()));
+        + CacheServerImpl.generateNameForClientMsgsRegion(port.intValue()));
 
     if (isRegion.booleanValue()) {
       if (r != null) {
@@ -913,7 +913,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
       }
     }
     else {
-      r = ((BridgeServerImpl)cache.getBridgeServers().toArray()[0])
+      r = ((CacheServerImpl)cache.getCacheServers().toArray()[0])
           .getAcceptor().getCacheClientNotifier().getHaContainer();
       if (r != null) {
         assertTrue(r.isEmpty());
@@ -942,9 +942,9 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   private static void setHACapacity(Integer cap) {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         server.getClientSubscriptionConfig().setCapacity(cap.intValue());
       }
     }
@@ -955,9 +955,9 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   private static void stopOneBridgeServer(Integer port) {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         if (server.getPort() == port.intValue()) {
           server.stop();
         }
@@ -970,9 +970,9 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   public static void stopServer() {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         server.stop();
       }
     }
@@ -1053,7 +1053,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
   public static void verifyNullValuesInCMR(final Integer numOfEntries, 
       final Integer port,
       String[] keys) {
-    final Region msgsRegion = cache.getRegion(BridgeServerImpl
+    final Region msgsRegion = cache.getRegion(CacheServerImpl
         .generateNameForClientMsgsRegion(port.intValue()));
     WaitCriterion wc = new WaitCriterion() {
       String excuse;
@@ -1082,7 +1082,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   public static void makeValuesOfSomeKeysNullInClientMsgsRegion(Integer port,
       String[] keys) {
-    Region msgsRegion = cache.getRegion(BridgeServerImpl
+    Region msgsRegion = cache.getRegion(CacheServerImpl
         .generateNameForClientMsgsRegion(port.intValue()));
     assertNotNull(msgsRegion);
 
@@ -1104,7 +1104,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   public static void populateValuesOfSomeKeysInClientMsgsRegion(Integer port,
       String[] keys) {
-    Region msgsRegion = cache.getRegion(BridgeServerImpl
+    Region msgsRegion = cache.getRegion(CacheServerImpl
         .generateNameForClientMsgsRegion(port.intValue()));
     assertNotNull(msgsRegion);
 
@@ -1117,9 +1117,9 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   public static void startServer() {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         server.start();
       }
     }
@@ -1132,7 +1132,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
       Integer msgsRegionsize, Integer port) {
     try {
       // Get the clientMessagesRegion and check the size.
-      Region msgsRegion = cache.getRegion(BridgeServerImpl
+      Region msgsRegion = cache.getRegion(CacheServerImpl
           .generateNameForClientMsgsRegion(port.intValue()));
       Region region = cache.getRegion("/" + regionName);
       logger.fine("size<serverRegion, clientMsgsRegion>: " + region.size()
@@ -1173,9 +1173,9 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
             return false;
           }
           
-          Iterator iter = cache.getBridgeServers().iterator();
+          Iterator iter = cache.getCacheServers().iterator();
           if (iter.hasNext()) {
-            BridgeServerImpl server = (BridgeServerImpl)iter.next();
+            CacheServerImpl server = (CacheServerImpl)iter.next();
             Map msgsRegion = server.getAcceptor().getCacheClientNotifier()
             .getHaContainer();
             //Region msgsRegion = cache.getRegion(BridgeServerImpl
@@ -1215,11 +1215,11 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
                 ", actual = " + sz;
             return false;
           }
-          Iterator iter = cache.getBridgeServers().iterator();
+          Iterator iter = cache.getCacheServers().iterator();
           if (!iter.hasNext()) {
             return true;
           }
-          BridgeServerImpl server = (BridgeServerImpl)iter.next();
+          CacheServerImpl server = (CacheServerImpl)iter.next();
           sz = server.getAcceptor().getCacheClientNotifier().getHaContainer().size();
           if (sz != msgsRegionsize.intValue()) {
             excuse = "Expected msgsRegionsize = " + msgsRegionsize.intValue() +
@@ -1241,19 +1241,19 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   public static void verifyHaContainerType(Boolean isRegion, Integer port) {
     try {
-      Map haMap = cache.getRegion(BridgeServerImpl
+      Map haMap = cache.getRegion(CacheServerImpl
           .generateNameForClientMsgsRegion(port.intValue()));
       if (isRegion.booleanValue()) {
         assertNotNull(haMap);
         assertTrue(haMap instanceof LocalRegion);
-        haMap = ((BridgeServerImpl)cache.getBridgeServers().toArray()[0])
+        haMap = ((CacheServerImpl)cache.getCacheServers().toArray()[0])
             .getAcceptor().getCacheClientNotifier().getHaContainer();
         assertNotNull(haMap);
         assertTrue(haMap instanceof HAContainerRegion);
       }
       else {
         assertNull(haMap);
-        haMap = ((BridgeServerImpl)cache.getBridgeServers().toArray()[0])
+        haMap = ((CacheServerImpl)cache.getCacheServers().toArray()[0])
             .getAcceptor().getCacheClientNotifier().getHaContainer();
         assertNotNull(haMap);
         assertTrue(haMap instanceof HAContainerMap);
@@ -1267,7 +1267,7 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
 
   public static void verifyRootRegionsDoesNotReturnCMR(Integer port) {
     try {
-      String cmrName = BridgeServerImpl.generateNameForClientMsgsRegion(port
+      String cmrName = CacheServerImpl.generateNameForClientMsgsRegion(port
           .intValue());
       Map haMap = cache.getRegion(cmrName);
       assertNotNull(haMap);
@@ -1323,12 +1323,12 @@ public class HARQueueNewImplDUnitTest extends DistributedTestCase {
     try {
       Map haContainer = null;
       haContainer = cache.getRegion(Region.SEPARATOR
-          + BridgeServerImpl.generateNameForClientMsgsRegion(port.intValue()));
+          + CacheServerImpl.generateNameForClientMsgsRegion(port.intValue()));
       if (haContainer == null) {
-        Object[] servers = cache.getBridgeServers().toArray();
+        Object[] servers = cache.getCacheServers().toArray();
         for (int i = 0; i < servers.length; i++) {
-          if (port.intValue() == ((BridgeServerImpl)servers[i]).getPort()) {
-            haContainer = ((BridgeServerImpl)servers[i]).getAcceptor()
+          if (port.intValue() == ((CacheServerImpl)servers[i]).getPort()) {
+            haContainer = ((CacheServerImpl)servers[i]).getAcceptor()
                 .getCacheClientNotifier().getHaContainer();
             break;
           }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HASlowReceiverDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HASlowReceiverDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HASlowReceiverDUnitTest.java
index a3eb9e4..90b8425 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HASlowReceiverDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/HASlowReceiverDUnitTest.java
@@ -20,13 +20,13 @@ import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerTestUtil;
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -121,7 +121,7 @@ public class HASlowReceiverDUnitTest extends DistributedTestCase {
     logger = cache.getLogger();
 
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.setMaximumMessageCount(200);
@@ -260,7 +260,7 @@ public class HASlowReceiverDUnitTest extends DistributedTestCase {
   public static void setBridgeObeserverForAfterQueueDestroyMessage()
       throws Exception {
     PoolImpl.AFTER_QUEUE_DESTROY_MESSAGE_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       @Override
       public void afterQueueDestroyMessage() {       
         clientVM.invoke(HASlowReceiverDUnitTest.class, "checkRedundancyLevel",

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/OperationsPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/OperationsPropagationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/OperationsPropagationDUnitTest.java
index 384cb2a..10ef9d0 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/OperationsPropagationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/OperationsPropagationDUnitTest.java
@@ -19,11 +19,11 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -170,7 +170,7 @@ public class OperationsPropagationDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     region = cache.createRegion(REGION_NAME, attrs);
 
-    BridgeServerImpl server = (BridgeServerImpl)cache.addBridgeServer();
+    CacheServerImpl server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -205,7 +205,7 @@ public class OperationsPropagationDUnitTest extends DistributedTestCase
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
     
-    BridgeTestCase.configureConnectionPool(factory, host, PORT2,-1, true, -1, 2, null);
+    ClientServerTestCase.configureConnectionPool(factory, host, PORT2,-1, true, -1, 2, null);
     RegionAttributes attrs = factory.create();
     region = cache.createRegion(REGION_NAME, attrs);
     assertNotNull(region);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/PutAllDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/PutAllDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/PutAllDUnitTest.java
index 5407160..7cd2ebf 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/PutAllDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/PutAllDUnitTest.java
@@ -26,11 +26,11 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.QueueStateImpl.SequenceIdAndExpirationObject;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.EntryEventImpl;
 import com.gemstone.gemfire.internal.cache.EventID;
 
@@ -73,7 +73,7 @@ public class PutAllDUnitTest extends DistributedTestCase
   /** cache **/
   private static Cache cache = null;
   /** server **/
-  static BridgeServerImpl server = null;
+  static CacheServerImpl server = null;
 
   /** test constructor **/
   public PutAllDUnitTest(String name) {
@@ -148,7 +148,7 @@ public class PutAllDUnitTest extends DistributedTestCase
     factory.setCacheListener(clientListener);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    server = (BridgeServerImpl)cache.addBridgeServer();
+    server = (CacheServerImpl)cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
@@ -189,7 +189,7 @@ public class PutAllDUnitTest extends DistributedTestCase
     props.setProperty("connectionsPerServer", "2");
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    PoolImpl p  = (PoolImpl)BridgeTestCase.configureConnectionPool(factory, host, PORT1,-1, true, -1, 2, null);
+    PoolImpl p  = (PoolImpl)ClientServerTestCase.configureConnectionPool(factory, host, PORT1,-1, true, -1, 2, null);
     CacheListener clientListener = new HAEventIdPropagationListenerForClient2();
     factory.setCacheListener(clientListener);
     RegionAttributes attrs = factory.create();
@@ -220,7 +220,7 @@ public class PutAllDUnitTest extends DistributedTestCase
     props.setProperty("connectionsPerServer", "2");
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    PoolImpl p = (PoolImpl)BridgeTestCase.configureConnectionPool(factory, host, PORT1,-1, true, -1, 2, null);
+    PoolImpl p = (PoolImpl)ClientServerTestCase.configureConnectionPool(factory, host, PORT1,-1, true, -1, 2, null);
     CacheListener clientListener = new HAEventIdPropagationListenerForClient1();
     factory.setCacheListener(clientListener);
     RegionAttributes attrs = factory.create();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/StatsBugDUnitDisabledTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/StatsBugDUnitDisabledTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/StatsBugDUnitDisabledTest.java
index a12ee6d..ad5050a 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/StatsBugDUnitDisabledTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/ha/StatsBugDUnitDisabledTest.java
@@ -18,8 +18,8 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.internal.AvailablePort;
 
@@ -209,7 +209,7 @@ public class StatsBugDUnitDisabledTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
 
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
     server.setNotifyBySubscription(false);
@@ -236,7 +236,7 @@ public class StatsBugDUnitDisabledTest extends DistributedTestCase
     cache = test.createCache(createProperties1());
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    pool = (PoolImpl)BridgeTestCase.configureConnectionPool(factory, host, new int[] {port1.intValue(),port2.intValue()}, true, -1, 3, null);
+    pool = (PoolImpl)ClientServerTestCase.configureConnectionPool(factory, host, new int[] {port1.intValue(),port2.intValue()}, true, -1, 3, null);
     RegionAttributes attrs = factory.create();
     Region region = cache.createRegion(REGION_NAME, attrs);
     region.registerInterest("ALL_KEYS");
@@ -260,7 +260,7 @@ public class StatsBugDUnitDisabledTest extends DistributedTestCase
     cache = test.createCache(createProperties1());
     AttributesFactory factory = new AttributesFactory();
     factory.setScope(Scope.DISTRIBUTED_ACK);
-    pool = (PoolImpl)BridgeTestCase.configureConnectionPool(factory, host, new int[] {port1.intValue(),port2.intValue()}, true, -1, 3, null);
+    pool = (PoolImpl)ClientServerTestCase.configureConnectionPool(factory, host, new int[] {port1.intValue(),port2.intValue()}, true, -1, 3, null);
     RegionAttributes attrs = factory.create();
     Region region = cache.createRegion(REGION_NAME, attrs);
     region.registerInterest("ALL_KEYS", false, false);
@@ -295,9 +295,9 @@ public class StatsBugDUnitDisabledTest extends DistributedTestCase
   public static void stopServer()
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         server.stop();
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/Bug43684DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/Bug43684DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/Bug43684DUnitTest.java
index 999c63b..b2c8256 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/Bug43684DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/Bug43684DUnitTest.java
@@ -21,7 +21,7 @@ import com.gemstone.gemfire.cache.client.ClientRegionFactory;
 import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.OSProcess;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
 import com.gemstone.gemfire.internal.cache.RegionEntry;
@@ -248,7 +248,7 @@ public class Bug43684DUnitTest extends DistributedTestCase {
       rf.setPartitionAttributes(new PartitionAttributesFactory().setTotalNumBuckets(numBuckets).create());
     }
     rf.create(REGION_NAME);
-    BridgeServerImpl server = (BridgeServerImpl)cache.addCacheServer();
+    CacheServerImpl server = (CacheServerImpl)cache.addCacheServer();
     server.setPort(AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET));
     server.start();
     return server.getPort();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningTestBase.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningTestBase.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningTestBase.java
index d2b134f..7d34359 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningTestBase.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/partitioned/fixed/FixedPartitioningTestBase.java
@@ -40,9 +40,9 @@ import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
 import com.gemstone.gemfire.internal.Assert;
 import com.gemstone.gemfire.internal.FileUtil;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.FixedPartitionAttributesImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.HARegion;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImplJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImplJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImplJUnitTest.java
index 91f75fc..b92ef5c 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImplJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/AcceptorImplJUnitTest.java
@@ -24,7 +24,7 @@ import org.junit.experimental.categories.Category;
 import com.gemstone.gemfire.cache.CacheException;
 import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
@@ -72,13 +72,13 @@ public class AcceptorImplJUnitTest
           port1,
           null,
           false,
-          BridgeServer.DEFAULT_SOCKET_BUFFER_SIZE,
-          BridgeServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
+          CacheServer.DEFAULT_SOCKET_BUFFER_SIZE,
+          CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
           this.cache,
           AcceptorImpl.MINIMUM_MAX_CONNECTIONS - 1,
-          BridgeServer.DEFAULT_MAX_THREADS,
-          BridgeServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
-          BridgeServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null, false, false, Collections.EMPTY_LIST,
+          CacheServer.DEFAULT_MAX_THREADS,
+          CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
+          CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null, false, false, Collections.EMPTY_LIST,
           CacheServer.DEFAULT_TCP_NO_DELAY);
         fail("Expected an IllegalArgumentExcption due to max conns < min pool size");
       } catch (IllegalArgumentException expected) {
@@ -89,13 +89,13 @@ public class AcceptorImplJUnitTest
           port2,
           null,
           false,
-          BridgeServer.DEFAULT_SOCKET_BUFFER_SIZE,
-          BridgeServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
+          CacheServer.DEFAULT_SOCKET_BUFFER_SIZE,
+          CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
           this.cache,
           0,
-          BridgeServer.DEFAULT_MAX_THREADS,
-          BridgeServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
-          BridgeServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null,false, false, Collections.EMPTY_LIST,
+          CacheServer.DEFAULT_MAX_THREADS,
+          CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
+          CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null,false, false, Collections.EMPTY_LIST,
           CacheServer.DEFAULT_TCP_NO_DELAY);
         fail("Expected an IllegalArgumentExcption due to max conns of zero");
       } catch (IllegalArgumentException expected) {
@@ -106,25 +106,25 @@ public class AcceptorImplJUnitTest
           port1,
           null,
           false,
-          BridgeServer.DEFAULT_SOCKET_BUFFER_SIZE,
-          BridgeServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
+          CacheServer.DEFAULT_SOCKET_BUFFER_SIZE,
+          CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
           this.cache,
           AcceptorImpl.MINIMUM_MAX_CONNECTIONS,
-          BridgeServer.DEFAULT_MAX_THREADS,
-          BridgeServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
-          BridgeServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null,false, false, Collections.EMPTY_LIST,
+          CacheServer.DEFAULT_MAX_THREADS,
+          CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
+          CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null,false, false, Collections.EMPTY_LIST,
           CacheServer.DEFAULT_TCP_NO_DELAY);
         a2 = new AcceptorImpl(
           port1,
           null,
           false,
-          BridgeServer.DEFAULT_SOCKET_BUFFER_SIZE,
-          BridgeServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
+          CacheServer.DEFAULT_SOCKET_BUFFER_SIZE,
+          CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
           this.cache,
           AcceptorImpl.MINIMUM_MAX_CONNECTIONS,
-          BridgeServer.DEFAULT_MAX_THREADS,
-          BridgeServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
-          BridgeServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null,false, false, Collections.EMPTY_LIST,
+          CacheServer.DEFAULT_MAX_THREADS,
+          CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
+          CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null,false, false, Collections.EMPTY_LIST,
           CacheServer.DEFAULT_TCP_NO_DELAY);
         fail("Expecetd a BindException while attaching to the same port");
       } catch (BindException expected) {
@@ -134,13 +134,13 @@ public class AcceptorImplJUnitTest
         port2,
         null,
         false,
-        BridgeServer.DEFAULT_SOCKET_BUFFER_SIZE,
-        BridgeServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
+        CacheServer.DEFAULT_SOCKET_BUFFER_SIZE,
+        CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
         this.cache,
         AcceptorImpl.MINIMUM_MAX_CONNECTIONS,
-        BridgeServer.DEFAULT_MAX_THREADS,
-        BridgeServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
-        BridgeServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null, false, false, Collections.EMPTY_LIST,
+        CacheServer.DEFAULT_MAX_THREADS,
+        CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
+        CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE,0,null,null, false, false, Collections.EMPTY_LIST,
         CacheServer.DEFAULT_TCP_NO_DELAY);
       assertEquals(port2, a3.getPort());
       InternalDistributedSystem isystem = (InternalDistributedSystem) this.cache.getDistributedSystem();
@@ -187,13 +187,13 @@ public class AcceptorImplJUnitTest
         port2,
         null,
         false,
-        BridgeServer.DEFAULT_SOCKET_BUFFER_SIZE,
-        BridgeServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
+        CacheServer.DEFAULT_SOCKET_BUFFER_SIZE,
+        CacheServer.DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS,
         this.cache,
         AcceptorImpl.MINIMUM_MAX_CONNECTIONS,
-        BridgeServer.DEFAULT_MAX_THREADS,
-        BridgeServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
-        BridgeServer.DEFAULT_MESSAGE_TIME_TO_LIVE,null,null);
+        CacheServer.DEFAULT_MAX_THREADS,
+        CacheServer.DEFAULT_MAXIMUM_MESSAGE_COUNT,
+        CacheServer.DEFAULT_MESSAGE_TIME_TO_LIVE,null,null);
       ac.start();
       putMsg.setMessageType(MessageType.PUT);
       putMsg.setTransactionId(1);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityCommandDUnitDisabledTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityCommandDUnitDisabledTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityCommandDUnitDisabledTest.java
deleted file mode 100755
index 05792fd..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityCommandDUnitDisabledTest.java
+++ /dev/null
@@ -1,235 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.tier.sockets;
-
-import java.util.Properties;
-import java.util.HashMap;
-import java.util.Map;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.internal.cache.tier.ConnectionProxy;
-import com.gemstone.gemfire.internal.cache.tier.MessageType;
-import com.gemstone.gemfire.internal.cache.tier.sockets.TestPut;
-
-import dunit.DistributedTestCase;
-import dunit.Host;
-import dunit.VM;
-
-/**
- * @author Pallavi
- * 
- * Test to verify that server serves different versioned clients with their
- * respective client-versions of command .
- */
-public class BackwardCompatibilityCommandDUnitDisabledTest extends DistributedTestCase {
-  /** the cache */
-  private static Cache cache = null;
-
-  private static VM server1 = null;
-
-  private static VM client1 = null;
-
-  private static VM client2 = null;
-
-  /** name of the test region */
-  private static final String REGION_NAME = "BackwardCompatibilityCommandDUnitTest_Region";
-
-  static int CLIENT_ACK_INTERVAL = 5000;
-
-  private static final String k1 = "k1";
-
-  private static final String k2 = "k2";
-
-  private static final String client_k1 = "client-k1";
-
-  private static final String client_k2 = "client-k2";
-
-  public static boolean TEST_PUT_COMMAND_INVOKED = false;
-
-  /** constructor */
-  public BackwardCompatibilityCommandDUnitDisabledTest(String name) {
-    super(name);
-  }
-
-  public void setUp() throws Exception {
-    super.setUp();
-    final Host host = Host.getHost(0);
-    server1 = host.getVM(0);
-    client1 = host.getVM(1);
-    client2 = host.getVM(2);
-  }
-
-  private void createCache(Properties props) throws Exception {
-    DistributedSystem ds = getSystem(props);
-    ds.disconnect();
-    ds = getSystem(props);
-    assertNotNull(ds);
-    cache = CacheFactory.create(ds);
-    assertNotNull(cache);
-  }
-
-  public static void createClientCache(String host, Integer port1)
-      throws Exception {
-    new BackwardCompatibilityCommandDUnitDisabledTest("temp");
-    Properties props = new Properties();
-    props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    props.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    new BackwardCompatibilityCommandDUnitDisabledTest("temp").createCache(props);
-    PoolImpl p = (PoolImpl)PoolManager.createFactory().addServer(host,
-        port1.intValue()).setSubscriptionEnabled(false)
-        .setThreadLocalConnections(true).setMinConnections(1).setReadTimeout(
-            20000).setPingInterval(10000).setRetryAttempts(1)
-        .create("BackwardCompatibilityCommandDUnitTest");
-
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setPoolName(p.getName());
-
-    RegionAttributes attrs = factory.create();
-    Region region = cache.createRegion(REGION_NAME, attrs);
-    //region.registerInterest("ALL_KEYS");
-  }
-
-  public static Integer createServerCache(String hostName) throws Exception {
-    new BackwardCompatibilityCommandDUnitDisabledTest("temp")
-        .createCache(new Properties());
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setDataPolicy(DataPolicy.REPLICATE);
-    RegionAttributes attrs = factory.create();
-    cache.createRegion(REGION_NAME, attrs);
-    int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
-    server1.setBindAddress(hostName);
-    server1.setPort(port);
-    server1.setNotifyBySubscription(true);
-    server1.start();
-    return new Integer(server1.getPort());
-  }
-
-  public void tearDown2() throws Exception {
-    super.tearDown2();
-    // close the clients first
-    client2.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class,
-        "unsetHandshakeVersionForTesting");
-    client1.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class, "closeCache");
-    client2.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class, "closeCache");
-    // then close the servers
-    server1.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class, "closeCache");
-  }
-
-  public static void closeCache() {
-    if (cache != null && !cache.isClosed()) {
-      cache.close();
-      cache.getDistributedSystem().disconnect();
-    }
-  }
-
-  /*
-   * Test to verify that server serves different versioned clients with their
-   * respective client-versions of command .
-   */
-  public void testCommand() {
-    server1.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class,
-        "setTestCommands");
-    String serverHostName = getServerHostName(server1.getHost());
-    Integer port1 = ((Integer)server1.invoke(
-        BackwardCompatibilityCommandDUnitDisabledTest.class, "createServerCache",
-        new Object[] { serverHostName }));
-
-    client1.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class,
-        "createClientCache", new Object[] { serverHostName, port1 });
-
-    client2.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class,
-        "setHandshakeVersionForTesting");
-    client2.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class,
-        "createClientCache", new Object[] { serverHostName, port1 });
-
-    client1.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class, "put");
-    server1.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class,
-        "checkTestPutCommandNotInvoked");
-
-    client2.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class, "put");
-    server1.invoke(BackwardCompatibilityCommandDUnitDisabledTest.class,
-        "checkTestPutCommandInvoked");
-  }
-
-  /*
-   * Add test command to CommandInitializer.ALL_COMMANDS.
-   */
-  public static void setTestCommands() throws Exception {
-    getLogWriter().info("setTestCommands invoked");
-    Map testCommands = new HashMap();
-    testCommands.putAll((Map)CommandInitializer.ALL_COMMANDS
-        .get(AcceptorImpl.VERSION));
-    testCommands.put(new Integer(MessageType.PUT), new TestPut());
-    CommandInitializer.testSetCommands(testCommands);
-    getLogWriter().info("end of setTestCommands");
-  }
-
-  /*
-   * Prepare to write TEST_VERSION byte from client to server during handshake.
-   */
-  public static void setHandshakeVersionForTesting() throws Exception {
-    HandShake.setVersionForTesting(Version.TEST_VERSION.ordinal());
-  }
-
-  public static void put() {
-    try {
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME);
-      assertNotNull(r1);
-
-      r1.put(k1, client_k1);
-      assertEquals(r1.getEntry(k1).getValue(), client_k1);
-      r1.put(k2, client_k2);
-      assertEquals(r1.getEntry(k2).getValue(), client_k2);
-    }
-    catch (Exception ex) {
-      fail("failed while put", ex);
-    }
-  }
-
-  /*
-   * Prepare to write revert back to original version from client to server
-   * during handshake.
-   */
-  public static void unsetHandshakeVersionForTesting() throws Exception {
-    HandShake.setVersionForTesting(ConnectionProxy.VERSION.ordinal());
-  }
-
-  /*
-   * Check that TestPut command did not get invoked at server.
-   */
-  public static void checkTestPutCommandNotInvoked() {
-    assertTrue("TestPut command got invoked for GFE57 versioned client",
-        !TEST_PUT_COMMAND_INVOKED);
-  }
-
-  /*
-   * Check whether TestPut command got invoked at server.
-   */
-  public static void checkTestPutCommandInvoked() {
-    assertTrue(
-        "TestPut command did not get invoked for higher versioned client",
-        TEST_PUT_COMMAND_INVOKED);
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHandshakeDUnitDisabledTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHandshakeDUnitDisabledTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHandshakeDUnitDisabledTest.java
deleted file mode 100755
index 9190d80..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHandshakeDUnitDisabledTest.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.tier.sockets;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.tier.ConnectionProxy;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-
-import dunit.DistributedTestCase;
-import dunit.Host;
-import dunit.VM;
-
-/**
- * @author Pallavi
- * 
- * Test to verify handshake with equal or lower version clients. Both equal and
- * lower version clients should be able to connect to the server successfully.
- */
-public class BackwardCompatibilityHandshakeDUnitDisabledTest extends
-    DistributedTestCase {
-
-  /** the cache */
-  private static Cache cache = null;
-
-  private static VM server1 = null;
-
-  private static VM client1 = null;
-
-  private static VM client2 = null;
-
-  /** name of the test region */
-  private static final String REGION_NAME = "BackwardCompatibilityHandshakeDUnitTest_Region";
-
-  static int CLIENT_ACK_INTERVAL = 5000;
-
-  private static short clientVersionForTesting = Version.TEST_VERSION.ordinal();
-
-  private static short currentClientVersion = ConnectionProxy.VERSION.ordinal();
-
-  /** constructor */
-  public BackwardCompatibilityHandshakeDUnitDisabledTest(String name) {
-    super(name);
-  }
-
-  public void setUp() throws Exception {
-    super.setUp();
-    final Host host = Host.getHost(0);
-    server1 = host.getVM(0);
-    client1 = host.getVM(1);
-    client2 = host.getVM(2);
-
-  }
-
-  private void createCache(Properties props) throws Exception {
-    DistributedSystem ds = getSystem(props);
-    ds.disconnect();
-    ds = getSystem(props);
-    assertNotNull(ds);
-    cache = CacheFactory.create(ds);
-    assertNotNull(cache);
-  }
-
-  public static void createClientCache(String host, Integer port1)
-      throws Exception {
-    new BackwardCompatibilityHandshakeDUnitDisabledTest("temp");
-    Properties props = new Properties();
-    props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    props.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    new BackwardCompatibilityHandshakeDUnitDisabledTest("temp").createCache(props);
-    PoolImpl p = (PoolImpl)PoolManager.createFactory().addServer(host,
-        port1.intValue()).setSubscriptionEnabled(true)
-        .setThreadLocalConnections(true).setMinConnections(1).setReadTimeout(
-            20000).setPingInterval(10000).setRetryAttempts(1)
-        .setSubscriptionAckInterval(CLIENT_ACK_INTERVAL).create(
-            "BackwardCompatibilityHandshakeDUnitTest");
-
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setPoolName(p.getName());
-
-    RegionAttributes attrs = factory.create();
-    Region region = cache.createRegion(REGION_NAME, attrs);
-    region.registerInterest("ALL_KEYS");
-  }
-
-  public static Integer createServerCache(String serverHostName)
-      throws Exception {
-    new BackwardCompatibilityHandshakeDUnitDisabledTest("temp")
-        .createCache(new Properties());
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setDataPolicy(DataPolicy.REPLICATE);
-    RegionAttributes attrs = factory.create();
-    cache.createRegion(REGION_NAME, attrs);
-    int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
-    server1.setBindAddress(serverHostName);
-    server1.setPort(port);
-    server1.setNotifyBySubscription(true);
-    server1.start();
-    return new Integer(server1.getPort());
-  }
-
-  public void tearDown2() throws Exception {
-    super.tearDown2();
-    client2.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class,
-        "unsetHandshakeVersionForTesting");
-    client2.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class,
-        "unsetTestVersionAfterHandshake");
-    // close the clients first
-    client1.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class, "closeCache");
-    client2.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class, "closeCache");
-    // then close the servers
-    server1.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class, "closeCache");
-  }
-
-  public static void closeCache() {
-    if (cache != null && !cache.isClosed()) {
-      cache.close();
-      cache.getDistributedSystem().disconnect();
-    }
-  }
-
-  /*
-   * Test to verify handshake with equal or lower version clients. Both equal
-   * and lower version clients should be able to connect to the server
-   * successfully.
-   */
-  public void testHandShake() {
-    server1.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class,
-        "setTestCommands");
-    String serverHostName = getServerHostName(server1.getHost());
-    Integer port1 = ((Integer)server1.invoke(
-        BackwardCompatibilityHandshakeDUnitDisabledTest.class, "createServerCache",
-        new Object[] { serverHostName }));
-
-    client1.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class,
-        "createClientCache", new Object[] { serverHostName, port1 });
-
-    client2.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class,
-        "setHandshakeVersionForTesting");
-    client2.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class,
-        "setTestVersionAfterHandshake");
-    client2.invoke(BackwardCompatibilityHandshakeDUnitDisabledTest.class,
-        "createClientCache", new Object[] { serverHostName, port1 });
-  }
-
-  /*
-   * Add test command to CommandInitializer.ALL_COMMANDS.
-   */
-  public static void setTestCommands() throws Exception {
-    getLogWriter().info("setTestCommands invoked");
-    Map testCommands = new HashMap();
-    testCommands.putAll((Map)CommandInitializer.ALL_COMMANDS
-        .get(Version.GFE_57));
-    CommandInitializer.testSetCommands(testCommands);
-    getLogWriter().info("end of setTestCommands");
-  }
-
-  /*
-   * Prepare to write TEST_VERSION byte from client to server during
-   * handshake.
-   */
-  public static void setHandshakeVersionForTesting() throws Exception {
-    HandShake.setVersionForTesting(clientVersionForTesting);
-  }
-
-  /*
-   * Prepare to test that Server detected and created ClientHandshake as
-   * requested.
-   */
-  public static void setTestVersionAfterHandshake() throws Exception {
-    ServerConnection.TEST_VERSION_AFTER_HANDSHAKE_FLAG = true;
-    ServerConnection.testVersionAfterHandshake = clientVersionForTesting;
-  }
-
-  /*
-   * Prepare to revert back version byte to current client version for
-   * client-to-server handshake.
-   */
-  public static void unsetHandshakeVersionForTesting() throws Exception {
-    HandShake.setVersionForTesting(currentClientVersion);
-  }
-
-  /*
-   * Prepare to revert back Server testing of ClientHandshake as requested.
-   */
-  public static void unsetTestVersionAfterHandshake() throws Exception {
-    ServerConnection.TEST_VERSION_AFTER_HANDSHAKE_FLAG = false;
-    ServerConnection.testVersionAfterHandshake = (currentClientVersion);
-  }
-  /*
-   * public static void destroyRegion() { try { Region r = cache.getRegion("/" +
-   * REGION_NAME); assertNotNull(r); r.destroyRegion(); } catch (Exception ex) {
-   * fail("failed while destroy region ", ex); } }
-   */
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHigherVersionClientDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHigherVersionClientDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHigherVersionClientDUnitTest.java
index 7979fe1..35010c0 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHigherVersionClientDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityHigherVersionClientDUnitTest.java
@@ -16,7 +16,7 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -116,7 +116,7 @@ public class BackwardCompatibilityHigherVersionClientDUnitTest extends
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.start();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityMessageDUnitDisabledTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityMessageDUnitDisabledTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityMessageDUnitDisabledTest.java
deleted file mode 100755
index d308b00..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BackwardCompatibilityMessageDUnitDisabledTest.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.tier.sockets;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Properties;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.Assert;
-import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.tier.ConnectionProxy;
-import com.gemstone.gemfire.cache.Region.Entry;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientProxy;
-
-import dunit.DistributedTestCase;
-import dunit.Host;
-import dunit.VM;
-
-/**
- * @author Pallavi
- * 
- * Test to verify that server serves different versioned clients with their
- * respective client-versions of messages (after execution of a command) .
- */
-
-public class BackwardCompatibilityMessageDUnitDisabledTest extends DistributedTestCase {
-  /** the cache */
-  private static Cache cache = null;
-
-  private static VM server1 = null;
-
-  private static VM client1 = null;
-
-  private static VM client2 = null;
-
-  private static VM client3 = null;
-
-  /** name of the test region */
-  private static final String REGION_NAME = "BackwardCompatibilityMessageDUnitTest_Region";
-
-  static int CLIENT_ACK_INTERVAL = 5000;
-
-  private static final String k1 = "k1";
-
-  private static final String k2 = "k2";
-
-  private static final String client_k1 = "client-k1";
-
-  private static final String client_k2 = "client-k2";
-
-  /** constructor */
-  public BackwardCompatibilityMessageDUnitDisabledTest(String name) {
-    super(name);
-  }
-
-  public void setUp() throws Exception {
-    super.setUp();
-    final Host host = Host.getHost(0);
-    server1 = host.getVM(0);
-    client1 = host.getVM(1);
-    client2 = host.getVM(2);
-    client3 = host.getVM(3);
-  }
-
-  private void createCache(Properties props) throws Exception {
-    DistributedSystem ds = getSystem(props);
-    ds.disconnect();
-    ds = getSystem(props);
-    assertNotNull(ds);
-    cache = CacheFactory.create(ds);
-    assertNotNull(cache);
-  }
-
-  public static void createClientCache(String host, Integer port1)
-      throws Exception {
-    new BackwardCompatibilityMessageDUnitDisabledTest("temp");
-    Properties props = new Properties();
-    props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    props.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    new BackwardCompatibilityMessageDUnitDisabledTest("temp").createCache(props);
-    PoolImpl p = (PoolImpl)PoolManager.createFactory().addServer(host,
-        port1.intValue()).setSubscriptionEnabled(true)
-        .setSubscriptionRedundancy(1).setThreadLocalConnections(true)
-        .setMinConnections(6).setReadTimeout(20000).setPingInterval(10000)
-        .setRetryAttempts(1).setSubscriptionAckInterval(CLIENT_ACK_INTERVAL)
-        .create("BackwardCompatibilityMessageDUnitTest");
-
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setPoolName(p.getName());
-
-    RegionAttributes attrs = factory.create();
-    Region region = cache.createRegion(REGION_NAME, attrs);
-    region.registerInterest("ALL_KEYS");
-
-  }
-
-  public static Integer createServerCache(String host) throws Exception {
-    new BackwardCompatibilityMessageDUnitDisabledTest("temp")
-        .createCache(new Properties());
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setDataPolicy(DataPolicy.REPLICATE);
-    RegionAttributes attrs = factory.create();
-    cache.createRegion(REGION_NAME, attrs);
-    int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
-    server1.setBindAddress(host);
-    server1.setPort(port);
-    server1.setNotifyBySubscription(true);
-    server1.start();
-    return new Integer(server1.getPort());
-  }
-
-  public void tearDown2() throws Exception {
-    super.tearDown2();
-    client2.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "unsetHandshakeVersionForTesting");
-    client3.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "unsetHandshakeVersionForTesting");
-    server1.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "unsetBridgeObserverForAfterMessageCreation");
-    // close the clients first
-    client1.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class, "closeCache");
-    client2.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class, "closeCache");
-    client3.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class, "closeCache");
-    // then close the servers
-    server1.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class, "closeCache");
-  }
-
-  public static void closeCache() {
-    CacheClientProxy.AFTER_MESSAGE_CREATION_FLAG = false;
-    if (cache != null && !cache.isClosed()) {
-      cache.close();
-      cache.getDistributedSystem().disconnect();
-    }
-  }
-
-  /**
-   * Verify that server serves different versioned clients with their respective
-   * client-versions of messages (after execution of a command) .
-   */
-  public void testMessage() throws Exception {
-    String serverHostName = getServerHostName(server1.getHost());
-    server1.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "setTestCommands");
-    Integer port1 = ((Integer)server1.invoke(
-        BackwardCompatibilityMessageDUnitDisabledTest.class, "createServerCache",
-        new Object[] { serverHostName }));
-
-    client1.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "createClientCache", new Object[] { serverHostName, port1 });
-
-    client2.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "setHandshakeVersionForTesting");
-    client2.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "createClientCache", new Object[] { serverHostName, port1 });
-
-    client3.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "setHandshakeVersionForTesting");
-    client3.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "createClientCache", new Object[] { serverHostName, port1 });
-
-    server1.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class,
-        "setBridgeObserverForAfterMessageCreation");
-    client2.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class, "put");
-    Thread.sleep(10 * 1000);
-
-    client1.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class, "checkCache");
-    client3.invoke(BackwardCompatibilityMessageDUnitDisabledTest.class, "checkCache");
-  }
-
-  /*
-   * Add commands for TEST_VERSION to CommandInitializer.ALL_COMMANDS.
-   */
-  public static void setTestCommands() throws Exception {
-    getLogWriter().info("setTestCommands invoked");
-    Map testCommands = new HashMap();
-    testCommands.putAll((Map)CommandInitializer.ALL_COMMANDS
-        .get(Version.GFE_57));
-    CommandInitializer.testSetCommands(testCommands);
-    getLogWriter().info("end of setTestCommands");
-  }
-
-  /*
-   * Prepare to write TEST_VERSION byte from client to server during handshake.
-   */
-  public static void setHandshakeVersionForTesting() throws Exception {
-    HandShake.setVersionForTesting(Version.TEST_VERSION.ordinal());
-  }
-
-  private static BridgeObserver origObserver;
-
-  /*
-   * Prepare to test that ClientMessage created at server is valid for current
-   * client.
-   */
-  public static void setBridgeObserverForAfterMessageCreation()
-      throws Exception {
-    CacheClientProxy.AFTER_MESSAGE_CREATION_FLAG = true;
-    origObserver = BridgeObserverHolder
-        .setInstance(new BridgeObserverAdapter() {
-          public void afterMessageCreation(Message msg) {
-            getLogWriter().info("afterMessageCreation invoked");
-            Assert.assertTrue((msg != null),
-                "Valid Message not created for current client");
-
-            getLogWriter().info("end of afterMessageCreation");
-          }
-        });
-  }
-
-  public static void put() {
-    try {
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME);
-      assertNotNull(r1);
-
-      r1.put(k1, client_k1);
-      assertEquals(r1.getEntry(k1).getValue(), client_k1);
-      r1.put(k2, client_k2);
-      assertEquals(r1.getEntry(k2).getValue(), client_k2);
-    }
-    catch (Exception ex) {
-      fail("failed while put", ex);
-    }
-  }
-
-  public static void checkCache() {
-    try {
-     final Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME);
-     assertNotNull(r1);
-     WaitCriterion ev = new WaitCriterion() {
-       public boolean done() {
-         Entry e = r1.getEntry(k1);
-         return e != null;
-       }
-       public String description() {
-         return null;
-       }
-     };
-     DistributedTestCase.waitForCriterion(ev, 120 * 1000, 200, true);
-     Entry e = r1.getEntry(k1);
-     assertEquals(e.getValue(), client_k1);
-     
-     ev = new WaitCriterion() {
-       public boolean done() {
-         Entry e2 = r1.getEntry(k2);
-         return e2 != null;
-       }
-       public String description() {
-         return null;
-       }
-     };
-     DistributedTestCase.waitForCriterion(ev, 120 * 1000, 200, true);
-     e = r1.getEntry(k2);
-     assertEquals(e.getValue(), client_k2);
-    }
-    catch (Exception ex) {
-      fail("failed while checkCache", ex);
-    }
-  }
-
-  /*
-   * Prepare to write revert back to original version from client to server
-   * during handshake.
-   */
-  public static void unsetHandshakeVersionForTesting() throws Exception {
-    HandShake.setVersionForTesting(ConnectionProxy.VERSION.ordinal());
-  }
-
-  /*
-   * Prepare to revert back testing ClientMessage created at server.
-   */
-  public static void unsetBridgeObserverForAfterMessageCreation()
-      throws Exception {
-    CacheClientProxy.AFTER_MESSAGE_CREATION_FLAG = false;
-  }
-}


[04/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerMaxConnectionsJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerMaxConnectionsJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerMaxConnectionsJUnitTest.java
deleted file mode 100644
index 60c9fba..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerMaxConnectionsJUnitTest.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.tier.sockets;
-
-import java.util.Properties;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.experimental.categories.Category;
-
-import static org.junit.Assert.*;
-
-import junit.framework.TestCase;
-
-import com.gemstone.gemfire.Statistics;
-import com.gemstone.gemfire.StatisticsType;
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheFactory;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.client.*;
-import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.client.internal.Connection;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
-
-import dunit.DistributedTestCase;
-import dunit.DistributedTestCase.WaitCriterion;
-
-/**
- * Make sure max-connections on bridge server is enforced
- *
- * @author darrel
- *
- */
-@Category(IntegrationTest.class)
-public class BridgeServerMaxConnectionsJUnitTest
-
-{
-
-  /** connection proxy object for the client */
-  PoolImpl proxy = null;
-
-  /** the distributed system instance for the test */
-  DistributedSystem system;
-
-  /** the cache instance for the test */
-  Cache cache;
-
-  /** name of the region created */
-  final String regionName = "region1";
-
-  private static int PORT;
-
-  /**
-   * Close the cache and disconnects from the distributed system
-   *
-   * @exception -
-   *              thrown if any exception occured in closing cache/ds
-   */
-  @After
-  public void tearDown() throws Exception
-
-  {
-    this.cache.close();
-    this.system.disconnect();
-  }
-
-  /**
-   * Default to 0; override in sub tests to add thread pool
-   */
-  protected int getMaxThreads() {
-    return 0;
-  }
-
-  /**
-   * Initializes proxy object and creates region for client
-   *
-   */
-  private void createProxyAndRegionForClient()
-  {
-    try {
-      //props.setProperty("retryAttempts", "0");
-      PoolFactory pf = PoolManager.createFactory();
-      pf.addServer("localhost", PORT);
-      pf.setMinConnections(0);
-      pf.setPingInterval(10000);
-      pf.setThreadLocalConnections(true);
-      pf.setReadTimeout(2000);
-      pf.setSocketBufferSize(32768);
-      proxy = (PoolImpl)pf.create("junitPool");
-      AttributesFactory factory = new AttributesFactory();
-      factory.setScope(Scope.DISTRIBUTED_ACK);
-      factory.setPoolName("junitPool");
-      RegionAttributes attrs = factory.createRegionAttributes();
-      cache.createVMRegion(regionName, attrs);
-    }
-    catch (Exception ex) {
-      ex.printStackTrace();
-      fail("Failed to initialize client");
-    }
-  }
-
-  private final static int MAX_CNXS = 100;
-
-  /**
-   * Creates and starts the server instance
-   *
-   */
-  private int createServer()
-  {
-    BridgeServer server = null;
-    try {
-      Properties p = new Properties();
-      // make it a loner
-      p.put("mcast-port", "0");
-      p.put("locators", "");
-      this.system = DistributedSystem.connect(p);
-      this.cache = CacheFactory.create(system);
-      server = this.cache.addBridgeServer();
-      int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-      server.setMaxConnections(MAX_CNXS);
-      server.setMaxThreads(getMaxThreads());
-      server.setPort(port);
-      server.start();
-    }
-    catch (Exception e) {
-      e.printStackTrace();
-      fail("Failed to create server");
-    }
-    return server.getPort();
-  }
-
-  /**
-   * This test performs the following:<br>
-   * 1)create server<br>
-   * 2)initialize proxy object and create region for client<br>
-   * 3)perform a PUT on client by acquiring Connection through proxy<br>
-   * 4)stop server monitor threads in client to ensure that server treats this
-   * as dead client <br>
-   * 5)wait for some time to allow server to clean up the dead client artifacts<br>
-   * 6)again perform a PUT on client through same Connection and verify after
-   * the put that the Connection object used was new one.
-   */
-  @Test
-  public void testMaxCnxLimit() throws Exception
-  {
-    PORT = createServer();
-    createProxyAndRegionForClient();
-    StatisticsType st = this.system.findType("CacheServerStats");
-    final Statistics s = this.system.findStatisticsByType(st)[0];
-    assertEquals(0, s.getInt("currentClients"));
-    assertEquals(0, s.getInt("currentClientConnections"));
-    Connection[] cnxs = new Connection[MAX_CNXS];
-    for (int i=0; i < MAX_CNXS; i++) {
-      cnxs[i] = proxy.acquireConnection();
-      this.system.getLogWriter().info("acquired connection[" + i + "]=" + cnxs[i]);
-    }
-    WaitCriterion ev = new WaitCriterion() {
-      public boolean done() {
-        return s.getInt("currentClientConnections") == MAX_CNXS;
-      }
-      public String description() {
-        return null;
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 1000, 200, true);
-    assertEquals(MAX_CNXS, s.getInt("currentClientConnections"));
-    assertEquals(1, s.getInt("currentClients"));
-    this.system.getLogWriter().info("<ExpectedException action=add>" 
-        + "exceeded max-connections" + "</ExpectedException>");
-    try {
-      Connection cnx = proxy.acquireConnection();
-      if (cnx != null) {
-        fail("should not have been able to connect more than " + MAX_CNXS + " times but was able to connect " + s.getInt("currentClientConnections") + " times. Last connection=" + cnx);
-      }
-      this.system.getLogWriter().info("acquire connection returned null which is ok");
-    }
-    catch (NoAvailableServersException expected) {
-      // This is expected but due to race conditions in server handshake
-      // we may get null back from acquireConnection instead.
-      this.system.getLogWriter().info("received expected " + expected.getMessage());
-    }
-    catch (Exception ex) {
-      fail("expected acquireConnection to throw NoAvailableServersException but instead it threw " + ex);
-    }
-    finally {
-      this.system.getLogWriter().info("<ExpectedException action=remove>" 
-          + "exceeded max-connections" + "</ExpectedException>");
-    }
-
-    // now lets see what happens we we close our connections
-    for (int i=0; i < MAX_CNXS; i++) {
-      cnxs[i].close(false);
-    }
-    ev = new WaitCriterion() {
-      public boolean done() {
-        return s.getInt("currentClients") == 0;
-      }
-      public String description() {
-        return null;
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 3 * 1000, 200, true);
-    this.system.getLogWriter().info("currentClients="
-        + s.getInt("currentClients")
-        + " currentClientConnections="
-        + s.getInt("currentClientConnections"));
-    assertEquals(0, s.getInt("currentClientConnections"));
-    assertEquals(0, s.getInt("currentClients"));
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerSelectorMaxConnectionsJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerSelectorMaxConnectionsJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerSelectorMaxConnectionsJUnitTest.java
deleted file mode 100644
index abe40c2..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeServerSelectorMaxConnectionsJUnitTest.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.gemstone.gemfire.internal.cache.tier.sockets;
-
-import org.junit.experimental.categories.Category;
-
-import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
-
-/**
- * Just like its parent but enables the server thread pool (aka selector).
- * 
- * @author darrel
- * 
- */
-@Category(IntegrationTest.class)
-public class BridgeServerSelectorMaxConnectionsJUnitTest extends BridgeServerMaxConnectionsJUnitTest
-{
-  protected int getMaxThreads() {
-    return 2; 
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscDUnitTest.java
deleted file mode 100755
index cbf732f..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscDUnitTest.java
+++ /dev/null
@@ -1,1384 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.tier.sockets;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheException;
-import com.gemstone.gemfire.cache.CacheWriterException;
-import com.gemstone.gemfire.cache.DataPolicy;
-import com.gemstone.gemfire.cache.EvictionAttributes;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.client.NoAvailableServersException;
-import com.gemstone.gemfire.cache.client.Pool;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.Connection;
-import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.client.internal.RegisterInterestTracker;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
-import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
-import com.gemstone.gemfire.cache30.CacheTestCase;
-import com.gemstone.gemfire.cache30.LRUEvictionControllerDUnitTest;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.distributed.DistributedSystemDisconnectedException;
-import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
-import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
-
-import dunit.DistributedTestCase;
-import dunit.Host;
-import dunit.SerializableCallable;
-import dunit.SerializableRunnable;
-import dunit.VM;
-
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Set;
-
-import junit.framework.AssertionFailedError;
-
-/**
- * Tests corner cases between Region, BridgeWriter and PoolImpl
- *
- * @author Yogesh Mahajan
- *
- */
-public class BridgeWriterMiscDUnitTest extends CacheTestCase
-{
-//  private static Cache cache = null;
-
-  protected static PoolImpl pool = null;
-
-  protected static Connection conn = null;
-  
-  private static Cache static_cache;
-
-  private static int PORT1;
-
-  private static final String k1 = "k1";
-
-  private static final String k2 = "k2";
-
-  private static final String server_k1 = "server-k1";
-
-  private static final String server_k2 = "server-k2";
-
-  private static final String REGION_NAME1 = "BridgeWriterMiscDUnitTest_region1";
-
-  private static final String REGION_NAME2 = "BridgeWriterMiscDUnitTest_region2";
-
-  private static final String PR_REGION_NAME = "BridgeWriterMiscDUnitTest_PRregion";
-
-  private static Host host;
-
-  private static VM server1;
-
-  private static VM server2;
-
-  private static RegionAttributes attrs;
-
-
-  // variables for concurrent map API test
-  Properties props = new Properties();
-  final int putRange_1Start = 1;
-  final int putRange_1End = 5;
-  final int putRange_2Start = 6;
-  final int putRange_2End = 10;
-  final int putRange_3Start = 11;
-  final int putRange_3End = 15;
-  final int putRange_4Start = 16;
-  final int putRange_4End = 20;
-  final int removeRange_1Start = 2;
-  final int removeRange_1End = 4;
-  final int removeRange_2Start = 7;
-  final int removeRange_2End = 9;
-
-  
-  
-  /** constructor */
-  public BridgeWriterMiscDUnitTest(String name) {
-    super(name);
-  }
-
-  public void setUp() throws Exception
-  {
-    super.setUp();
-    host = Host.getHost(0);
-    server1 = host.getVM(0);
-    server2 = host.getVM(1);
-  }
-
-  private int initServerCache(boolean notifyBySub) {
-    Object[] args = new Object[] { notifyBySub, getMaxThreads()};
-    return ((Integer)server1.invoke(BridgeWriterMiscDUnitTest.class,
-                                    "createServerCache",
-                                    args)).intValue();
-  }
-  
-  private int initServerCache2(boolean notifyBySub) {
-    Object[] args = new Object[] {notifyBySub, getMaxThreads()};
-    return ((Integer)server2.invoke(BridgeWriterMiscDUnitTest.class,
-                                    "createServerCache",
-                                    args)).intValue();
-  }
-
-  
-  public void testConcurrentOperationsWithDRandPR() throws Exception {
-    int port1 = initServerCache(true); // vm0
-    int port2 = initServerCache2(true); // vm1
-    String serverName = getServerHostName(Host.getHost(0));
-    host.getVM(2).invoke(this.getClass(), "createClientCacheV", new Object[]{serverName, port1});
-    host.getVM(3).invoke(this.getClass(), "createClientCacheV", new Object[]{serverName, port2});
-    getLogWriter().info("Testing concurrent map operations from a client with a distributed region");
-    concurrentMapTest(host.getVM(2), "/" + REGION_NAME1);
-    // TODO add verification in vm3
-    getLogWriter().info("Testing concurrent map operations from a client with a partitioned region");
-    concurrentMapTest(host.getVM(2), "/" + PR_REGION_NAME);
-    // TODO add verification in vm3
-  }
-
-  public void testConcurrentOperationsWithDRandPRandEmptyClient() throws Exception {
-    int port1 = initServerCache(true); // vm0
-    int port2 = initServerCache2(true); // vm1
-    String serverName = getServerHostName(Host.getHost(0));
-    host.getVM(2).invoke(this.getClass(), "createEmptyClientCache", new Object[]{serverName, port1});
-    host.getVM(3).invoke(this.getClass(), "createClientCacheV", new Object[]{serverName, port2});
-    getLogWriter().info("Testing concurrent map operations from a client with a distributed region");
-    concurrentMapTest(host.getVM(2), "/" + REGION_NAME1);
-    // TODO add verification in vm3
-    getLogWriter().info("Testing concurrent map operations from a client with a partitioned region");
-    concurrentMapTest(host.getVM(2), "/" + PR_REGION_NAME);
-    // TODO add verification in vm3
-  }
-
-  /**
-   * Do putIfAbsent(), replace(Object, Object),
-   * replace(Object, Object, Object), remove(Object, Object) operations
-   */
-  public void concurrentMapTest(final VM clientVM, final String rName) {
-    
-    //String exceptionStr = "";
-    clientVM.invoke(new CacheSerializableRunnable("doConcurrentMapOperations") {
-      public void run2() throws CacheException {
-        Cache cache = getCache();
-        final Region pr = cache.getRegion(rName);
-        assertNotNull(rName + " not created", pr);
-        boolean isEmpty = pr.getAttributes().getDataPolicy() == DataPolicy.EMPTY;
-        
-        // test successful putIfAbsent
-        for (int i = putRange_1Start; i <= putRange_1End; i++) {
-          Object putResult = pr.putIfAbsent(Integer.toString(i),
-                                            Integer.toString(i));
-          assertNull("Expected null, but got " + putResult + " for key " + i,
-                     putResult);
-        }
-        int size;
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", putRange_1End, size);
-          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-        
-        // test unsuccessful putIfAbsent
-        for (int i = putRange_1Start; i <= putRange_1End; i++) {
-          Object putResult = pr.putIfAbsent(Integer.toString(i),
-                                            Integer.toString(i + 1));
-          assertEquals("for i=" + i, Integer.toString(i), putResult);
-          assertEquals("for i=" + i, Integer.toString(i), pr.get(Integer.toString(i)));
-        }
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", putRange_1End, size);
-          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-               
-        // test successful replace(key, oldValue, newValue)
-        for (int i = putRange_1Start; i <= putRange_1End; i++) {
-         boolean replaceSucceeded = pr.replace(Integer.toString(i),
-                                               Integer.toString(i),
-                                               "replaced" + i);
-          assertTrue("for i=" + i, replaceSucceeded);
-          assertEquals("for i=" + i, "replaced" + i, pr.get(Integer.toString(i)));
-        }
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", putRange_1End, size);
-          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-        
-        // test unsuccessful replace(key, oldValue, newValue)
-        for (int i = putRange_1Start; i <= putRange_2End; i++) {
-         boolean replaceSucceeded = pr.replace(Integer.toString(i),
-                                               Integer.toString(i), // wrong expected old value
-                                               "not" + i);
-         assertFalse("for i=" + i, replaceSucceeded);
-         assertEquals("for i=" + i,
-                      i <= putRange_1End ? "replaced" + i : null,
-                      pr.get(Integer.toString(i)));
-        }
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", putRange_1End, size);
-          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-                                    
-        // test successful replace(key, value)
-        for (int i = putRange_1Start; i <= putRange_1End; i++) {
-          Object replaceResult = pr.replace(Integer.toString(i),
-                                            "twice replaced" + i);
-          assertEquals("for i=" + i, "replaced" + i, replaceResult);
-          assertEquals("for i=" + i,
-                       "twice replaced" + i,
-                       pr.get(Integer.toString(i)));
-        }
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", putRange_1End, size);
-          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-                                    
-        // test unsuccessful replace(key, value)
-        for (int i = putRange_2Start; i <= putRange_2End; i++) {
-          Object replaceResult = pr.replace(Integer.toString(i),
-                                           "thrice replaced" + i);
-          assertNull("for i=" + i, replaceResult);
-          assertNull("for i=" + i, pr.get(Integer.toString(i)));
-        }
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", putRange_1End, size);
-          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-                                    
-        // test unsuccessful remove(key, value)
-        for (int i = putRange_1Start; i <= putRange_2End; i++) {
-          boolean removeResult = pr.remove(Integer.toString(i),
-                                           Integer.toString(-i));
-          assertFalse("for i=" + i, removeResult);
-          assertEquals("for i=" + i,
-                       i <= putRange_1End ? "twice replaced" + i : null,
-                       pr.get(Integer.toString(i)));
-        }
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", putRange_1End, size);
-          assertFalse("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-
-        // test successful remove(key, value)
-        for (int i = putRange_1Start; i <= putRange_1End; i++) {
-          boolean removeResult = pr.remove(Integer.toString(i),
-                                           "twice replaced" + i);
-          assertTrue("for i=" + i, removeResult);
-          assertEquals("for i=" + i, null, pr.get(Integer.toString(i)));
-        }
-        if (!isEmpty) {
-          size = pr.size();
-          assertEquals("Size doesn't return expected value", 0, size);
-          pr.localClear();
-          assertTrue("isEmpty doesnt return proper state of the PartitionedRegion", 
-              pr.isEmpty());
-        }
-        
-        if (!isEmpty) {
-          // bug #42169 - entry not updated on server when locally destroyed on client
-          String key42169 = "key42169";
-          pr.put(key42169, "initialValue42169");
-          pr.localDestroy(key42169);
-          boolean success = pr.replace(key42169, "initialValue42169", "newValue42169");
-          assertTrue("expected replace to succeed", success);
-          pr.destroy(key42169);
-          pr.put(key42169, "secondRound");
-          pr.localDestroy(key42169);
-          Object result = pr.putIfAbsent(key42169, null);
-          assertEquals("expected putIfAbsent to fail", result, "secondRound");
-          pr.destroy(key42169);
-        }
-        
-        if (isEmpty) {
-          String key41265 = "key41265";
-          boolean success = pr.remove(key41265, null);
-          assertFalse("expected remove to fail because key does not exist", success);
-        }
-        
-        // test null values
-        
-        // putIfAbsent with null value creates invalid entry
-        Object oldValue = pr.putIfAbsent("keyForNull", null);
-        assertNull(oldValue);
-        if (!isEmpty) {
-          assertTrue(pr.containsKey("keyForNull"));
-          assertTrue(!pr.containsValueForKey("keyForNull"));
-        }
-        
-        // replace allows null value for oldValue, meaning invalidated entry
-        assertTrue(pr.replace("keyForNull", null, "no longer invalid"));
-        
-        // replace does not allow null value for new value
-        try {
-          pr.replace("keyForNull", "no longer invalid", null);
-          fail("expected a NullPointerException");
-        } catch (NullPointerException expected) {
-        }
-        
-        // other variant of replace does not allow null value for new value
-        try {
-          pr.replace("keyForNull", null);
-          fail ("expected a NullPointerException");
-        } catch (NullPointerException expected) {
-        }
-        
-        // replace with null oldvalue matches invalidated entry
-        pr.putIfAbsent("otherKeyForNull", null);
-        int puts = ((GemFireCacheImpl)pr.getCache()).getCachePerfStats().getPuts();
-        boolean success = pr.replace("otherKeyForNull", null, "no longer invalid");
-        assertTrue(success);
-        int newputs = ((GemFireCacheImpl)pr.getCache()).getCachePerfStats().getPuts();
-        assertTrue("stats not updated properly or replace malfunctioned", newputs == puts+1);
-
-      }
-    });
-  }
-
-  /**
-   * Test for single BridgeWriter used across two regions: notify by subscription is true.
-   * For region1 the interest list is empty , for region 2 the intetest list is all keys.
-   * If an update/create is made on region1 , the client should not receive any.
-   * If the create/update is on region2 , the client should receive the update.
-   */
-  public void testSameBridgeWriterForTwoRegionHavingDifferentInterestList()
-      throws Exception
-  {
-    // start server first
-    PORT1 = initServerCache(true);
-    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
-    populateCache();
-    registerInterest();
-    server1.invoke(BridgeWriterMiscDUnitTest.class, "put");
-
-//    pause(5000 + 5000 + 10000);
-    /*final int maxWaitTime = Integer.getInteger(WAIT_PROPERTY, WAIT_DEFAULT).intValue();
-    try {
-      Thread.yield();
-       Thread.sleep(maxWaitTime);
-    }
-    catch (InterruptedException e) {
-      fail("interrupted");
-    }*/
-    verifyUpdates();
-
-  }
-
-  /**
-   * Test for single BridgeWriter used across two regions: notify by subscription is true.
-   * Both the regions have registered interest in all the keys.
-   * Now close region1 on the client.
-   * The region1 should get removed from the interest list on CCP at server.
-   * Any update on region1 on server should not get pushed to the client.
-   * Ensure that the message related is not added to the client's queue at all
-   * ( which is diferent from not receiving a callbak on the client).
-   * If an update on region2 is made on the server , then client should receive the calback
-   */
-  public void testSameBridgeWriterForTwoRegionHavingALLKEYSInterest()
-      throws Exception
-  {
-    // start server first
-    PORT1 = initServerCache(true);
-    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
-    populateCache();
-    registerInterestInBothTheRegions();
-    closeRegion1();
-    pause(6000);
-    server1.invoke(BridgeWriterMiscDUnitTest.class,
-        "verifyInterestListOnServer");
-    server1.invoke(BridgeWriterMiscDUnitTest.class, "put");
-    //pause(5000);
-    verifyUpdatesOnRegion2();
-  }
-
-  /** Test for single BridgeWriter used across two regions: notify by subscription is true.
-   * Both the regions have registered interest in all the keys.
-   * Close both the regions. When the last region is closed ,
-   * it should close the ConnectionProxy on the client ,
-   * close all the server connection threads on the server &
-   * remove the CacheClientProxy from the CacheClient notifier
-   */
-  public void testRegionCloseWithSameBridgeWriter() throws Exception
-  {
-    // start server first
-    PORT1 = initServerCache(true);
-    pool = (PoolImpl)createClientCache(getServerHostName(Host.getHost(0)),PORT1);
-    populateCache();
-    registerInterestInBothTheRegions();
-    closeBothRegions();
-    //pause(5000);
-    assertEquals(false, pool.isDestroyed());
-    pool.destroy();
-    assertEquals(true, pool.isDestroyed());
-    server1.invoke(BridgeWriterMiscDUnitTest.class,
-        "verifyNoCacheClientProxyOnServer");
-
-  }
-
-  /**
-   * Test for single BridgeWriter used across two regions: notify by
-   * subscription is true. Both the regions have registered interest in all the
-   * keys. Destroy region1 on the client. It should reach the server , kill the
-   * region on the server , propagate it to the interested clients , but it
-   * should keep CacheClient Proxy alive. Destroy Region2 . It should reach
-   * server , close conenction proxy , destroy the region2 on the server ,
-   * remove the cache client proxy from the cache client notifier & propagate it
-   * to the clients. Then create third region and verify that no
-   * CacheClientProxy is created on server
-   */
-  public void testCCPDestroyOnLastDestroyRegion() throws Exception
-  {
-    PORT1 = initServerCache(true);
-    PoolImpl pool = (PoolImpl)createClientCache(getServerHostName(Host.getHost(0)),PORT1);
-    destroyRegion1();
-    // pause(5000);
-    server1.invoke(BridgeWriterMiscDUnitTest.class,
-        "verifyCacheClientProxyOnServer", new Object[] { new String(
-            REGION_NAME1) });
-    Connection conn = pool.acquireConnection();
-    assertNotNull(conn);
-    assertEquals(1, pool.getConnectedServerCount());
-    assertEquals(false, pool.isDestroyed());
-    destroyRegion2();
-    assertEquals(false, pool.isDestroyed());
-    destroyPRRegion();
-    assertEquals(false, pool.isDestroyed());
-    pool.destroy();
-    assertEquals(true, pool.isDestroyed());
-    // pause(5000);
-    server1.invoke(BridgeWriterMiscDUnitTest.class,
-        "verifyNoCacheClientProxyOnServer");
-    try {
-      getCache().createRegion(REGION_NAME2, attrs);
-      fail("expected IllegalStateException");
-    } catch (IllegalStateException expected) {
-    }
-  }
-
-  /**
-   * Test for single BridgeWriter used across two regions:If notify by
-   * subscription is false , both the regions should receive invalidates for the
-   * updates on server in their respective regions
-   *
-   */
-  public void testInvalidatesPropagateOnTwoRegionsHavingCommonBridgeWriter()
-      throws Exception
-  {
-    // start server first
-    PORT1 = initServerCache(false);
-    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
-    registerInterestForInvalidatesInBothTheRegions();
-    populateCache();
-    server1.invoke(BridgeWriterMiscDUnitTest.class, "put");
-    //pause(5000);
-    verifyInvalidatesOnBothRegions();
-
-  }
-
-  /**
-   * Test for bug 43407, where LRU in the client caused an entry to be
-   * evicted with DESTROY(), then the client invalidated the entry and
-   * did a get().  After the get() the entry was not seen to be in the
-   * client's cache.  This turned out to be expected behavior, but we
-   * now have this test to guarantee that the product behaves as expected.
-   */
-  public void testBug43407()
-      throws Exception
-  {
-    // start server first
-    PORT1 = initServerCache(false);
-    createClientCache(getServerHostName(Host.getHost(0)), PORT1);
-    registerInterestForInvalidatesInBothTheRegions();
-    Region region = static_cache.getRegion(REGION_NAME1);
-    populateCache();
-    region.put("invalidationKey", "invalidationValue");
-    region.localDestroy("invalidationKey");
-    if (region.containsKey("invalidationKey")) {
-      fail("region still contains invalidationKey");
-    }
-    region.invalidate("invalidationKey");
-    if (region.containsKey("invalidationKey")) {
-      fail("this test expects the entry is not created on invalidate() if not there before the operation");
-    }
-    Object value = region.get("invalidationKey");
-    if (value != null) {
-      fail("this test expected a null response to get('invalidationKey')");
-    }
-    if (!region.containsKeyOnServer("invalidationKey")) {
-      fail("expected an entry on the server after invalidation");
-    }
-    // bug 43407 asserts that there should be an entry, but the product does not
-    // do this.  This verifies that the product does not behave as asserted in that bug
-    if (region.containsKey("invalidationKey")) {
-      fail("expected no entry after invalidation when entry was not in client but was on server");
-    }
-  }
-
-  /**
-   * Create cache, create bridge writer, notify-by-subscription=false,
-   * create a region and on client and on server.
-   * Do not attach Bridge writer to region ,
-   * populate some entries on region both on client and server.
-   * Update the entries on server the client.
-   * The client should not have entry invalidate.
-   *
-   * @throws Exception
-   */
-  public void testInvalidatesPropagateOnRegionHavingNoBridgeWriter()
-      throws Exception
-  {
-    // start server first
-    PORT1 = initServerCache(false);
-    Properties props = new Properties();
-    props.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    props.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    new BridgeWriterMiscDUnitTest("temp").createCache(props);
-    String host = getServerHostName(server1.getHost());
-    PoolImpl p = (PoolImpl)PoolManager.createFactory()
-      .addServer(host, PORT1)
-      .setSubscriptionEnabled(true)
-      .setThreadLocalConnections(true)
-      .setReadTimeout(1000)
-      .setSocketBufferSize(32768)
-      .setMinConnections(3)
-      .setSubscriptionRedundancy(-1)
-      .setPingInterval(2000)
-      // .setRetryAttempts(5)
-      // .setRetryInterval(2000)
-      .create("testInvalidatesPropagateOnRegionHavingNoBridgeWriter");
-
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    // factory.setPoolName(p.getName());
-
-    attrs = factory.create();
-    final Region region1 = getCache().createRegion(REGION_NAME1, attrs);
-    final Region region2 = getCache().createRegion(REGION_NAME2, attrs);
-    assertNotNull(region1);
-    assertNotNull(region2);
-    pool = p;
-    conn = pool.acquireConnection();
-    assertNotNull(conn);
-
-    populateCache();
-    server1.invoke(BridgeWriterMiscDUnitTest.class, "put");
-    // pause(5000);
-    WaitCriterion wc = new WaitCriterion() {
-      String excuse;
-      public boolean done() {
-        Object val = region1.getEntry(k1).getValue();
-        return k1.equals(val);
-      }
-      public String description() {
-        return excuse;
-      }
-    };
-    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-    
-    // assertEquals(region1.getEntry(k1).getValue(), k1);
-    wc = new WaitCriterion() {
-      String excuse;
-      public boolean done() {
-        Object val = region1.getEntry(k2).getValue();
-        return k2.equals(val);
-      }
-      public String description() {
-        return excuse;
-      }
-    };
-    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-    
-    wc = new WaitCriterion() {
-      String excuse;
-      public boolean done() {
-        Object val = region2.getEntry(k1).getValue();
-        return k1.equals(val);
-      }
-      public String description() {
-        return excuse;
-      }
-    };
-    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-    
-    // assertEquals(region1.getEntry(k2).getValue(), k2);
-    // assertEquals(region2.getEntry(k1).getValue(), k1);
-    wc = new WaitCriterion() {
-      String excuse;
-      public boolean done() {
-        Object val = region2.getEntry(k2).getValue();
-        return k2.equals(val);
-      }
-      public String description() {
-        return excuse;
-      }
-    };
-    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-    
-    // assertEquals(region2.getEntry(k2).getValue(), k2);
-  }
-
-  /**
-   * Create proxy before cache creation, create cache, create two regions,
-   * attach same bridge writer to both of the regions Region interests AL_KEYS
-   * on both the regions, notify-by-subscription=true . The CCP should have both
-   * the regions in interest list.
-   *
-   * @throws Exception
-   */
-
-  public void testProxyCreationBeforeCacheCreation() throws Exception
-  {
-    Properties props = new Properties();
-    props.setProperty("mcast-port", "0");
-    props.setProperty("locators", "");
-    DistributedSystem ds = getSystem(props);
-    assertNotNull(ds);
-    ds.disconnect();
-    ds = getSystem(props);
-    PORT1 = initServerCache(true);
-    String host = getServerHostName(server1.getHost());
-    Pool p = PoolManager.createFactory()
-      .addServer(host, PORT1)
-      .setSubscriptionEnabled(true)
-      .setSubscriptionRedundancy(-1)
-      // .setRetryAttempts(5)
-      .create("testProxyCreationBeforeCacheCreationPool");
-
-    Cache cache = getCache();
-    assertNotNull(cache);
-
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setPoolName(p.getName());
-
-    RegionAttributes myAttrs = factory.create();
-    Region region1 = cache.createRegion(REGION_NAME1, myAttrs);
-    Region region2 = cache.createRegion(REGION_NAME2, myAttrs);
-    assertNotNull(region1);
-    assertNotNull(region2);
-    //region1.registerInterest(CacheClientProxy.ALL_KEYS);
-    region2.registerInterest("ALL_KEYS");
-    pause(6000);
-    server1.invoke(BridgeWriterMiscDUnitTest.class,
-        "verifyInterestListOnServer");
-
-  }
-  /**
-   * 
-   * Cycling a DistributedSystem with an initialized BridgeWriter causes interest registration NPE
-   * 
-   * Test Scenario:
-   *  
-   * Create a DistributedSystem (DS1). 
-   * Create a BridgeWriter (BW), initialize (creates a proxy with DS1 memberid) 
-   * Disconnect DS1.  Create a DistributedSystem (DS2). 
-   * Create a Region with BW, it attempts to register interest using DS2 memberid, gets NPE.
-   *  
-   * @throws Exception
-   */
-  public void testBug35380() throws Exception
-  {
-    Properties props = new Properties();
-    props.setProperty("mcast-port", "0");
-    props.setProperty("locators", "");
-    DistributedSystem ds = getSystem(props);
-    assertNotNull(ds);
-    
-    PORT1 = initServerCache(true);
-    String host = getServerHostName(server1.getHost());
-    Pool p = PoolManager.createFactory()
-      .addServer(host, PORT1)
-      .setSubscriptionEnabled(true)
-      .setSubscriptionRedundancy(-1)
-      //.setRetryAttempts(5)
-      .create("testBug35380Pool");
-
-    Cache cache = getCache();
-
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setPoolName(p.getName());
-
-    RegionAttributes myAttrs = factory.create();
-    Region region1 = cache.createRegion(REGION_NAME1, myAttrs);
-    Region region2 = cache.createRegion(REGION_NAME2, myAttrs);
-    assertNotNull(region1);
-    assertNotNull(region2);
-    
-    region2.registerInterest("ALL_KEYS");
-    
-    ds.disconnect();
-    Properties prop = new Properties();
-    prop.setProperty("mcast-port", "0");
-    prop.setProperty("locators", "");
-    ds = getSystem(prop);
-    
-    cache = getCache();
-    assertNotNull(cache);
-
-    AttributesFactory factory1 = new AttributesFactory();
-    factory1.setScope(Scope.DISTRIBUTED_ACK);
-    //reuse writer from prev DS
-    factory1.setPoolName(p.getName());
-
-    RegionAttributes attrs1 = factory1.create();
-    try {
-      cache.createRegion(REGION_NAME1, attrs1);
-      fail("expected ShutdownException");
-    }
-    catch(IllegalStateException expected) {
-    }
-    catch (BridgeWriterException expected) {
-    }
-    catch (DistributedSystemDisconnectedException expected) {
-    } 
-  }
-  
-
-  private void createCache(Properties props) throws Exception {
-    createCacheV(props);
-  }
-  private Cache createCacheV(Properties props) throws Exception
-  {
-    DistributedSystem ds = getSystem(props);
-    assertNotNull(ds);
-    ds.disconnect();
-    ds = getSystem(props);
-    Cache cache = getCache();
-    assertNotNull(cache);
-    return cache;
-  }
-
-  public static void createClientCacheV(String h, int port)
-  throws Exception {
-    _createClientCache(h, port, false);
-  }
-
-  public static void createEmptyClientCache(String h, int port)
-  throws Exception {
-    _createClientCache(h, port, true);
-  }
-
-  public static Pool createClientCache(String h, int port)
-  throws Exception  {
-    return _createClientCache(h, port, false);
-  }
-  
-  public static Pool _createClientCache(String h, int port, boolean empty)
-  throws Exception  {
-    Properties props = new Properties();
-    props.setProperty("mcast-port", "0");
-    props.setProperty("locators", "");
-    Cache cache = new BridgeWriterMiscDUnitTest("temp").createCacheV(props);
-    BridgeWriterMiscDUnitTest.static_cache = cache;
-    PoolImpl p = (PoolImpl)PoolManager.createFactory()
-      .addServer(h, port)
-      .setSubscriptionEnabled(true)
-      .setThreadLocalConnections(true)
-      .setReadTimeout(1000)
-      .setSocketBufferSize(32768)
-      .setMinConnections(3)
-      .setSubscriptionRedundancy(-1)
-      .setPingInterval(2000)
-      // .setRetryAttempts(5)
-      // .setRetryInterval(2000)
-      .create("BridgeWriterMiscDUnitTestPool");
-
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    if (empty) {
-      factory.setDataPolicy(DataPolicy.EMPTY);
-    }
-    factory.setPoolName(p.getName());
-
-    attrs = factory.create();
-    Region region1 = cache.createRegion(REGION_NAME1, attrs);
-    Region region2 = cache.createRegion(REGION_NAME2, attrs);
-    Region prRegion = cache.createRegion(PR_REGION_NAME, attrs);
-    assertNotNull(region1);
-    assertNotNull(region2);
-    assertNotNull(prRegion);
-    pool = p;
-//    conn = pool.acquireConnection();
-//    assertNotNull(conn);
-    // TODO does this WaitCriterion actually help?
-    WaitCriterion wc = new WaitCriterion() {
-      String excuse;
-      public boolean done() {
-        try {
-          conn = pool.acquireConnection();
-          if (conn == null) {
-            excuse = "acquireConnection returned null?";
-            return false;
-          }
-          return true;
-        } catch (NoAvailableServersException e) {
-          excuse = "Cannot find a server: " + e;
-          return false;
-        }
-      }
-      public String description() {
-        return excuse;
-      }
-    };
-    DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-    
-    return p;
-  }
-
-  public static Integer createServerCache(Boolean notifyBySubscription, Integer maxThreads)
-  throws Exception {
-    Cache cache = new BridgeWriterMiscDUnitTest("temp").createCacheV(new Properties());
-    unsetSlowDispatcherFlag();
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.DISTRIBUTED_ACK);
-    factory.setEnableConflation(true);
-    factory.setDataPolicy(DataPolicy.REPLICATE);
-    RegionAttributes myAttrs = factory.create();
-    Region r1 = cache.createRegion(REGION_NAME1, myAttrs);
-    Region r2 = cache.createRegion(REGION_NAME2, myAttrs);
-    factory = new AttributesFactory();
-    factory.setDataPolicy(DataPolicy.PARTITION);
-    RegionAttributes prAttrs = factory.create();
-    Region pr = cache.createRegion(PR_REGION_NAME, prAttrs);
-    assertNotNull(r1);
-    assertNotNull(r2);
-    assertNotNull(pr);
-
-    BridgeServer server = cache.addBridgeServer();
-    int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    r1.getCache().getDistributedSystem().getLogWriter().info("Starting server on port " + port);
-    server.setPort(port);
-    server.setMaxThreads(maxThreads.intValue());
-    server.setNotifyBySubscription(notifyBySubscription.booleanValue());
-    server.start();
-    r1.getCache().getDistributedSystem().getLogWriter().info("Started server on port " + server.getPort());
-    return new Integer(server.getPort());
-
-  }
-
-  protected int getMaxThreads() {
-    return 0; 
-  }
-
-  public static void registerInterest()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r);
-      //r.registerInterestRegex(CacheClientProxy.ALL_KEYS);
-      r.registerInterest("ALL_KEYS");
-    }
-    catch (CacheWriterException e) {
-      e.printStackTrace();
-      fail("Test failed due to CacheWriterException during registerInterest", e);
-    }
-  }
-
-  public static void registerInterestForInvalidatesInBothTheRegions()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      assertNotNull(r1);
-      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r2);
-      r1.registerInterest("ALL_KEYS", false, false);
-      r2.registerInterest("ALL_KEYS", false, false);
-    }
-    catch (CacheWriterException e) {
-      e.printStackTrace();
-      fail(
-          "Test failed due to CacheWriterException during registerInterestnBothRegions",
-          e);
-    }
-  }
-
-  public static void registerInterestInBothTheRegions()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      assertNotNull(r1);
-      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r2);
-      r1.registerInterest("ALL_KEYS");
-      r2.registerInterest("ALL_KEYS");
-    }
-    catch (CacheWriterException e) {
-      e.printStackTrace();
-      fail(
-          "Test failed due to CacheWriterException during registerInterestnBothRegions",
-          e);
-    }
-  }
-
-  public static void closeRegion1()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      assertNotNull(r1);
-      r1.close();
-    }
-    catch (Exception e) {
-      e.printStackTrace();
-      fail("Test failed due to Exception during closeRegion1", e);
-    }
-  }
-
-  public static void closeBothRegions()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      Region pr = cache.getRegion(Region.SEPARATOR + PR_REGION_NAME);
-      assertNotNull(r1);
-      assertNotNull(r2);
-      assertNotNull(pr);
-      r1.close();
-      r2.close();
-      pr.close();
-    }
-    catch (Exception e) {
-      e.printStackTrace();
-      fail("Test failed due to Exception during closeBothRegions", e);
-    }
-  }
-
-  public static void destroyRegion1()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      assertNotNull(r1);
-      r1.destroyRegion();
-    }
-    catch (Exception e) {
-      e.printStackTrace();
-      fail("Test failed due to Exception during closeBothRegions", e);
-    }
-  }
-
-  public static void destroyRegion2()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r2);
-      r2.destroyRegion();
-    }
-    catch (Exception e) {
-      e.printStackTrace();
-      fail("Test failed due to Exception during closeBothRegions", e);
-    }
-  }
-
-  public static void destroyPRRegion()  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r2 = cache.getRegion(Region.SEPARATOR + PR_REGION_NAME);
-      assertNotNull(r2);
-      r2.destroyRegion();
-    } catch (Exception e) {
-     // e.printStackTrace();
-      fail("Test failed due to Exception during closeBothRegions", e);
-    }
-  }
-
-  public static void verifyInterestListOnServer()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      assertEquals("More than one BridgeServer", 1, cache.getBridgeServers()
-          .size());
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
-          .iterator().next();
-      assertNotNull(bs);
-      assertNotNull(bs.getAcceptor());
-      assertNotNull(bs.getAcceptor().getCacheClientNotifier());
-      Iterator iter_prox = bs.getAcceptor().getCacheClientNotifier()
-          .getClientProxies().iterator();
-      while (iter_prox.hasNext()) {
-        CacheClientProxy ccp = (CacheClientProxy)iter_prox.next();
-        // CCP should not contain region1
-        Set akr = ccp.cils[RegisterInterestTracker.interestListIndex].regions;
-        assertNotNull(akr);
-        assertTrue(!akr.contains(Region.SEPARATOR + REGION_NAME1));
-        // CCP should contain region2
-        assertTrue(akr.contains(Region.SEPARATOR + REGION_NAME2));
-        assertEquals(1, akr.size());
-      }
-    }
-    catch (Exception ex) {
-      ex.printStackTrace();
-      fail("while setting verifyInterestListOnServer  " + ex);
-    }
-  }
-
-  public static void verifyNoCacheClientProxyOnServer()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      assertEquals("More than one BridgeServer", 1, cache.getBridgeServers()
-          .size());
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
-          .iterator().next();
-      assertNotNull(bs);
-      assertNotNull(bs.getAcceptor());
-      final CacheClientNotifier ccn = bs.getAcceptor().getCacheClientNotifier();
-
-      assertNotNull(ccn);
-      WaitCriterion wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          return ccn.getClientProxies().size() == 0;
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 40 * 1000, 1000, true);
-    }
-    catch (Exception ex) {
-      ex.printStackTrace();
-      fail("while setting verifyNoCacheClientProxyOnServer  " + ex);
-    }
-  }
-
-  public static void verifyCacheClientProxyOnServer(String regionName)
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      assertNull(cache.getRegion(Region.SEPARATOR + regionName));
-       verifyCacheClientProxyOnServer();
-
-      //assertEquals(1, bs.getAcceptor().getCacheClientNotifier().getClientProxies().size());
-    }
-    catch (Exception ex) {
-      ex.printStackTrace();
-      fail("while setting verifyNoCacheClientProxyOnServer  " + ex);
-    }
-  }
-
-  public static void verifyCacheClientProxyOnServer()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      assertEquals("More than one BridgeServer", 1, cache.getBridgeServers()
-          .size());
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
-          .iterator().next();
-      assertNotNull(bs);
-      assertNotNull(bs.getAcceptor());
-      final CacheClientNotifier ccn = bs.getAcceptor().getCacheClientNotifier();
-
-      assertNotNull(ccn);
-      WaitCriterion wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          return ccn.getClientProxies().size() == 1;
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 40 * 1000, 1000, true);
-    }
-    catch (Exception ex) {
-      ex.printStackTrace();
-      fail("while setting verifyNoCacheClientProxyOnServer  " + ex);
-    }
-  }
-
-  public static void populateCache()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r1);
-      assertNotNull(r2);
-
-      if (!r1.containsKey(k1))
-        r1.create(k1, k1);
-      if (!r1.containsKey(k2))
-        r1.create(k2, k2);
-      if (!r2.containsKey(k1))
-        r2.create(k1, k1);
-      if (!r2.containsKey(k2))
-        r2.create(k2, k2);
-
-      assertEquals(r1.getEntry(k1).getValue(), k1);
-      assertEquals(r1.getEntry(k2).getValue(), k2);
-      assertEquals(r2.getEntry(k1).getValue(), k1);
-      assertEquals(r2.getEntry(k2).getValue(), k2);
-    }
-    catch (Exception ex) {
-      fail("failed while createEntries()", ex);
-    }
-  }
-
-  public static void put()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r1);
-      assertNotNull(r2);
-
-      r1.put(k1, server_k1);
-      r1.put(k2, server_k2);
-
-      r2.put(k1, server_k1);
-      r2.put(k2, server_k2);
-
-      assertEquals(r1.getEntry(k1).getValue(), server_k1);
-      assertEquals(r1.getEntry(k2).getValue(), server_k2);
-      assertEquals(r2.getEntry(k1).getValue(), server_k1);
-      assertEquals(r2.getEntry(k2).getValue(), server_k2);
-    }
-    catch (Exception ex) {
-      fail("failed while put()", ex);
-    }
-  }
-
-  public static void verifyUpdates()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      final Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      final Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r1);
-      assertNotNull(r2);
-      // verify updates
-      WaitCriterion wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r1.getEntry(k1).getValue();
-          return k1.equals(val);
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-      
-      // assertEquals(k1, r1.getEntry(k1).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r1.getEntry(k2).getValue();
-          return k2.equals(val);
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-      
-      // assertEquals(k2, r1.getEntry(k2).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r2.getEntry(k1).getValue();
-          return server_k1.equals(val);
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-      
-      // assertEquals(server_k1, r2.getEntry(k1).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r2.getEntry(k2).getValue();
-          return server_k2.equals(val);
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-      
-      // assertEquals(server_k2, r2.getEntry(k2).getValue());
-    }
-    catch (Exception ex) {
-      fail("failed while verifyUpdates()", ex);
-    }
-  }
-
-  public static void verifyInvalidatesOnBothRegions()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      final Region r1 = cache.getRegion(Region.SEPARATOR + REGION_NAME1);
-      final Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r1);
-      assertNotNull(r2);
-      
-      WaitCriterion wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r1.getEntry(k1).getValue();
-          return val == null;
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
-      
-      // assertNull(r1.getEntry(k1).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r1.getEntry(k1).getValue();
-          return val == null;
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
-      
-      // assertNull(r1.getEntry(k2).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r1.getEntry(k2).getValue();
-          return val == null;
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
-      
-
-      // assertNull(r2.getEntry(k1).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r2.getEntry(k1).getValue();
-          return val == null;
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
-      
-      // assertNull(r2.getEntry(k2).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r2.getEntry(k2).getValue();
-          return val == null;
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 90 * 1000, 1000, true);
-    }
-    catch (Exception ex) {
-      fail("failed while verifyInvalidatesOnBothRegions()", ex);
-    }
-  }
-
-  public static void verifyUpdatesOnRegion2()
-  {
-    try {
-      Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-      final Region r2 = cache.getRegion(Region.SEPARATOR + REGION_NAME2);
-      assertNotNull(r2);
-      WaitCriterion wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r2.getEntry(k1).getValue();
-          return server_k1.equals(val);
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-      
-      // assertEquals(server_k1, r2.getEntry(k1).getValue());
-      wc = new WaitCriterion() {
-        String excuse;
-        public boolean done() {
-          Object val = r2.getEntry(k2).getValue();
-          return server_k2.equals(val);
-        }
-        public String description() {
-          return excuse;
-        }
-      };
-      DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
-      
-      // assertEquals(server_k2, r2.getEntry(k2).getValue());
-    }
-    catch (Exception ex) {
-      fail("failed while verifyUpdatesOnRegion2()", ex);
-    }
-  }
-
-  public void tearDown2() throws Exception
-  {
-    super.tearDown2();
-    // close the clients first
-    closeCache();
-    // then close the servers
-    server1.invoke(BridgeWriterMiscDUnitTest.class, "closeCache");
-
-  }
-
-  public static void closeCache()
-  {
-    Cache cache = new BridgeWriterMiscDUnitTest("temp").getCache();
-    if (cache != null && !cache.isClosed()) {
-      cache.close();
-      cache.getDistributedSystem().disconnect();
-    }
-  }
-
-  /**
-   * set the boolean for starting the dispatcher thread a bit later to FALSE.
-   * This is just a precaution in case any test set it to true and did not unset
-   * it on completion.
-   *
-   */
-  public static void unsetSlowDispatcherFlag()
-  {
-    CacheClientProxy.isSlowStartForTesting = false;
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscSelectorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscSelectorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscSelectorDUnitTest.java
deleted file mode 100644
index 01bc903..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/BridgeWriterMiscSelectorDUnitTest.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.tier.sockets;
-
-
-/**
- * Just like BridgeWriterMiscDUnitTest but enables bridge thread pool
- * (ie. selector)
- *
- * @author darrel
- *
- */
-public class BridgeWriterMiscSelectorDUnitTest extends BridgeWriterMiscDUnitTest
-{
-  public BridgeWriterMiscSelectorDUnitTest(String name) {
-    super(name);
-  }
-
-  protected int getMaxThreads() {
-    return 2; 
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36269DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36269DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36269DUnitTest.java
index 2a159bf..0c20400 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36269DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36269DUnitTest.java
@@ -19,7 +19,7 @@ import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
@@ -160,7 +160,7 @@ public class Bug36269DUnitTest extends DistributedTestCase
     factory.setScope(Scope.DISTRIBUTED_ACK);
     factory.setMirrorType(MirrorType.KEYS_VALUES);
     cache.createRegion(REGION_NAME, factory.create());
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     assertNotNull(server);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36457DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36457DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36457DUnitTest.java
index 5ffd2b7..f1a149e 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36457DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36457DUnitTest.java
@@ -21,13 +21,13 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -121,7 +121,7 @@ public class Bug36457DUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(regionName, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.start();
@@ -159,7 +159,7 @@ public class Bug36457DUnitTest extends DistributedTestCase
         getServerHostName(server1.getHost()), port1, port2 });
     //set a cllabck so that we come to know that whether a failover is called or not
     // if failover is called means this bug is present.
-    client2.invoke(Bug36457DUnitTest.class, "setBridgeObserver");
+    client2.invoke(Bug36457DUnitTest.class, "setClientServerObserver");
     client1.invoke(Bug36457DUnitTest.class, "destroyRegion");
     isFaileoverHappened = ((Boolean)client2.invoke(Bug36457DUnitTest.class,
         "isFaileoverHappened")).booleanValue();
@@ -173,11 +173,11 @@ public class Bug36457DUnitTest extends DistributedTestCase
     return new Boolean(isFaileoverHappened);
   }
 
-  public static void setBridgeObserver()
+  public static void setClientServerObserver()
   {
     PoolImpl.AFTER_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = true;
-    BridgeObserverHolder
-        .setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder
+        .setInstance(new ClientServerObserverAdapter() {
           public void afterPrimaryIdentificationFromBackup(ServerLocation primaryEndpoint)
           {
             getLogWriter().fine("TEST FAILED HERE YOGI ");
@@ -186,7 +186,7 @@ public class Bug36457DUnitTest extends DistributedTestCase
         });
   }
 
-  public static void unSetBridgeObserver()
+  public static void unSetClientServerObserver()
   {
     PoolImpl.AFTER_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = false;
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36805DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36805DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36805DUnitTest.java
index 88cd873..d149094 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36805DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36805DUnitTest.java
@@ -21,7 +21,7 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.ServerOperationException;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -115,7 +115,7 @@ public class Bug36805DUnitTest extends DistributedTestCase
     new Bug36805DUnitTest("temp").createCache(new Properties());
    // no region is created on server 
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.start();
@@ -154,7 +154,7 @@ public class Bug36805DUnitTest extends DistributedTestCase
     // set a cllabck so that we come to know that whether a failover is called
     // or not
     // if failover is called means this bug is present.
-    // client2.invoke(Bug36805DUnitTest.class, "setBridgeObserver");
+    // client2.invoke(Bug36805DUnitTest.class, "setClientServerObserver");
     client1.invoke(Bug36805DUnitTest.class, "registerInterest"); // register
                                                                   // interest
                                                                   // shoud not

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36995DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36995DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36995DUnitTest.java
index 0ede87a..e858dce 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36995DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug36995DUnitTest.java
@@ -14,7 +14,7 @@ import com.gemstone.gemfire.cache.AttributesFactory;
 import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -121,7 +121,7 @@ public class Bug36995DUnitTest extends DistributedTestCase
     new Bug36995DUnitTest("temp").createCache(new Properties());
     // no region is created on server 
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.start();
     return new Integer(server1.getPort());
@@ -180,9 +180,6 @@ public class Bug36995DUnitTest extends DistributedTestCase
 
   /**
    * BugTest for 36526 : 
-   * getActiveServers() and getDeadServers() on BridgeLoader and BridgeWriter returns a Set of endpoint names.  
-   * Endpoints are stored internally as a list and allow duplicate logical names.  
-   * If any duplicates, getActiveServers() will omit them.
    */
   public void testBug36526()
   {
@@ -202,9 +199,9 @@ public class Bug36995DUnitTest extends DistributedTestCase
   public static void stopServer()
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
+      Iterator iter = cache.getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         server.stop();
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug37210DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug37210DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug37210DUnitTest.java
index 6800456..fd83e2b 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug37210DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/Bug37210DUnitTest.java
@@ -18,11 +18,11 @@ import com.gemstone.gemfire.cache.DataPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.ha.HARegionQueue;
 import com.gemstone.gemfire.cache.client.*;
 
@@ -166,7 +166,7 @@ public class Bug37210DUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
 
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
     server.setNotifyBySubscription(false);
@@ -223,8 +223,8 @@ public class Bug37210DUnitTest extends DistributedTestCase
   public static void closeCacheClientProxyAndVerifyStats()
   {
     assertEquals("More than one BridgeServers found ", 1, cache
-        .getBridgeServers().size());
-    BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers().iterator()
+        .getCacheServers().size());
+    CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers().iterator()
         .next();
     assertNotNull(bs);
     assertNotNull(bs.getAcceptor());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerMaxConnectionsJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerMaxConnectionsJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerMaxConnectionsJUnitTest.java
new file mode 100644
index 0000000..ba21c39
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerMaxConnectionsJUnitTest.java
@@ -0,0 +1,220 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache.tier.sockets;
+
+import java.util.Properties;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.experimental.categories.Category;
+
+import static org.junit.Assert.*;
+import junit.framework.TestCase;
+
+import com.gemstone.gemfire.Statistics;
+import com.gemstone.gemfire.StatisticsType;
+import com.gemstone.gemfire.cache.AttributesFactory;
+import com.gemstone.gemfire.cache.Cache;
+import com.gemstone.gemfire.cache.CacheFactory;
+import com.gemstone.gemfire.cache.RegionAttributes;
+import com.gemstone.gemfire.cache.Scope;
+import com.gemstone.gemfire.cache.client.*;
+import com.gemstone.gemfire.cache.client.internal.PoolImpl;
+import com.gemstone.gemfire.cache.client.internal.Connection;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.distributed.DistributedSystem;
+import com.gemstone.gemfire.internal.AvailablePort;
+import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
+
+import dunit.DistributedTestCase;
+import dunit.DistributedTestCase.WaitCriterion;
+
+/**
+ * Make sure max-connections on cache server is enforced
+ *
+ * @author darrel
+ *
+ */
+@Category(IntegrationTest.class)
+public class CacheServerMaxConnectionsJUnitTest
+
+{
+
+  /** connection proxy object for the client */
+  PoolImpl proxy = null;
+
+  /** the distributed system instance for the test */
+  DistributedSystem system;
+
+  /** the cache instance for the test */
+  Cache cache;
+
+  /** name of the region created */
+  final String regionName = "region1";
+
+  private static int PORT;
+
+  /**
+   * Close the cache and disconnects from the distributed system
+   *
+   * @exception -
+   *              thrown if any exception occured in closing cache/ds
+   */
+  @After
+  public void tearDown() throws Exception
+
+  {
+    this.cache.close();
+    this.system.disconnect();
+  }
+
+  /**
+   * Default to 0; override in sub tests to add thread pool
+   */
+  protected int getMaxThreads() {
+    return 0;
+  }
+
+  /**
+   * Initializes proxy object and creates region for client
+   *
+   */
+  private void createProxyAndRegionForClient()
+  {
+    try {
+      //props.setProperty("retryAttempts", "0");
+      PoolFactory pf = PoolManager.createFactory();
+      pf.addServer("localhost", PORT);
+      pf.setMinConnections(0);
+      pf.setPingInterval(10000);
+      pf.setThreadLocalConnections(true);
+      pf.setReadTimeout(2000);
+      pf.setSocketBufferSize(32768);
+      proxy = (PoolImpl)pf.create("junitPool");
+      AttributesFactory factory = new AttributesFactory();
+      factory.setScope(Scope.DISTRIBUTED_ACK);
+      factory.setPoolName("junitPool");
+      RegionAttributes attrs = factory.createRegionAttributes();
+      cache.createVMRegion(regionName, attrs);
+    }
+    catch (Exception ex) {
+      ex.printStackTrace();
+      fail("Failed to initialize client");
+    }
+  }
+
+  private final static int MAX_CNXS = 100;
+
+  /**
+   * Creates and starts the server instance
+   *
+   */
+  private int createServer()
+  {
+    CacheServer server = null;
+    try {
+      Properties p = new Properties();
+      // make it a loner
+      p.put("mcast-port", "0");
+      p.put("locators", "");
+      this.system = DistributedSystem.connect(p);
+      this.cache = CacheFactory.create(system);
+      server = this.cache.addCacheServer();
+      int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
+      server.setMaxConnections(MAX_CNXS);
+      server.setMaxThreads(getMaxThreads());
+      server.setPort(port);
+      server.start();
+    }
+    catch (Exception e) {
+      e.printStackTrace();
+      fail("Failed to create server");
+    }
+    return server.getPort();
+  }
+
+  /**
+   * This test performs the following:<br>
+   * 1)create server<br>
+   * 2)initialize proxy object and create region for client<br>
+   * 3)perform a PUT on client by acquiring Connection through proxy<br>
+   * 4)stop server monitor threads in client to ensure that server treats this
+   * as dead client <br>
+   * 5)wait for some time to allow server to clean up the dead client artifacts<br>
+   * 6)again perform a PUT on client through same Connection and verify after
+   * the put that the Connection object used was new one.
+   */
+  @Test
+  public void testMaxCnxLimit() throws Exception
+  {
+    PORT = createServer();
+    createProxyAndRegionForClient();
+    StatisticsType st = this.system.findType("CacheServerStats");
+    final Statistics s = this.system.findStatisticsByType(st)[0];
+    assertEquals(0, s.getInt("currentClients"));
+    assertEquals(0, s.getInt("currentClientConnections"));
+    Connection[] cnxs = new Connection[MAX_CNXS];
+    for (int i=0; i < MAX_CNXS; i++) {
+      cnxs[i] = proxy.acquireConnection();
+      this.system.getLogWriter().info("acquired connection[" + i + "]=" + cnxs[i]);
+    }
+    WaitCriterion ev = new WaitCriterion() {
+      public boolean done() {
+        return s.getInt("currentClientConnections") == MAX_CNXS;
+      }
+      public String description() {
+        return null;
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 1000, 200, true);
+    assertEquals(MAX_CNXS, s.getInt("currentClientConnections"));
+    assertEquals(1, s.getInt("currentClients"));
+    this.system.getLogWriter().info("<ExpectedException action=add>" 
+        + "exceeded max-connections" + "</ExpectedException>");
+    try {
+      Connection cnx = proxy.acquireConnection();
+      if (cnx != null) {
+        fail("should not have been able to connect more than " + MAX_CNXS + " times but was able to connect " + s.getInt("currentClientConnections") + " times. Last connection=" + cnx);
+      }
+      this.system.getLogWriter().info("acquire connection returned null which is ok");
+    }
+    catch (NoAvailableServersException expected) {
+      // This is expected but due to race conditions in server handshake
+      // we may get null back from acquireConnection instead.
+      this.system.getLogWriter().info("received expected " + expected.getMessage());
+    }
+    catch (Exception ex) {
+      fail("expected acquireConnection to throw NoAvailableServersException but instead it threw " + ex);
+    }
+    finally {
+      this.system.getLogWriter().info("<ExpectedException action=remove>" 
+          + "exceeded max-connections" + "</ExpectedException>");
+    }
+
+    // now lets see what happens we we close our connections
+    for (int i=0; i < MAX_CNXS; i++) {
+      cnxs[i].close(false);
+    }
+    ev = new WaitCriterion() {
+      public boolean done() {
+        return s.getInt("currentClients") == 0;
+      }
+      public String description() {
+        return null;
+      }
+    };
+    DistributedTestCase.waitForCriterion(ev, 3 * 1000, 200, true);
+    this.system.getLogWriter().info("currentClients="
+        + s.getInt("currentClients")
+        + " currentClientConnections="
+        + s.getInt("currentClientConnections"));
+    assertEquals(0, s.getInt("currentClientConnections"));
+    assertEquals(0, s.getInt("currentClients"));
+  }
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerSelectorMaxConnectionsJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerSelectorMaxConnectionsJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerSelectorMaxConnectionsJUnitTest.java
new file mode 100644
index 0000000..7c8f84b
--- /dev/null
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/CacheServerSelectorMaxConnectionsJUnitTest.java
@@ -0,0 +1,19 @@
+package com.gemstone.gemfire.internal.cache.tier.sockets;
+
+import org.junit.experimental.categories.Category;
+
+import com.gemstone.gemfire.test.junit.categories.IntegrationTest;
+
+/**
+ * Just like its parent but enables the server thread pool (aka selector).
+ * 
+ * @author darrel
+ * 
+ */
+@Category(IntegrationTest.class)
+public class CacheServerSelectorMaxConnectionsJUnitTest extends CacheServerMaxConnectionsJUnitTest
+{
+  protected int getMaxThreads() {
+    return 2; 
+  }
+}


[09/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipDUnitTest.java
deleted file mode 100644
index ca7a439..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipDUnitTest.java
+++ /dev/null
@@ -1,1642 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-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 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;
-import com.gemstone.gemfire.cache.CacheException;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.client.ClientCache;
-import com.gemstone.gemfire.cache.client.Pool;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.util.BridgeMembership;
-import com.gemstone.gemfire.cache.util.BridgeMembershipEvent;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListener;
-import com.gemstone.gemfire.distributed.DistributedMember;
-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.cache.tier.InternalBridgeMembership;
-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 dunit.DistributedTestCase;
-import dunit.Host;
-import dunit.SerializableRunnable;
-import dunit.VM;
-import dunit.DistributedTestCase.WaitCriterion;
-
-/**
- * Tests the BridgeMembership API including BridgeMembershipListener.
- *
- * @author Kirk Lund
- * @since 4.2.1
- */
-public class BridgeMembershipDUnitTest extends BridgeTestCase {
-
-  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;
-    
-  public BridgeMembershipDUnitTest(String name) {
-    super(name);
-  }
-
-  public void setUp() throws Exception {
-    super.setUp();
-    getSystem();
-  }
-  
-  public void tearDown2() throws Exception {
-    super.tearDown2();
-    InternalBridgeMembership.unregisterAllListeners();
-  }
-
-  private void waitForAcceptsInProgressToBe(final int target)
-    throws Exception {
-    WaitCriterion ev = new WaitCriterion() {
-      String excuse;
-      public boolean done() {
-        int actual = getAcceptsInProgress();
-        if (actual == getAcceptsInProgress()) {
-          return true;
-        }
-        excuse = "accepts in progress (" + actual + ") never became " + target;
-        return false;
-      }
-      public String description() {
-        return excuse;
-      }
-    };
-    DistributedTestCase.waitForCriterion(ev, 60 * 1000, 200, true);
-  }
-  
-  protected int getAcceptsInProgress() {
-    StatisticsType st = InternalDistributedSystem.getAnyInstance().findType("CacheServerStats");
-    Statistics[] s = InternalDistributedSystem.getAnyInstance().findStatisticsByType(st);
-    return s[0].getInt("acceptsInProgress");
-  }
-
-  protected static Socket meanSocket;
-
-  /** test that a server times out waiting for a handshake that
-      never arrives. 
-   */
-  public void testConnectionTimeout() throws Exception {
-    addExpectedException("failed accepting client connection");
-    final Host host = Host.getHost(0);
-    final String hostName = getServerHostName(host);
-    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
-          getLogWriter().info("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);
-          }
-        }
-      };
-      SerializableRunnable closeMeanSocket = new CacheSerializableRunnable("close mean socket") {
-        public void run2() throws CacheException {
-          getLogWriter().info("closing mean socket");
-          try {
-            meanSocket.close();
-          }
-          catch (IOException ignore) {
-          }
-        }
-      };
-
-      assertEquals(0, getAcceptsInProgress());
-      
-      getLogWriter().info("creating mean socket");
-      vm0.invoke(createMeanSocket);
-      try {
-        getLogWriter().info("waiting to see it connect on server");
-        waitForAcceptsInProgressToBe(1);
-      } finally {
-        getLogWriter().info("closing mean socket");
-        vm0.invoke(closeMeanSocket);
-      }
-      getLogWriter().info("waiting to see accept to go away on server");
-      waitForAcceptsInProgressToBe(0);
-
-      // now try it without a close. Server should timeout the mean connect
-      getLogWriter().info("creating mean socket 2");
-      vm0.invoke(createMeanSocket);
-      try {
-        getLogWriter().info("waiting to see it connect on server 2");
-        waitForAcceptsInProgressToBe(1);
-        getLogWriter().info("waiting to see accept to go away on server without us closing");
-        waitForAcceptsInProgressToBe(0);
-      } finally {
-        getLogWriter().info("closing mean socket 2");
-        vm0.invoke(closeMeanSocket);
-      }
-
-//       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 {
-      System.getProperties().remove(AcceptorImpl.ACCEPT_TIMEOUT_PROPERTY_NAME);
-    }
-  }
-
-  public void testSynchronousEvents() throws Exception {
-    InternalBridgeMembership.setForceSynchronous(true);
-    try {
-      doTestBasicEvents();
-    }
-    finally {
-      InternalBridgeMembership.setForceSynchronous(false);
-    }
-  }
-  
-  /**
-   * Tests event notification methods on BridgeMembership.
-   */
-  public void testBasicEvents() throws Exception {
-    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];
-    
-    BridgeMembershipListener listener = new BridgeMembershipListener() {
-      public synchronized void memberJoined(BridgeMembershipEvent event) {
-        fired[JOINED] = true;
-        member[JOINED] = event.getMember();
-        memberId[JOINED] = event.getMemberId();
-        isClient[JOINED] = event.isClient();
-        notify();
-      }
-      public synchronized void memberLeft(BridgeMembershipEvent event) {
-        fired[LEFT] = true;
-        member[LEFT] = event.getMember();
-        memberId[LEFT] = event.getMemberId();
-        isClient[LEFT] = event.isClient();
-        notify();
-      }
-      public synchronized void memberCrashed(BridgeMembershipEvent event) {
-        fired[CRASHED] = true;
-        member[CRASHED] = event.getMember();
-        memberId[CRASHED] = event.getMemberId();
-        isClient[CRASHED] = event.isClient();
-        notify();
-      }
-    };
-    BridgeMembership.registerBridgeMembershipListener(listener);
-    
-    // test JOIN for server
-    DistributedMember serverJoined = new TestDistributedMember("serverJoined");
-    InternalBridgeMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
-      if (!fired[JOINED]) {
-        listener.wait(2000);
-      }
-    }
-    assertTrue(fired[JOINED]);
-    assertEquals(serverJoined, member[JOINED]);
-    assertEquals(serverJoined.getId(), memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    // test JOIN for client
-    DistributedMember clientJoined = new TestDistributedMember("clientJoined");
-    InternalBridgeMembership.notifyJoined(clientJoined, CLIENT);
-    synchronized(listener) {
-      if (!fired[JOINED]) {
-        listener.wait(2000);
-      }
-    }
-    assertTrue(fired[JOINED]);
-    assertEquals(clientJoined, member[JOINED]);
-    assertEquals(clientJoined.getId(), memberId[JOINED]);
-    assertTrue(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    // test LEFT for server
-    DistributedMember serverLeft = new TestDistributedMember("serverLeft");
-    InternalBridgeMembership.notifyLeft(serverLeft, SERVER);
-    synchronized(listener) {
-      if (!fired[LEFT]) {
-        listener.wait(2000);
-      }
-    }
-    assertFalse(fired[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertTrue(fired[LEFT]);
-    assertEquals(serverLeft, member[LEFT]);
-    assertEquals(serverLeft.getId(), memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    // test LEFT for client
-    DistributedMember clientLeft = new TestDistributedMember("clientLeft");
-    InternalBridgeMembership.notifyLeft(clientLeft, CLIENT);
-    synchronized(listener) {
-      if (!fired[LEFT]) {
-        listener.wait(2000);
-      }
-    }
-    assertFalse(fired[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertTrue(fired[LEFT]);
-    assertEquals(clientLeft, member[LEFT]);
-    assertEquals(clientLeft.getId(), memberId[LEFT]);
-    assertTrue(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    // test CRASHED for server
-    DistributedMember serverCrashed = new TestDistributedMember("serverCrashed");
-    InternalBridgeMembership.notifyCrashed(serverCrashed, SERVER);
-    synchronized(listener) {
-      if (!fired[CRASHED]) {
-        listener.wait(2000);
-      }
-    }
-    assertFalse(fired[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertTrue(fired[CRASHED]);
-    assertEquals(serverCrashed, member[CRASHED]);
-    assertEquals(serverCrashed.getId(), memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    // test CRASHED for client
-    DistributedMember clientCrashed = new TestDistributedMember("clientCrashed");
-    InternalBridgeMembership.notifyCrashed(clientCrashed, CLIENT);
-    synchronized(listener) {
-      if (!fired[CRASHED]) {
-        listener.wait(2000);
-      }
-    }
-    assertFalse(fired[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertTrue(fired[CRASHED]);
-    assertEquals(clientCrashed, member[CRASHED]);
-    assertEquals(clientCrashed.getId(), memberId[CRASHED]);
-    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) {
-    for (int i = 0; i < fired.length; i++) {
-      fired[i] = false;
-      member[i] = null;
-      memberId[i] = null;
-      isClient[i] = false;
-    }
-  }
-  
-  /**
-   * Tests unregisterBridgeMembershipListener to ensure that no further events
-   * are delivered to unregistered listeners.
-   */
-  public void testUnregisterBridgeMembershipListener() throws Exception {
-    final boolean[] fired = new boolean[1];
-    final DistributedMember[] member = new DistributedMember[1];
-    final String[] memberId = new String[1];
-    final boolean[] isClient = new boolean[1];
-    
-    BridgeMembershipListener listener = new BridgeMembershipListener() {
-      public synchronized void memberJoined(BridgeMembershipEvent event) {
-        fired[0] = true;
-        member[0] = event.getMember();
-        memberId[0] = event.getMemberId();
-        isClient[0] = event.isClient();
-        notify();
-      }
-      public void memberLeft(BridgeMembershipEvent event) {
-      }
-      public void memberCrashed(BridgeMembershipEvent event) {
-      }
-    };
-    BridgeMembership.registerBridgeMembershipListener(listener);
-    
-    // fire event to make sure listener is registered
-    DistributedMember clientJoined = new TestDistributedMember("clientJoined");
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listener) {
-      if (!fired[0]) {
-        listener.wait(2000);
-      }
-    }
-    assertTrue(fired[0]);
-    assertEquals(clientJoined, member[0]);
-    assertEquals(clientJoined.getId(), memberId[0]);
-    assertTrue(isClient[0]);
-
-    resetArraysForTesting(fired, member, memberId, isClient);
-    assertFalse(fired[0]);
-    assertNull(memberId[0]);
-    assertFalse(isClient[0]);
-
-    // unregister and verify listener is not notified
-    BridgeMembership.unregisterBridgeMembershipListener(listener);
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listener) {
-      listener.wait(20);
-    }
-    assertFalse(fired[0]);
-    assertNull(member[0]);
-    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];
-    
-    final BridgeMembershipListener[] listeners = new BridgeMembershipListener[NUM_LISTENERS];
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      final int whichListener = i;
-      listeners[i] = new BridgeMembershipListener() {
-        public synchronized void memberJoined(BridgeMembershipEvent event) {
-          assertFalse(fired[whichListener]);
-          assertNull(member[whichListener]);
-          assertNull(memberId[whichListener]);
-          assertFalse(isClient[whichListener]);
-          fired[whichListener] = true;
-          member[whichListener] = event.getMember();
-          memberId[whichListener] = event.getMemberId();
-          isClient[whichListener] = event.isClient();
-          notify();
-        }
-        public void memberLeft(BridgeMembershipEvent event) {
-        }
-        public void memberCrashed(BridgeMembershipEvent event) {
-        }
-      };
-    }
-    
-    final DistributedMember clientJoined = new TestDistributedMember("clientJoined");
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      synchronized(listeners[i]) {
-        listeners[i].wait(20);
-      }
-      assertFalse(fired[i]);
-      assertNull(member[i]);
-      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
-    BridgeMembership.registerBridgeMembershipListener(listeners[0]);
-    BridgeMembership.registerBridgeMembershipListener(listeners[0]);
-    
-    BridgeMembershipListener[] registeredListeners = 
-      BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(1, registeredListeners.length);
-    assertEquals(listeners[0], registeredListeners[0]);
-    
-    BridgeMembership.registerBridgeMembershipListener(listeners[1]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(2, registeredListeners.length);
-    assertEquals(listeners[0], registeredListeners[0]);
-    assertEquals(listeners[1], registeredListeners[1]);
-
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[1]) {
-      if (!fired[1]) {
-        listeners[1].wait(2000);
-      }
-    }
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      if (i < 2) {
-        assertTrue(fired[i]);
-        assertEquals(clientJoined, member[i]);
-        assertEquals(clientJoined.getId(), memberId[i]);
-        assertTrue(isClient[i]);
-      } else {
-        assertFalse(fired[i]);
-        assertNull(member[i]);
-        assertNull(memberId[i]);
-        assertFalse(isClient[i]);
-      }
-    }
-    resetArraysForTesting(fired, member, memberId, isClient);
-        
-    BridgeMembership.unregisterBridgeMembershipListener(listeners[0]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(1, registeredListeners.length);
-    assertEquals(listeners[1], registeredListeners[0]);
-    
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[1]) {
-      if (!fired[1]) {
-        listeners[1].wait(2000);
-      }
-    }
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      if (i == 1) {
-        assertTrue(fired[i]);
-        assertEquals(clientJoined, member[i]);
-        assertEquals(clientJoined.getId(), memberId[i]);
-        assertTrue(isClient[i]);
-      } else {
-        assertFalse(fired[i]);
-        assertNull(member[i]);
-        assertNull(memberId[i]);
-        assertFalse(isClient[i]);
-      }
-    }
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    BridgeMembership.registerBridgeMembershipListener(listeners[2]);
-    BridgeMembership.registerBridgeMembershipListener(listeners[3]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(3, registeredListeners.length);
-    assertEquals(listeners[1], registeredListeners[0]);
-    assertEquals(listeners[2], registeredListeners[1]);
-    assertEquals(listeners[3], registeredListeners[2]);
-
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[3]) {
-      if (!fired[3]) {
-        listeners[3].wait(2000);
-      }
-    }
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      if (i != 0) {
-        assertTrue(fired[i]);
-        assertEquals(clientJoined, member[i]);
-        assertEquals(clientJoined.getId(), memberId[i]);
-        assertTrue(isClient[i]);
-      } else {
-        assertFalse(fired[i]);
-        assertNull(member[i]);
-        assertNull(memberId[i]);
-        assertFalse(isClient[i]);
-      }
-    }
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    BridgeMembership.registerBridgeMembershipListener(listeners[0]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(4, registeredListeners.length);
-    assertEquals(listeners[1], registeredListeners[0]);
-    assertEquals(listeners[2], registeredListeners[1]);
-    assertEquals(listeners[3], registeredListeners[2]);
-    assertEquals(listeners[0], registeredListeners[3]);
-
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[0]) {
-      if (!fired[0]) {
-        listeners[0].wait(2000);
-      }
-    }
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      assertTrue(fired[i]);
-      assertEquals(clientJoined, member[i]);
-      assertEquals(clientJoined.getId(), memberId[i]);
-      assertTrue(isClient[i]);
-    }
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    BridgeMembership.unregisterBridgeMembershipListener(listeners[3]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(3, registeredListeners.length);
-    assertEquals(listeners[1], registeredListeners[0]);
-    assertEquals(listeners[2], registeredListeners[1]);
-    assertEquals(listeners[0], registeredListeners[2]);
-    
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[0]) {
-      if (!fired[0]) {
-        listeners[0].wait(2000);
-      }
-    }
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      if (i < 3) {
-        assertTrue(fired[i]);
-        assertEquals(clientJoined, member[i]);
-        assertEquals(clientJoined.getId(), memberId[i]);
-        assertTrue(isClient[i]);
-      } else {
-        assertFalse(fired[i]);
-        assertNull(member[i]);
-        assertNull(memberId[i]);
-        assertFalse(isClient[i]);
-      }
-    }
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    BridgeMembership.unregisterBridgeMembershipListener(listeners[2]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(2, registeredListeners.length);
-    assertEquals(listeners[1], registeredListeners[0]);
-    assertEquals(listeners[0], registeredListeners[1]);
-    
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[0]) {
-      if (!fired[0]) {
-        listeners[0].wait(2000);
-      }
-    }
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      if (i < 2) {
-        assertTrue(fired[i]);
-        assertEquals(clientJoined, member[i]);
-        assertEquals(clientJoined.getId(), memberId[i]);
-        assertTrue(isClient[i]);
-      } else {
-        assertFalse(fired[i]);
-        assertNull(member[i]);
-        assertNull(memberId[i]);
-        assertFalse(isClient[i]);
-      }
-    }
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    BridgeMembership.unregisterBridgeMembershipListener(listeners[1]);
-    BridgeMembership.unregisterBridgeMembershipListener(listeners[0]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(0, registeredListeners.length);
-    
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      synchronized(listeners[i]) {
-        listeners[i].wait(20);
-      }
-      assertFalse(fired[i]);
-      assertNull(member[i]);
-      assertNull(memberId[i]);
-      assertFalse(isClient[i]);
-    }
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    BridgeMembership.registerBridgeMembershipListener(listeners[1]);
-    registeredListeners = BridgeMembership.getBridgeMembershipListeners();
-    assertEquals(1, registeredListeners.length);
-    assertEquals(listeners[1], registeredListeners[0]);
-    
-    InternalBridgeMembership.notifyJoined(clientJoined, true);
-    synchronized(listeners[1]) {
-      if (!fired[1]) {
-        listeners[1].wait(2000);
-      }
-    }
-    for (int i = 0; i < NUM_LISTENERS; i++) {
-      if (i == 1) {
-        assertTrue(fired[i]);
-        assertEquals(clientJoined, member[i]);
-        assertEquals(clientJoined.getId(), memberId[i]);
-        assertTrue(isClient[i]);
-      } else {
-        assertFalse(fired[i]);
-        assertNull(member[i]);
-        assertNull(memberId[i]);
-        assertFalse(isClient[i]);
-      }
-    }
-  }
- 
-  protected static int testBridgeMembershipEventsInClient_port;
-  private static int getTestBridgeMembershipEventsInClient_port() {
-    return testBridgeMembershipEventsInClient_port;
-  }
-  /**
-   * Tests notification of events in client process. Bridge clients detect
-   * server joins when the client connects to the server. If the server
-   * crashes or departs gracefully, the client will detect this as a crash.
-   */
-  public void testBridgeMembershipEventsInClient() throws Exception {
-    addExpectedException("IOException");
-    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 BridgeMembershipListener in controller vm...
-    BridgeMembershipListener listener = new BridgeMembershipListener() {
-      public synchronized void memberJoined(BridgeMembershipEvent event) {
-        getLogWriter().info("[testBridgeMembershipEventsInClient] memberJoined: " + event);
-        fired[JOINED] = true;
-        member[JOINED] = event.getMember();
-        memberId[JOINED] = event.getMemberId();
-        isClient[JOINED] = event.isClient();
-        notifyAll();
-      }
-      public synchronized void memberLeft(BridgeMembershipEvent event) {
-        getLogWriter().info("[testBridgeMembershipEventsInClient] memberLeft: " + event);
-//        fail("Please update testBridgeMembershipEventsInClient to handle memberLeft for BridgeServer.");
-      }
-      public synchronized void memberCrashed(BridgeMembershipEvent event) {
-        getLogWriter().info("[testBridgeMembershipEventsInClient] memberCrashed: " + event);
-        fired[CRASHED] = true;
-        member[CRASHED] = event.getMember();
-        memberId[CRASHED] = event.getMemberId();
-        isClient[CRASHED] = event.isClient();
-        notifyAll();
-      }
-    };
-    BridgeMembership.registerBridgeMembershipListener(listener);
-
-    final VM vm0 = Host.getHost(0).getVM(0);
-    final String name = this.getUniqueName();
-    final int[] ports = new int[1];
-
-    // create BridgeServer in vm0...
-    vm0.invoke(new CacheSerializableRunnable("Create BridgeServer") {
-      public void run2() throws CacheException {
-        try {
-          getLogWriter().info("[testBridgeMembershipEventsInClient] Create BridgeServer");
-          getSystem();
-          AttributesFactory factory = new AttributesFactory();
-          factory.setScope(Scope.LOCAL);
-          Region region = createRegion(name, factory.create());
-          assertNotNull(region);
-          assertNotNull(getRootRegion().getSubregion(name));
-          testBridgeMembershipEventsInClient_port = startBridgeServer(0);
-        }
-        catch(IOException e) {
-          getSystem().getLogWriter().fine(new Exception(e));
-          fail("Failed to start CacheServer on VM1: " + e.getMessage());
-        }
-      }
-    });
-    
-    // gather details for later creation of ConnectionPool...
-    ports[0] = vm0.invokeInt(BridgeMembershipDUnitTest.class, 
-                             "getTestBridgeMembershipEventsInClient_port");
-    assertTrue(ports[0] != 0);
-
-    DistributedMember serverMember = (DistributedMember) vm0.invoke(BridgeMembershipDUnitTest.class,
-    "getDistributedMember");
-
-    String serverMemberId = (String) vm0.invoke(BridgeMembershipDUnitTest.class,
-                                                "getMemberId");
-
-    getLogWriter().info("[testBridgeMembershipEventsInClient] ports[0]=" + ports[0]);
-    getLogWriter().info("[testBridgeMembershipEventsInClient] serverMember=" + serverMember);
-    getLogWriter().info("[testBridgeMembershipEventsInClient] serverMemberId=" + serverMemberId);
-
-    assertFalse(fired[JOINED]);
-    assertNull(member[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    
-    // sanity check...
-    getLogWriter().info("[testBridgeMembershipEventsInClient] sanity check");
-    DistributedMember test = new TestDistributedMember("test");
-    InternalBridgeMembership.notifyJoined(test, SERVER);
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[CRASHED]) {
-        listener.wait(2000);
-      }
-    }
-    
-    assertTrue(fired[JOINED]);
-    assertEquals(test, member[JOINED]);
-    assertEquals(test.getId(), memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    // create bridge client in controller vm...
-    getLogWriter().info("[testBridgeMembershipEventsInClient] 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();
-      factory.setScope(Scope.LOCAL);
-      BridgeTestCase.configureConnectionPool(factory, getServerHostName(Host.getHost(0)), ports, true, -1, -1, null);
-      createRegion(name, factory.create());
-      assertNotNull(getRootRegion().getSubregion(name));
-    }
-    catch (CacheException ex) {
-      fail("While creating Region on Edge", ex);
-    }
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[CRASHED]) {
-        listener.wait(60 * 1000);
-      }
-    }
-    
-    getLogWriter().info("[testBridgeMembershipEventsInClient] assert client detected server join");
-    
-    // first check the getCurrentServers() result
-    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]);
-    assertNotNull(memberId[JOINED]);
-    assertEquals(serverMember, member[JOINED]);
-    assertEquals(serverMemberId, memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    vm0.invoke(new SerializableRunnable("Stop BridgeServer") {
-      public void run() {
-        getLogWriter().info("[testBridgeMembershipEventsInClient] Stop BridgeServer");
-        stopBridgeServers(getCache());
-      }
-    });
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[CRASHED]) {
-        listener.wait(60 * 1000);
-      }
-    }
-    
-    getLogWriter().info("[testBridgeMembershipEventsInClient] assert client detected server departure");
-    assertFalse(fired[JOINED]);
-    assertNull(member[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertTrue(fired[CRASHED]);
-    assertNotNull(member[CRASHED]);
-    assertNotNull(memberId[CRASHED]);
-    assertEquals(serverMember, member[CRASHED]);
-    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 {
-          getLogWriter().info("[testBridgeMembershipEventsInClient] 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);
-      }
-    }
-    
-    getLogWriter().info("[testBridgeMembershipEventsInClient] assert client detected server recovery");
-    assertTrue(fired[JOINED]);
-    assertNotNull(member[JOINED]);
-    assertNotNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertEquals(serverMember, member[JOINED]);
-    assertEquals(serverMemberId, memberId[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    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.
-   */
-  public void testBridgeMembershipEventsInServer() 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 BridgeMembershipListener in controller vm...
-    BridgeMembershipListener listener = new BridgeMembershipListener() {
-      public synchronized void memberJoined(BridgeMembershipEvent event) {
-        getLogWriter().info("[testBridgeMembershipEventsInServer] 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(BridgeMembershipEvent event) {
-        getLogWriter().info("[testBridgeMembershipEventsInServer] 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(BridgeMembershipEvent event) {
-        getLogWriter().info("[testBridgeMembershipEventsInServer] memberCrashed: " + event);
-        fired[CRASHED] = true;
-        member[CRASHED] = event.getMember();
-        memberId[CRASHED] = event.getMemberId();
-        isClient[CRASHED] = event.isClient();
-        notifyAll();
-        assertFalse(fired[JOINED] || fired[LEFT]);
-      }
-    };
-    BridgeMembership.registerBridgeMembershipListener(listener);
-
-    final VM vm0 = Host.getHost(0).getVM(0);
-    final String name = this.getUniqueName();
-    final int[] ports = new int[1];
-
-    // create BridgeServer in controller vm...
-    getLogWriter().info("[testBridgeMembershipEventsInServer] Create BridgeServer");
-    getSystem();
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-    Region region = createRegion(name, factory.create());
-    assertNotNull(region);
-    assertNotNull(getRootRegion().getSubregion(name));
-    
-    ports[0] = startBridgeServer(0);
-    assertTrue(ports[0] != 0);
-    String serverMemberId = getMemberId();
-    DistributedMember serverMember = getDistributedMember();
-
-    getLogWriter().info("[testBridgeMembershipEventsInServer] ports[0]=" + ports[0]);
-    getLogWriter().info("[testBridgeMembershipEventsInServer] serverMemberId=" + serverMemberId);
-    getLogWriter().info("[testBridgeMembershipEventsInServer] serverMember=" + serverMember);
-
-    assertFalse(fired[JOINED]);
-    assertNull(member[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    
-    // sanity check...
-    getLogWriter().info("[testBridgeMembershipEventsInServer] sanity check");
-    DistributedMember test = new TestDistributedMember("test");
-    InternalBridgeMembership.notifyJoined(test, CLIENT);
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
-        listener.wait(2000);
-      }
-    }
-    assertTrue(fired[JOINED]);
-    assertEquals(test, member[JOINED]);
-    assertEquals(test.getId(), memberId[JOINED]);
-    assertTrue(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    final Host host = Host.getHost(0);
-    SerializableRunnable createConnectionPool =
-    new CacheSerializableRunnable("Create connectionPool") {
-      public void run2() throws CacheException {
-        getLogWriter().info("[testBridgeMembershipEventsInServer] create bridge client");
-        Properties config = new Properties();
-        config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-        config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-        getSystem(config);
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, true, -1, 2, null);
-        createRegion(name, factory.create());
-        assertNotNull(getRootRegion().getSubregion(name));
-      }
-    };
-
-    // create bridge client in vm0...
-    vm0.invoke(createConnectionPool);
-    String clientMemberId = (String) vm0.invoke(BridgeMembershipDUnitTest.class,
-                                                "getMemberId");
-    DistributedMember clientMember = (DistributedMember) vm0.invoke(BridgeMembershipDUnitTest.class,
-                                                "getDistributedMember");
-                                                
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
-        listener.wait(60000);
-      }
-    }
-    
-    getLogWriter().info("[testBridgeMembershipEventsInServer] assert server detected client join");
-    assertTrue(fired[JOINED]);
-    assertEquals(member[JOINED] + " should equal " + clientMember,
-      clientMember, member[JOINED]);
-    assertEquals(memberId[JOINED] + " should equal " + clientMemberId,
-      clientMemberId, memberId[JOINED]);
-    assertTrue(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    pauseForClientToJoin();
-    
-    vm0.invoke(new SerializableRunnable("Stop bridge client") {
-      public void run() {
-        getLogWriter().info("[testBridgeMembershipEventsInServer] Stop bridge client");
-        getRootRegion().getSubregion(name).close();
-        Map m = PoolManager.getAll();
-        Iterator mit = m.values().iterator();
-        while(mit.hasNext()) {
-          Pool p = (Pool)mit.next();
-          p.destroy();
-        }
-      }
-    });
-
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
-        listener.wait(60000);
-      }
-    }
-    
-    getLogWriter().info("[testBridgeMembershipEventsInServer] assert server detected client left");
-    assertFalse(fired[JOINED]);
-    assertNull(member[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    assertTrue(fired[LEFT]);
-    assertEquals(clientMember, member[LEFT]);
-    assertEquals(clientMemberId, memberId[LEFT]);
-    assertTrue(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-
-    // reconnect bridge client to test for crashed event
-    vm0.invoke(createConnectionPool);
-    clientMemberId = (String) vm0.invoke(BridgeMembershipDUnitTest.class,
-                                         "getMemberId");
-                                                
-    synchronized(listener) {
-      if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
-        listener.wait(60000);
-      }
-    }
-    
-    getLogWriter().info("[testBridgeMembershipEventsInServer] assert server detected client re-join");
-    assertTrue(fired[JOINED]);
-    assertEquals(clientMember, member[JOINED]);
-    assertEquals(clientMemberId, memberId[JOINED]);
-    assertTrue(isClient[JOINED]);
-    assertFalse(fired[LEFT]);
-    assertNull(member[LEFT]);
-    assertNull(memberId[LEFT]);
-    assertFalse(isClient[LEFT]);
-    assertFalse(fired[CRASHED]);
-    assertNull(member[CRASHED]);
-    assertNull(memberId[CRASHED]);
-    assertFalse(isClient[CRASHED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    pauseForClientToJoin();
-
-    ServerConnection.setForceClientCrashEvent(true);
-    try {
-      vm0.invoke(new SerializableRunnable("Stop bridge client") {
-        public void run() {
-          getLogWriter().info("[testBridgeMembershipEventsInServer] Stop bridge client");
-          getRootRegion().getSubregion(name).close();
-          Map m = PoolManager.getAll();
-          Iterator mit = m.values().iterator();
-          while(mit.hasNext()) {
-            Pool p = (Pool)mit.next();
-            p.destroy();
-          }
-        }
-      });
-  
-      synchronized(listener) {
-        if (!fired[JOINED] && !fired[LEFT] && !fired[CRASHED]) {
-          listener.wait(60000);
-        }
-      }
-      
-      getLogWriter().info("[testBridgeMembershipEventsInServer] assert server detected client crashed");
-      assertFalse(fired[JOINED]);
-      assertNull(member[JOINED]);
-      assertNull(memberId[JOINED]);
-      assertFalse(isClient[JOINED]);
-      assertFalse(fired[LEFT]);
-      assertNull(member[LEFT]);
-      assertNull(memberId[LEFT]);
-      assertFalse(isClient[LEFT]);
-      assertTrue(fired[CRASHED]);
-      assertEquals(clientMember, member[CRASHED]);
-      assertEquals(clientMemberId, memberId[CRASHED]);
-      assertTrue(isClient[CRASHED]);
-    }
-    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
-   * complete handshaking before making the client leave. Without doing this
-   * subsequent socket handshakes that are processed could fire join events
-   * after departure events and then a departure event again. If you see
-   * failures in testBridgeMembershipEventsInServer, try increasing this
-   * timeout.
-   */
-  private void pauseForClientToJoin() {
-    pause(2000);
-  }
-  
-  /** 
-   * 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 BridgeMembershipListener in controller vm...
-    BridgeMembershipListener listener = new BridgeMembershipListener() {
-      public synchronized void memberJoined(BridgeMembershipEvent event) {
-        assertFalse(fired[JOINED]);
-        assertNull(member[JOINED]);
-        assertNull(memberId[JOINED]);
-        assertFalse(isClient[JOINED]);
-        fired[JOINED] = true;
-        member[JOINED] = event.getMember();
-        memberId[JOINED] = event.getMemberId();
-        isClient[JOINED] = event.isClient();
-        notifyAll();
-      }
-      public synchronized void memberLeft(BridgeMembershipEvent event) {
-      }
-      public synchronized void memberCrashed(BridgeMembershipEvent event) {
-      }
-    };
-    BridgeMembership.registerBridgeMembershipListener(listener);
-    
-    // create loner in controller vm...
-    Properties config = new Properties();
-    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    getSystem(config);
-    
-    // assert that event is fired while connected
-    DistributedMember serverJoined = new TestDistributedMember("serverJoined");
-    InternalBridgeMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
-      if (!fired[JOINED]) {
-        listener.wait(2000);
-      }
-    }
-    assertTrue(fired[JOINED]);
-    assertEquals(serverJoined, member[JOINED]);
-    assertEquals(serverJoined.getId(), memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    // assert that event is NOT fired while disconnected
-    disconnectFromDS();
-    
-
-    InternalBridgeMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
-      listener.wait(20);
-    }
-    assertFalse(fired[JOINED]);
-    assertNull(member[JOINED]);
-    assertNull(memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-    resetArraysForTesting(fired, member, memberId, isClient);
-    
-    // assert that event is fired again after reconnecting
-    InternalDistributedSystem sys = getSystem(config);
-    assertTrue(sys.isConnected());
-
-    InternalBridgeMembership.notifyJoined(serverJoined, SERVER);
-    synchronized(listener) {
-      if (!fired[JOINED]) {
-        listener.wait(2000);
-      }
-    }
-    assertTrue(fired[JOINED]);
-    assertEquals(serverJoined, member[JOINED]);
-    assertEquals(serverJoined.getId(), memberId[JOINED]);
-    assertFalse(isClient[JOINED]);
-  }
-  
-  /**
-   * Starts up server in controller vm and 4 clients, then calls and tests
-   * BridgeMembership.getConnectedClients(). 
-   */
-  public void testGetConnectedClients() throws Exception {
-    final String name = this.getUniqueName();
-    final int[] ports = new int[1];
-
-    // create BridgeServer in controller vm...
-    getLogWriter().info("[testGetConnectedClients] Create BridgeServer");
-    getSystem();
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-    Region region = createRegion(name, factory.create());
-    assertNotNull(region);
-    assertNotNull(getRootRegion().getSubregion(name));
-    
-    ports[0] = startBridgeServer(0);
-    assertTrue(ports[0] != 0);
-    String serverMemberId = getMemberId();
-
-    getLogWriter().info("[testGetConnectedClients] ports[0]=" + ports[0]);
-    getLogWriter().info("[testGetConnectedClients] serverMemberId=" + serverMemberId);
-
-    final Host host = Host.getHost(0);
-    SerializableRunnable createPool =
-    new CacheSerializableRunnable("Create connection pool") {
-      public void run2() throws CacheException {
-        getLogWriter().info("[testGetConnectedClients] create bridge client");
-        Properties config = new Properties();
-        config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-        config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-        getSystem(config);
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.LOCAL);
-        BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, true, -1, -1, null);
-        createRegion(name, factory.create());
-        assertNotNull(getRootRegion().getSubregion(name));
-      }
-    };
-
-    // create bridge client in vm0...
-    final String[] clientMemberIdArray = new String[host.getVMCount()];
-    
-    for (int i = 0; i < host.getVMCount(); i++) { 
-      final VM vm = Host.getHost(0).getVM(i);
-      vm.invoke(createPool);
-      clientMemberIdArray[i] =  String.valueOf(vm.invoke(
-        BridgeMembershipDUnitTest.class, "getMemberId"));
-    }
-    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 = InternalBridgeMembership.getConnectedClients(false);
-          if (connectedClients == null) {
-            return false;
-          }
-          if (connectedClients.size() != expectedClientCount) {
-            return false;
-          }
-          return true;
-        }
-      };
-      waitForCriterion(wc, 10000, 100, false);
-    }
-    
-    Map connectedClients = InternalBridgeMembership.getConnectedClients(false);
-    assertNotNull(connectedClients);
-    assertEquals(clientMemberIds.size(), connectedClients.size());
-    for (Iterator iter = connectedClients.keySet().iterator(); iter.hasNext();) {
-      String connectedClient = (String)iter.next();
-      getLogWriter().info("[testGetConnectedClients] checking for client " + connectedClient);
-      assertTrue(clientMemberIds.contains(connectedClient));
-      getLogWriter().info("[testGetConnectedClients] count for connectedClient: " + 
-                          connectedClients.get(connectedClient));
-    }
-  }
-
-  /**
-   * Starts up 4 server and the controller vm as a client, then calls and tests
-   * BridgeMembership.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++) { 
-      final int whichVM = i;
-      final VM vm = Host.getHost(0).getVM(i);
-      vm.invoke(new CacheSerializableRunnable("Create bridge server") {
-        public void run2() throws CacheException {
-          // create BridgeServer in controller vm...
-          getLogWriter().info("[testGetConnectedServers] Create BridgeServer");
-          getSystem();
-          AttributesFactory factory = new AttributesFactory();
-          factory.setScope(Scope.LOCAL);
-          Region region = createRegion(name+"_"+whichVM, factory.create());
-          assertNotNull(region);
-          assertNotNull(getRootRegion().getSubregion(name+"_"+whichVM));
-          region.put("KEY-1", "VAL-1");
-          
-          try {
-            testGetConnectedServers_port = startBridgeServer(0);
-          }
-          catch (IOException e) {
-            getLogWriter().error("startBridgeServer threw IOException", e);
-            fail("startBridgeServer threw IOException " + e.getMessage());
-          }
-          
-          assertTrue(testGetConnectedServers_port != 0);
-      
-          getLogWriter().info("[testGetConnectedServers] port=" + 
-            ports[whichVM]);
-          getLogWriter().info("[testGetConnectedServers] serverMemberId=" + 
-            getDistributedMember());
-        }
-      });
-      ports[whichVM] = vm.invokeInt(BridgeMembershipDUnitTest.class, 
-                                    "getTestGetConnectedServers_port");
-      assertTrue(ports[whichVM] != 0);
-    }
-    
-    getLogWriter().info("[testGetConnectedServers] create bridge client");
-    Properties config = new Properties();
-    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    getSystem(config);
-    getCache();
-    
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-
-    for (int i = 0; i < ports.length; i++) {
-      getLogWriter().info("[testGetConnectedServers] creating connectionpool for " + 
-        getServerHostName(host) + " " + ports[i]);
-      int[] thisServerPorts = new int[] { ports[i] };
-      BridgeTestCase.configureConnectionPoolWithName(factory, 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");
-    }
-
-    {
-      final int expectedVMCount = host.getVMCount();
-      WaitCriterion wc = new WaitCriterion() {
-        public String description() {
-          return "wait for pools and servers";
-        }
-        public boolean done() {
-          if (PoolManager.getAll().size() != expectedVMCount) {
-            return false;
-          }
-          Map connectedServers = InternalBridgeMembership.getConnectedServers();
-          if (connectedServers == null) {
-            return false;
-          }
-          if (connectedServers.size() != expectedVMCount) {
-            return false;
-          }
-          return true;
-        }
-      };
-      waitForCriterion(wc, 10000, 100, false);
-    }
-
-    {
-      assertEquals(host.getVMCount(), PoolManager.getAll().size());
-      
-    }
-    
-    Map connectedServers = InternalBridgeMembership.getConnectedServers();
-    assertNotNull(connectedServers);
-    assertEquals(host.getVMCount(), connectedServers.size());
-    for (Iterator iter = connectedServers.keySet().iterator(); iter.hasNext();) {
-      String connectedServer = (String) iter.next();
-      getLogWriter().info("[testGetConnectedServers]  value for connectedServer: " + 
-                          connectedServers.get(connectedServer));
-    }
-  }
-
-  protected static int testGetConnectedServers_port;
-  private static int getTestGetConnectedServers_port() {
-    return testGetConnectedServers_port;
-  }
-
-  /**
-   * Tests getConnectedClients(boolean onlyClientsNotifiedByThisServer) where
-   * onlyClientsNotifiedByThisServer is true.
-   */
-  public void testGetNotifiedClients() 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++) { 
-      final int whichVM = i;
-      final VM vm = Host.getHost(0).getVM(i);
-      vm.invoke(new CacheSerializableRunnable("Create bridge server") {
-        public void run2() throws CacheException {
-          // create BridgeServer in controller vm...
-          getLogWriter().info("[testGetNotifiedClients] Create BridgeServer");
-          getSystem();
-          AttributesFactory factory = new AttributesFactory();
-          Region region = createRegion(name, factory.create());
-          assertNotNull(region);
-          assertNotNull(getRootRegion().getSubregion(name));
-          region.put("KEY-1", "VAL-1");
-          
-          try {
-            testGetNotifiedClients_port = startBridgeServer(0);
-          }
-          catch (IOException e) {
-            getLogWriter().error("startBridgeServer threw IOException", e);
-            fail("startBridgeServer threw IOException " + e.getMessage());
-          }
-          
-          assertTrue(testGetNotifiedClients_port != 0);
-      
-          getLogWriter().info("[testGetNotifiedClients] port=" + 
-            ports[whichVM]);
-          getLogWriter().info("[testGetNotifiedClients] serverMemberId=" + 
-            getMemberId());
-        }
-      });
-      ports[whichVM] = vm.invokeInt(BridgeMembershipDUnitTest.class, 
-                                    "getTestGetNotifiedClients_port");
-      assertTrue(ports[whichVM] != 0);
-    }
-    
-    getLogWriter().info("[testGetNotifiedClients] create bridge client");
-    Properties config = new Properties();
-    config.setProperty(DistributionConfig.MCAST_PORT_NAME, "0");
-    config.setProperty(DistributionConfig.LOCATORS_NAME, "");
-    getSystem(config);
-    getCache();
-    
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-
-    getLogWriter().info("[testGetNotifiedClients] creating connection pool");
-    BridgeTestCase.configureConnectionPool(factory, getServerHostName(host), ports, true, -1, -1, null);
-    Region region = createRegion(name, factory.create());
-    assertNotNull(getRootRegion().getSubregion(name));
-    region.registerInterest("KEY-1");
-    region.get("KEY-1");
-
-    final String clientMemberId = getMemberId();
-    
-    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++) { 
-      final int whichVM = i;
-      final VM vm = Host.getHost(0).getVM(i);
-      vm.invoke(new CacheSerializableRunnable("Create bridge server") {
-        public void run2() throws CacheException {
-          Map clients = InternalBridgeMembership.getConnectedClients(true);
-          assertNotNull(clients);
-          testGetNotifiedClients_clientCount = clients.size();
-          if (testGetNotifiedClients_clientCount > 0) {
-            // assert that the clientMemberId matches
-            assertEquals(clientMemberId, clients.keySet().iterator().next());
-          }
-        }
-      });
-      clientCounts[whichVM] = vm.invokeInt(BridgeMembershipDUnitTest.class, 
-                              "getTestGetNotifiedClients_clientCount");
-    }
-    
-    // only one server should have a notifier for this client...
-    int totalClientCounts = 0;
-    for (int i = 0; i < clientCounts.length; i++) {
-      totalClientCounts += clientCounts[i];
-    }
-    // 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;
-    }
-
-    public String getName() {
-      return "";
-    }
-
-    public String getHost() {
-      return this.host;
-    }
-
-    public Set getRoles() {
-      return new HashSet();
-    }
-
-    public int getProcessId() {
-      return 0;
-    }
-
-    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;
-    }
-    
-    public int hashCode() {
-      return getHost().hashCode();
-    }
-    
-    public DurableClientAttributes getDurableClientAttributes() {
-      
-      return null;
-    }
-
-    public List<String> getGroups() {
-      return Collections.emptyList();
-    }
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipSelectorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipSelectorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipSelectorDUnitTest.java
deleted file mode 100644
index 1a7e3ed..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeMembershipSelectorDUnitTest.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.gemstone.gemfire.cache30;
-
-/**
- * Same as BridgeMembershipDUnitTest but uses selector in server
- *
- * @author darrel
- * @since 5.1
- */
-public class BridgeMembershipSelectorDUnitTest extends BridgeMembershipDUnitTest {
-  public BridgeMembershipSelectorDUnitTest(String name) {
-    super(name);
-  }
-  protected int getMaxThreads() {
-    return 2;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeTestCase.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeTestCase.java b/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeTestCase.java
deleted file mode 100644
index 745629e..0000000
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/cache30/BridgeTestCase.java
+++ /dev/null
@@ -1,376 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache30;
-
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Properties;
-
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.LoaderHelper;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.RegionAttributes;
-import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.client.Pool;
-import com.gemstone.gemfire.cache.client.PoolFactory;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.util.BridgeServer;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.distributed.DistributedSystem;
-import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
-import com.gemstone.gemfire.internal.AvailablePortHelper;
-
-import dunit.VM;
-
-/**
- * Provides helper methods for testing BridgeServers and bridge clients. This
- * test case was created by refactoring methods from BridgeLoaderTest into
- * this class.
- *
- * @author Kirk Lund
- * @since 4.2.1
- */
-public class BridgeTestCase extends CacheTestCase {
-  
-  public static String NON_EXISTENT_KEY = "NON_EXISTENT_KEY";
-  
-  public static boolean AUTO_LOAD_BALANCE = false;
-
-  @Override
-  public void setUp() throws Exception {
-    super.setUp();
-    // this makes sure we don't have any connection left over from previous tests
-    disconnectAllFromDS();
-  }
-  
-  @Override
-  public void tearDown2() throws Exception {
-    // this makes sure we don't leave anything for the next tests
-    disconnectAllFromDS();
-  }
-
-  public BridgeTestCase(String name) {
-    super(name);
-  }
-
-  /**
-   * Starts a bridge server on the given port
-   *
-   * @since 4.0
-   */
-  public int startBridgeServer(int port)
-    throws IOException {
-
-    Cache cache = getCache();
-    BridgeServer bridge = cache.addBridgeServer();
-    bridge.setPort(port);
-    bridge.setMaxThreads(getMaxThreads());
-    bridge.start();
-    return bridge.getPort();
-  }
-
-  /**
-   * Defaults to 0 which means no selector in server.
-   * Subclasses can override setting this to a value > 0 to enable selector.
-   */
-  protected int getMaxThreads() {
-    return 0;
-  }
-  
-  /**
-   * Stops the bridge server that serves up the given cache.
-   *
-   * @since 4.0
-   */
-  public void stopBridgeServers(Cache cache) {
-    BridgeServer bridge = null;
-    for (Iterator bsI = cache.getBridgeServers().iterator();bsI.hasNext(); ) {
-      bridge = (BridgeServer) bsI.next();
-    bridge.stop();
-    assertFalse(bridge.isRunning());
-  }
-  }
-
-  /**
-   * Returns region attributes for a <code>LOCAL</code> region
-   */
-  protected RegionAttributes getRegionAttributes() {
-    AttributesFactory factory = new AttributesFactory();
-    factory.setScope(Scope.LOCAL);
-    return factory.create();
-  }
-
-  public static String createBridgeClientConnection(String host, int[] ports) {
-    StringBuffer sb = new StringBuffer();
-    for (int i = 0; i < ports.length; i++) {
-      if (i > 0) {
-        sb.append(",");
-      }
-      sb.append("name" + i + "=");
-      sb.append(host + ":" + ports[i]);
-    }
-    return sb.toString();
-  }
-
-  public static Pool configureConnectionPool(AttributesFactory factory,
-      String host, int port1, int port2, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup, int pingInterval,
-      int idleTimeout, boolean threadLocalCnxs, int lifetimeTimeout) {
-    int[] ports;
-    if (port2 != -1) {
-      ports = new int[] { port1, port2 };
-    }
-    else {
-      ports = new int[] { port1 };
-    }
-    return configureConnectionPool(factory, host, ports, establish, redundancy,
-        connectionsPerServer, serverGroup, pingInterval, idleTimeout,
-        threadLocalCnxs, lifetimeTimeout);
-  }
-
-  public static Pool configureConnectionPool(AttributesFactory factory,
-      String host, int port1, int port2, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup, int pingInterval,
-      int idleTimeout, boolean threadLocalCnxs) {
-    return configureConnectionPool(factory, host, port1, port2, establish,
-        redundancy, connectionsPerServer, serverGroup, pingInterval,
-        idleTimeout, threadLocalCnxs, -2/*lifetimeTimeout*/);
-  }
-
-  public static Pool configureConnectionPool(AttributesFactory factory,
-      String host, int port1, int port2, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup, int pingInterval) {
-    return configureConnectionPool(factory, host, port1, port2, establish,
-        redundancy, connectionsPerServer, serverGroup, pingInterval, -1, false);
-  }
-
-  public static Pool configureConnectionPool(AttributesFactory factory,
-      String host, int port1, int port2, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup) {
-    return configureConnectionPool(factory, host, port1, port2, establish,
-        redundancy, connectionsPerServer, serverGroup, -1/*pingInterval*/);
-  }
-
-  public static Pool configureConnectionPoolWithName(AttributesFactory factory,
-      String host, int[] ports, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup, String poolName) {
-    return configureConnectionPoolWithNameAndFactory(factory, host, ports,
-        establish, redundancy, connectionsPerServer, serverGroup, poolName,
-        PoolManager.createFactory(), -1, -1, false, -2, -1);
-  }
-
-  public static Pool configureConnectionPoolWithName(AttributesFactory factory,
-      String host, int[] ports, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup, String poolName,
-      int pingInterval, int idleTimeout, boolean threadLocalCnxs,
-      int lifetimeTimeout, int statisticInterval) {
-    return configureConnectionPoolWithNameAndFactory(factory, host, ports,
-        establish, redundancy, connectionsPerServer, serverGroup, poolName,
-        PoolManager.createFactory(), pingInterval, idleTimeout,
-        threadLocalCnxs, lifetimeTimeout, statisticInterval);
-  }
-
-  public static Pool configureConnectionPoolWithNameAndFactory(
-      AttributesFactory factory, String host, int[] ports, boolean establish,
-      int redundancy, int connectionsPerServer, String serverGroup,
-      String poolName, PoolFactory pf) {
-    return configureConnectionPoolWithNameAndFactory(factory, host, ports,
-        establish, redundancy, connectionsPerServer, serverGroup, poolName, pf,
-        -1, -1, false, -2, -1);
-  }
-
-  public static Pool configureConnectionPoolWithNameAndFactory(
-      AttributesFactory factory, String host, int[] ports, boolean establish,
-      int redundancy, int connectionsPerServer, String serverGroup,
-      String poolName, PoolFactory pf, int pingInterval, int idleTimeout,
-      boolean threadLocalCnxs, int lifetimeTimeout, int statisticInterval) {
-
-    if(AUTO_LOAD_BALANCE) {
-      pf.addLocator(host,getDUnitLocatorPort());
-    } else {
-      for(int z=0;z<ports.length;z++) {
-        pf.addServer(host,ports[z]);
-      }
-    }
-    
-    //TODO - probably should pass in minConnections rather than connecions per server
-    if(connectionsPerServer!=-1) {
-      pf.setMinConnections(connectionsPerServer * ports.length);
-    }
-    if (threadLocalCnxs) {
-      pf.setThreadLocalConnections(true);
-    }
-    if (pingInterval != -1) {
-      pf.setPingInterval(pingInterval);
-    }
-    if (idleTimeout != -1) {
-      pf.setIdleTimeout(idleTimeout);
-    }
-    if (statisticInterval != -1) {
-      pf.setStatisticInterval(statisticInterval);
-    }
-    if (lifetimeTimeout != -2) {
-      pf.setLoadConditioningInterval(lifetimeTimeout);
-    }
-    if(establish) {
-      pf.setSubscriptionEnabled(true);
-      pf.setSubscriptionRedundancy(redundancy);
-      pf.setSubscriptionAckInterval(1);
-    }
-    if(serverGroup!=null) {
-      pf.setServerGroup(serverGroup);
-    }
-    String rpoolName = "testPool";
-    if(poolName!=null) {
-      rpoolName = poolName;
-    }
-    Pool pool  = pf.create(rpoolName);
-    if(factory!=null) {
-      factory.setPoolName(rpoolName);
-    }
-    return pool;
-  }
-
-  public static Pool configureConnectionPool(AttributesFactory factory,
-      String host, int[] ports, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup) {
-    return configureConnectionPool(factory, host, ports, establish, redundancy,
-        connectionsPerServer, serverGroup, -1/*pingInterval*/,
-        -1/*idleTimeout*/, false/*threadLocalCnxs*/, -2/*lifetimeTimeout*/);
-  }
-
-  public static Pool configureConnectionPool(AttributesFactory factory,
-      String host, int[] ports, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup, int pingInterval,
-      int idleTimeout, boolean threadLocalCnxs, int lifetimeTimeout) {
-    return configureConnectionPoolWithName(factory, host, ports, establish,
-        redundancy, connectionsPerServer, serverGroup, null/*poolName*/,
-        pingInterval, idleTimeout, threadLocalCnxs, lifetimeTimeout, -1);
-  }
-
-  public static Pool configureConnectionPool(AttributesFactory factory,
-      String host, int[] ports, boolean establish, int redundancy,
-      int connectionsPerServer, String serverGroup, int pingInterval,
-      int idleTimeout, boolean threadLocalCnxs, int lifetimeTimeout,
-      int statisticInterval) {
-    return configureConnectionPoolWithName(factory, host, ports, establish,
-        redundancy, connectionsPerServer, serverGroup, null/*poolName*/,
-        pingInterval, idleTimeout, threadLocalCnxs, lifetimeTimeout,
-        statisticInterval);
-  }
-
-  /*protected static InternalDistributedMember findDistributedMember() {
-    DM dm = ((InternalDistributedSystem)
-      InternalDistributedSystem.getAnyInstance()).getDistributionManager();
-    return dm.getDistributionManagerId();
-  }*/
-
-  protected static String getMemberId() {
-    final InternalDistributedSystem system = InternalDistributedSystem.getAnyInstance();
-    WaitCriterion w = new WaitCriterion() {
-
-      public String description() {
-        return "bridge never finished connecting";
-      }
-
-      public boolean done() {
-//        getLogWriter().warning("checking member id " + system.getMemberId() +
-//            " for member " + system.getDistributedMember() + " hash " +
-//            System.identityHashCode(system.getDistributedMember()));
-        return !system.getMemberId().contains("):0:");
-      }
-      
-    };
-    int waitMillis = 5000;
-    int interval = 100;
-    boolean throwException = true;
-    waitForCriterion(w, waitMillis, interval, throwException);
-    return system.getMemberId();
-  }
-
-  protected static DistributedMember getDistributedMember() {
-    DistributedSystem system = InternalDistributedSystem.getAnyInstance();
-    return system.getDistributedMember();
-  }
-
-  protected static Properties getSystemProperties() {
-    DistributedSystem system = InternalDistributedSystem.getAnyInstance();
-    return system.getProperties();
-  }
-
-  /**
-   * Create a bridgeserver that has a value for every key queried and a unique
-   * key/value in the specified Region that uniquely identifies each instance.
-   *
-   * @param vm
-   *          the VM on which to create the BridgeServer
-   * @param rName
-   *          the name of the Region to create on the BridgeServerf
-   * @param port
-   *          the TCP port on which the BridgeServer should listen
-   */
-  public static class BridgeServerCacheLoader extends TestCacheLoader implements Declarable {
-
-    public BridgeServerCacheLoader() {}
-
-    @Override
-    public Object load2(LoaderHelper helper) {
-      if (helper.getArgument() instanceof Integer) {
-        try {
-          Thread.sleep(((Integer) helper.getArgument()).intValue());
-        }
-        catch (InterruptedException ugh) { fail("interrupted"); }
-      }
-      Object ret = helper.getKey();
-      
-      if( ret instanceof String)
-      {
-        if(ret != null && ret.equals(NON_EXISTENT_KEY))
-          return null;//return null
-      }
-      return ret;
-      
-    }
-
-    public void init(Properties props)  {}
-  }
-
-  public final static String BridgeServerKey = "BridgeServerKey";
-  public void createBridgeServer(VM vm, final String rName, final int port) {
-    vm.invoke(new CacheSerializableRunnable("Create Region on Server") {
-    @Override
-    public void run2() {
-      try {
-        AttributesFactory factory = new AttributesFactory();
-        factory.setScope(Scope.DISTRIBUTED_ACK); // can't be local since used with registerInterest
-        factory.setCacheLoader(new BridgeServerCacheLoader());
-        beginCacheXml();
-        createRootRegion(rName, factory.create());
-        startBridgeServer(port);
-        finishCacheXml(rName + "-" + port);
-
-        Region region = getRootRegion(rName);
-        assertNotNull(region);
-        region.put(BridgeServerKey, new Integer(port)); // A unique key/value to identify the BridgeServer
-      }
-      catch(Exception e) {
-        getSystem().getLogWriter().severe(e);
-        fail("Failed to start CacheServer " + e);
-      }
-    }
-  });
-  }
-
-  public static int[] createUniquePorts(int numToCreate) {
-    return AvailablePortHelper.getRandomAvailableTCPPorts(numToCreate);
-  }
-
-}
-


[11/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/BridgeServerCreation.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/BridgeServerCreation.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/BridgeServerCreation.java
deleted file mode 100644
index 3a40574..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/BridgeServerCreation.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.internal.cache.xmlcache;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Set;
-
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.ClientSession;
-import com.gemstone.gemfire.cache.InterestRegistrationListener;
-import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.internal.cache.AbstractBridgeServer;
-import com.gemstone.gemfire.internal.cache.InternalCache;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-
-/**
- * Represents a {@link CacheServer} that is created declaratively.
- *
- * @author David Whitlock
- * @since 4.0
- */
-public class BridgeServerCreation extends AbstractBridgeServer {
-
-  // moved to AbstractBridgeServer
-  
-  //////////////////////  Constructors  //////////////////////
-
-  /**
-   * Creates a new <code>BridgeServerCreation</code> with the default
-   * configuration.
-   *
-   * @param cache
-   *        The cache being served
-   */
-  BridgeServerCreation(InternalCache cache) {
-    super(cache);
-  }
-
-  BridgeServerCreation(InternalCache cache, boolean attachListener) {
-    super(cache, attachListener);
-  }
-  
-  /**
-   * Constructor for retaining bridge server information during auto-reconnect
-   * @param cache
-   * @param other
-   */
-  public BridgeServerCreation(InternalCache cache, CacheServer other) {
-    super(cache);
-    setPort(other.getPort());
-    setBindAddress(other.getBindAddress());
-    setHostnameForClients(other.getHostnameForClients());
-    setMaxConnections(other.getMaxConnections());
-    setMaxThreads(other.getMaxThreads());
-    setNotifyBySubscription(other.getNotifyBySubscription());
-    setSocketBufferSize(other.getSocketBufferSize());
-    setTcpNoDelay(other.getTcpNoDelay());
-    setMaximumTimeBetweenPings(other.getMaximumTimeBetweenPings());
-    setMaximumMessageCount(other.getMaximumMessageCount());
-    setMessageTimeToLive(other.getMessageTimeToLive());
-    //      setTransactionTimeToLive(other.getTransactionTimeToLive());  not implemented in CacheServer for v6.6
-    setGroups(other.getGroups());
-    setLoadProbe(other.getLoadProbe());
-    setLoadPollInterval(other.getLoadPollInterval());
-    ClientSubscriptionConfig cscOther = other.getClientSubscriptionConfig();
-    ClientSubscriptionConfig cscThis = this.getClientSubscriptionConfig();
-    // added for configuration of ha overflow
-    cscThis.setEvictionPolicy(cscOther.getEvictionPolicy());
-    cscThis.setCapacity(cscOther.getCapacity());
-    String diskStoreName = cscOther.getDiskStoreName();
-    if (diskStoreName != null) {
-      cscThis.setDiskStoreName(diskStoreName);
-    } else {
-      cscThis.setOverflowDirectory(cscOther.getOverflowDirectory());
-    }
-    // this.cache = null; we should null out the cache since we no longer need it
-  }
-
-  /////////////////////  Instance Methods  /////////////////////
-
-  @Override
-  public void start() throws IOException {
-    // This method is invoked during testing, but it is not necessary
-    // to do anything.
-  }
-
-  @Override
-  public void setNotifyBySubscription(boolean b) {
-    this.notifyBySubscription = b;
-  }
-
-  @Override
-  public boolean getNotifyBySubscription() {
-    return this.notifyBySubscription;
-  }
-
-  @Override
-  public void setSocketBufferSize(int socketBufferSize) {
-    this.socketBufferSize = socketBufferSize;
-  }
-  
-  @Override
-  public int getSocketBufferSize() {
-    return this.socketBufferSize;
-  }
-  
-  @Override
-  public void setTcpNoDelay(boolean setting) {
-    this.tcpNoDelay = setting;
-  }
-  
-  @Override
-  public boolean getTcpNoDelay() {
-    return this.tcpNoDelay;
-  }
-
-  @Override
-  public void setMaximumTimeBetweenPings(int maximumTimeBetweenPings) {
-    this.maximumTimeBetweenPings = maximumTimeBetweenPings;
-  }
-  
-  @Override
-  public int getMaximumTimeBetweenPings() {
-    return this.maximumTimeBetweenPings;
-  }
-  
-  @Override
-  public int getMaximumMessageCount() {
-    return this.maximumMessageCount;
-  }
-
-  @Override
-  public void setMaximumMessageCount(int maximumMessageCount) {
-    this.maximumMessageCount = maximumMessageCount;
-  }
-  
-  @Override
-  public int getMessageTimeToLive() {
-    return this.messageTimeToLive;
-  }
-
-  @Override
-  public void setMessageTimeToLive(int messageTimeToLive) {
-    this.messageTimeToLive = messageTimeToLive;
-  }
-  
-  public boolean isRunning() {
-    throw new UnsupportedOperationException(LocalizedStrings.SHOULDNT_INVOKE.toLocalizedString());
-  }
-
-  public void stop() {
-    throw new UnsupportedOperationException(LocalizedStrings.SHOULDNT_INVOKE.toLocalizedString());
-  }
-
-  /**
-   * Returns whether or not this bridge server has the same
-   * configuration as another bridge server.
-   */
-  @Override
-  public boolean sameAs(CacheServer other) {
-    ClientSubscriptionConfig cscThis = this.getClientSubscriptionConfig();
-    ClientSubscriptionConfig cscOther = other.getClientSubscriptionConfig();
-    boolean result = 
-        this.getPort() == other.getPort() &&
-        this.getSocketBufferSize() == other.getSocketBufferSize() &&
-        this.getMaximumTimeBetweenPings() == other.getMaximumTimeBetweenPings() &&
-        this.getNotifyBySubscription() == other.getNotifyBySubscription() &&
-        this.getMaxConnections() == other.getMaxConnections() &&
-        this.getMaxThreads() == other.getMaxThreads() &&
-        this.getMaximumMessageCount() == other.getMaximumMessageCount() &&
-        this.getMessageTimeToLive() == other.getMessageTimeToLive() &&
-        this.getTcpNoDelay() == other.getTcpNoDelay() &&
-        cscThis.getCapacity() == cscOther.getCapacity() &&
-        cscThis.getEvictionPolicy().equals(cscOther.getEvictionPolicy());
-    String diskStoreName = cscThis.getDiskStoreName();
-    if (diskStoreName != null) {
-      result = result && diskStoreName.equals(cscOther.getDiskStoreName());
-    } else {
-      result = result && cscThis.getOverflowDirectory().equals(cscOther.getOverflowDirectory());
-    }
-    return result;
-  }
-
-  @Override
-  public String toString()
-  {
-    return "BridgeServerCreation on port " + this.getPort() +
-    " notify by subscription " + this.getNotifyBySubscription() +
-    " maximum time between pings " + this.getMaximumTimeBetweenPings() + 
-    " socket buffer size " + this.getSocketBufferSize() + 
-    " maximum connections " + this.getMaxConnections() +
-    " maximum threads " + this.getMaxThreads() +
-    " maximum message count " + this.getMaximumMessageCount() +
-    " message time to live " + this.getMessageTimeToLive() +
-    " groups " + Arrays.asList(getGroups()) +
-    " loadProbe " + loadProbe +
-    " loadPollInterval " + loadPollInterval +
-    this.getClientSubscriptionConfig().toString();
-  }
-  
-  public ClientSubscriptionConfig getClientSubscriptionConfig(){
-    return this.clientSubscriptionConfig;
-  }
-
-  public Set getInterestRegistrationListeners() {
-    //TODO Yogesh : implement me 
-    return null;
-  }
-
-  public void registerInterestRegistrationListener(
-      InterestRegistrationListener listener) {
-    //TODO Yogesh : implement me
-  }
-
-  public void unregisterInterestRegistrationListener(
-      InterestRegistrationListener listener) {
-    //TODO Yogesh : implement me
-  }
-
-  /* (non-Javadoc)
-   * @see com.gemstone.gemfire.cache.util.BridgeServer#getAllClientSessions()
-   */
-  public Set getAllClientSessions() {
-    throw new UnsupportedOperationException("Shouldn't be invoked");
-  }
-
-  /* (non-Javadoc)
-   * @see com.gemstone.gemfire.cache.util.BridgeServer#getClientSession(com.gemstone.gemfire.distributed.DistributedMember)
-   */
-  public ClientSession getClientSession(DistributedMember member) {
-    throw new UnsupportedOperationException("Shouldn't be invoked");
-  }
-
-  /* (non-Javadoc)
-   * @see com.gemstone.gemfire.cache.util.BridgeServer#getClientSession(java.lang.String)
-   */
-  public ClientSession getClientSession(String durableClientId) {
-    throw new UnsupportedOperationException("Shouldn't be invoked");
-  }
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheCreation.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheCreation.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheCreation.java
index b9fcfe7..0347d67 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheCreation.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheCreation.java
@@ -52,7 +52,6 @@ import com.gemstone.gemfire.cache.asyncqueue.internal.AsyncEventQueueFactoryImpl
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.execute.FunctionService;
 import com.gemstone.gemfire.cache.lucene.LuceneService;
@@ -74,7 +73,6 @@ import com.gemstone.gemfire.cache.query.RegionNotFoundException;
 import com.gemstone.gemfire.cache.query.internal.cq.CqService;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.snapshot.CacheSnapshotService;
-import com.gemstone.gemfire.cache.util.BridgeServer;
 import com.gemstone.gemfire.cache.util.GatewayConflictResolver;
 import com.gemstone.gemfire.cache.wan.GatewayReceiver;
 import com.gemstone.gemfire.cache.wan.GatewayReceiverFactory;
@@ -91,7 +89,7 @@ import com.gemstone.gemfire.cache.hdfs.internal.HDFSIntegrationUtil;
 import com.gemstone.gemfire.cache.hdfs.internal.HDFSStoreCreation;
 import com.gemstone.gemfire.cache.hdfs.internal.HDFSStoreFactoryImpl;
 import com.gemstone.gemfire.cache.hdfs.internal.HDFSStoreImpl;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.CacheConfig;
 import com.gemstone.gemfire.internal.cache.CacheServerLauncher;
 import com.gemstone.gemfire.internal.cache.DiskStoreFactoryImpl;
@@ -580,14 +578,14 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
       }
       
       if (!existingCacheServer) {
-        this.getCacheServers().add(new BridgeServerCreation(cache, false));
+        this.getCacheServers().add(new CacheServerCreation(cache, false));
       }
     }
     
     for (Iterator iter = this.getCacheServers().iterator(); iter.hasNext();) {
-      BridgeServerCreation bridge = (BridgeServerCreation)iter.next();
+      CacheServerCreation bridge = (CacheServerCreation)iter.next();
       
-      BridgeServerImpl impl = (BridgeServerImpl)cache.addCacheServer();
+      CacheServerImpl impl = (CacheServerImpl)cache.addCacheServer();
       impl.configureFrom(bridge);
 
       if (serverPort != null && serverPort != CacheServer.DEFAULT_PORT) {
@@ -604,7 +602,7 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
       }
       catch (IOException ex) {
         throw new GemFireIOException(
-            LocalizedStrings.CacheCreation_WHILE_STARTING_BRIDGE_SERVER_0
+            LocalizedStrings.CacheCreation_WHILE_STARTING_CACHE_SERVER_0
                 .toLocalizedString(impl), ex);
       }
     }
@@ -680,10 +678,7 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
         if (drc2 == null) {
           return false;
         }
-        if (!RegionAttributesCreation.equal(drc1.getDiskDir(), drc2.getDiskDir())) {
-          return false;
-        }
-        if (!RegionAttributesCreation.equal(drc1.getBridgeWriter(), drc2.getBridgeWriter())) {
+        if (!drc1.equals(drc2)) {
           return false;
         }
       } else {
@@ -703,12 +698,12 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
       Collection myBridges = this.getCacheServers();
       Collection otherBridges = other.getCacheServers();
       if (myBridges.size() != otherBridges.size()) {
-        throw new RuntimeException(LocalizedStrings.CacheCreation_BRIDGESERVERS_SIZE.toLocalizedString());
+        throw new RuntimeException(LocalizedStrings.CacheCreation_CACHESERVERS_SIZE.toLocalizedString());
       }
 
       for (Iterator myIter = myBridges.iterator(); myIter.hasNext(); ) {
-        BridgeServerCreation myBridge =
-          (BridgeServerCreation) myIter.next();
+        CacheServerCreation myBridge =
+          (CacheServerCreation) myIter.next();
         boolean found = false;
         for (Iterator otherIter = otherBridges.iterator();
              otherIter.hasNext(); ) {
@@ -720,7 +715,7 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
         }
 
         if (!found) {
-          throw new RuntimeException(LocalizedStrings.CacheCreation_BRIDGE_0_NOT_FOUND.toLocalizedString(myBridge));
+          throw new RuntimeException(LocalizedStrings.CacheCreation_CACHE_SERVER_0_NOT_FOUND.toLocalizedString(myBridge));
         }
       }
 
@@ -731,22 +726,22 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
           : PoolManager.getAll();
         int m1Size = m1.size();
         {
-          // ignore any BridgePool instances
+          // ignore any gateway instances
           Iterator it1 = m1.values().iterator();
           while (it1.hasNext()) {
             Pool cp = (Pool)it1.next();
-            if (cp instanceof BridgePoolImpl || ((PoolImpl)cp).isUsedByGateway()) {
+            if (((PoolImpl)cp).isUsedByGateway()) {
               m1Size--;
             }
           }
         }
         int m2Size = m2.size();
         {
-          // ignore any BridgePool instances
+          // ignore any gateway instances
           Iterator it2 = m2.values().iterator();
           while (it2.hasNext()) {
             Pool cp = (Pool)it2.next();
-            if (cp instanceof BridgePoolImpl || ((PoolImpl)cp).isUsedByGateway()) {
+            if (((PoolImpl)cp).isUsedByGateway()) {
               m2Size--;
             }
           }
@@ -770,8 +765,8 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
           Iterator it1 = m1.values().iterator();
           while (it1.hasNext()) {
             PoolImpl cp = (PoolImpl)it1.next();
-            // ignore any BridgePool instances
-            if (!(cp instanceof BridgePoolImpl) && !(cp).isUsedByGateway()) {
+            // ignore any gateway instances
+            if (!(cp).isUsedByGateway()) {
               cp.sameAs(m2.get(cp.getName()));
             }
           }
@@ -985,17 +980,12 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
     return (Region)this.roots.get(path);
   }
 
-  @SuppressWarnings("deprecation")
-  public BridgeServer addBridgeServer() {
-    return (BridgeServer)addCacheServer();
-  }
-  
   public CacheServer addCacheServer() {
     return addCacheServer(false);
   }
   
   public CacheServer addCacheServer(boolean isGatewayReceiver) {
-    CacheServer bridge = new BridgeServerCreation(this, false);
+    CacheServer bridge = new CacheServerCreation(this, false);
     this.bridgeServers.add(bridge);
     return bridge;
   }
@@ -1004,9 +994,6 @@ public class CacheCreation implements InternalCache, Extensible<Cache> {
     this.declarablePropertiesMap.put(declarable, properties);
   }
   
-  public List getBridgeServers() {
-    return getCacheServers();
-  }
   public List getCacheServers() {
     return this.bridgeServers;
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheServerCreation.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheServerCreation.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheServerCreation.java
new file mode 100644
index 0000000..d961d14
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheServerCreation.java
@@ -0,0 +1,238 @@
+/*=========================================================================
+ * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * one or more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.internal.cache.xmlcache;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Set;
+
+import com.gemstone.gemfire.cache.Cache;
+import com.gemstone.gemfire.cache.ClientSession;
+import com.gemstone.gemfire.cache.InterestRegistrationListener;
+import com.gemstone.gemfire.cache.server.CacheServer;
+import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
+import com.gemstone.gemfire.distributed.DistributedMember;
+import com.gemstone.gemfire.internal.cache.AbstractCacheServer;
+import com.gemstone.gemfire.internal.cache.InternalCache;
+import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
+
+/**
+ * Represents a {@link CacheServer} that is created declaratively.
+ *
+ * @author David Whitlock
+ * @since 4.0
+ */
+public class CacheServerCreation extends AbstractCacheServer {
+
+  //////////////////////  Constructors  //////////////////////
+
+  /**
+   * Creates a new <code>BridgeServerCreation</code> with the default
+   * configuration.
+   *
+   * @param cache
+   *        The cache being served
+   */
+  CacheServerCreation(InternalCache cache) {
+    super(cache);
+  }
+
+  CacheServerCreation(InternalCache cache, boolean attachListener) {
+    super(cache, attachListener);
+  }
+  
+  /**
+   * Constructor for retaining bridge server information during auto-reconnect
+   * @param cache
+   * @param other
+   */
+  public CacheServerCreation(InternalCache cache, CacheServer other) {
+    super(cache);
+    setPort(other.getPort());
+    setBindAddress(other.getBindAddress());
+    setHostnameForClients(other.getHostnameForClients());
+    setMaxConnections(other.getMaxConnections());
+    setMaxThreads(other.getMaxThreads());
+    setNotifyBySubscription(other.getNotifyBySubscription());
+    setSocketBufferSize(other.getSocketBufferSize());
+    setTcpNoDelay(other.getTcpNoDelay());
+    setMaximumTimeBetweenPings(other.getMaximumTimeBetweenPings());
+    setMaximumMessageCount(other.getMaximumMessageCount());
+    setMessageTimeToLive(other.getMessageTimeToLive());
+    //      setTransactionTimeToLive(other.getTransactionTimeToLive());  not implemented in CacheServer for v6.6
+    setGroups(other.getGroups());
+    setLoadProbe(other.getLoadProbe());
+    setLoadPollInterval(other.getLoadPollInterval());
+    ClientSubscriptionConfig cscOther = other.getClientSubscriptionConfig();
+    ClientSubscriptionConfig cscThis = this.getClientSubscriptionConfig();
+    // added for configuration of ha overflow
+    cscThis.setEvictionPolicy(cscOther.getEvictionPolicy());
+    cscThis.setCapacity(cscOther.getCapacity());
+    String diskStoreName = cscOther.getDiskStoreName();
+    if (diskStoreName != null) {
+      cscThis.setDiskStoreName(diskStoreName);
+    } else {
+      cscThis.setOverflowDirectory(cscOther.getOverflowDirectory());
+    }
+    // this.cache = null; we should null out the cache since we no longer need it
+  }
+
+  /////////////////////  Instance Methods  /////////////////////
+
+  @Override
+  public void start() throws IOException {
+    // This method is invoked during testing, but it is not necessary
+    // to do anything.
+  }
+
+  @Override
+  public void setNotifyBySubscription(boolean b) {
+    this.notifyBySubscription = b;
+  }
+
+  @Override
+  public boolean getNotifyBySubscription() {
+    return this.notifyBySubscription;
+  }
+
+  @Override
+  public void setSocketBufferSize(int socketBufferSize) {
+    this.socketBufferSize = socketBufferSize;
+  }
+  
+  @Override
+  public int getSocketBufferSize() {
+    return this.socketBufferSize;
+  }
+  
+  @Override
+  public void setTcpNoDelay(boolean setting) {
+    this.tcpNoDelay = setting;
+  }
+  
+  @Override
+  public boolean getTcpNoDelay() {
+    return this.tcpNoDelay;
+  }
+
+  @Override
+  public void setMaximumTimeBetweenPings(int maximumTimeBetweenPings) {
+    this.maximumTimeBetweenPings = maximumTimeBetweenPings;
+  }
+  
+  @Override
+  public int getMaximumTimeBetweenPings() {
+    return this.maximumTimeBetweenPings;
+  }
+  
+  @Override
+  public int getMaximumMessageCount() {
+    return this.maximumMessageCount;
+  }
+
+  @Override
+  public void setMaximumMessageCount(int maximumMessageCount) {
+    this.maximumMessageCount = maximumMessageCount;
+  }
+  
+  @Override
+  public int getMessageTimeToLive() {
+    return this.messageTimeToLive;
+  }
+
+  @Override
+  public void setMessageTimeToLive(int messageTimeToLive) {
+    this.messageTimeToLive = messageTimeToLive;
+  }
+  
+  public boolean isRunning() {
+    throw new UnsupportedOperationException(LocalizedStrings.SHOULDNT_INVOKE.toLocalizedString());
+  }
+
+  public void stop() {
+    throw new UnsupportedOperationException(LocalizedStrings.SHOULDNT_INVOKE.toLocalizedString());
+  }
+
+  /**
+   * Returns whether or not this bridge server has the same
+   * configuration as another bridge server.
+   */
+  @Override
+  public boolean sameAs(CacheServer other) {
+    ClientSubscriptionConfig cscThis = this.getClientSubscriptionConfig();
+    ClientSubscriptionConfig cscOther = other.getClientSubscriptionConfig();
+    boolean result = 
+        this.getPort() == other.getPort() &&
+        this.getSocketBufferSize() == other.getSocketBufferSize() &&
+        this.getMaximumTimeBetweenPings() == other.getMaximumTimeBetweenPings() &&
+        this.getNotifyBySubscription() == other.getNotifyBySubscription() &&
+        this.getMaxConnections() == other.getMaxConnections() &&
+        this.getMaxThreads() == other.getMaxThreads() &&
+        this.getMaximumMessageCount() == other.getMaximumMessageCount() &&
+        this.getMessageTimeToLive() == other.getMessageTimeToLive() &&
+        this.getTcpNoDelay() == other.getTcpNoDelay() &&
+        cscThis.getCapacity() == cscOther.getCapacity() &&
+        cscThis.getEvictionPolicy().equals(cscOther.getEvictionPolicy());
+    String diskStoreName = cscThis.getDiskStoreName();
+    if (diskStoreName != null) {
+      result = result && diskStoreName.equals(cscOther.getDiskStoreName());
+    } else {
+      result = result && cscThis.getOverflowDirectory().equals(cscOther.getOverflowDirectory());
+    }
+    return result;
+  }
+
+  @Override
+  public String toString()
+  {
+    return "BridgeServerCreation on port " + this.getPort() +
+    " notify by subscription " + this.getNotifyBySubscription() +
+    " maximum time between pings " + this.getMaximumTimeBetweenPings() + 
+    " socket buffer size " + this.getSocketBufferSize() + 
+    " maximum connections " + this.getMaxConnections() +
+    " maximum threads " + this.getMaxThreads() +
+    " maximum message count " + this.getMaximumMessageCount() +
+    " message time to live " + this.getMessageTimeToLive() +
+    " groups " + Arrays.asList(getGroups()) +
+    " loadProbe " + loadProbe +
+    " loadPollInterval " + loadPollInterval +
+    this.getClientSubscriptionConfig().toString();
+  }
+  
+  public ClientSubscriptionConfig getClientSubscriptionConfig(){
+    return this.clientSubscriptionConfig;
+  }
+
+  public Set getInterestRegistrationListeners() {
+    //TODO Yogesh : implement me 
+    return null;
+  }
+
+  public void registerInterestRegistrationListener(
+      InterestRegistrationListener listener) {
+    //TODO Yogesh : implement me
+  }
+
+  public void unregisterInterestRegistrationListener(
+      InterestRegistrationListener listener) {
+    //TODO Yogesh : implement me
+  }
+
+  public Set getAllClientSessions() {
+    throw new UnsupportedOperationException("Shouldn't be invoked");
+  }
+
+  public ClientSession getClientSession(DistributedMember member) {
+    throw new UnsupportedOperationException("Shouldn't be invoked");
+  }
+
+  public ClientSession getClientSession(String durableClientId) {
+    throw new UnsupportedOperationException("Shouldn't be invoked");
+  }
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
index 06eb091..ee4e0ae 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlGenerator.java
@@ -85,7 +85,6 @@ import com.gemstone.gemfire.cache.client.ClientRegionShortcut;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.execute.Function;
 import com.gemstone.gemfire.cache.execute.FunctionService;
@@ -95,9 +94,6 @@ import com.gemstone.gemfire.cache.query.internal.index.HashIndex;
 import com.gemstone.gemfire.cache.query.internal.index.PrimaryKeyIndex;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.server.ServerLoadProbe;
-import com.gemstone.gemfire.cache.util.BridgeClient;
-import com.gemstone.gemfire.cache.util.BridgeLoader;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
 import com.gemstone.gemfire.cache.util.ObjectSizer;
 import com.gemstone.gemfire.cache.wan.GatewayEventFilter;
 import com.gemstone.gemfire.cache.wan.GatewayReceiver;
@@ -1223,8 +1219,8 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     if (this.version.compareTo(CacheXmlVersion.VERSION_5_7) < 0) {
       return;
     }
-    if (cp instanceof BridgePoolImpl || ((PoolImpl)cp).isUsedByGateway()) {
-      // no need to generate xml for bridge pools
+    if (((PoolImpl)cp).isUsedByGateway()) {
+      // no need to generate xml for gateway pools
       return;
     }
     AttributesImpl atts = new AttributesImpl();
@@ -1389,12 +1385,6 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
         handler.endElement("", DISK_DIR, DISK_DIR);
       }
     }
-    {
-      BridgeWriter bw = cfg.getBridgeWriter();
-      if (bw != null) {
-        generate(CACHE_WRITER, bw);
-      }
-    }
     handler.endElement("", DYNAMIC_REGION_FACTORY, DYNAMIC_REGION_FACTORY);
   }
 
@@ -2194,22 +2184,13 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
       }
     }
 
-    if (attrs.getCacheWriter() == attrs.getCacheLoader()
-        && attrs.getCacheWriter() instanceof BridgeClient) {
-      // just do the writer; the single instance will be made both loader and writer
-      if ((!(attrs instanceof RegionAttributesCreation) ||
-           ((RegionAttributesCreation) attrs).hasCacheWriter())) {
-        generate(CACHE_WRITER, attrs.getCacheWriter());
-      }
-    } else {
-      if ((!(attrs instanceof RegionAttributesCreation)
-           || ((RegionAttributesCreation) attrs).hasCacheLoader())) {
-        generate(CACHE_LOADER, attrs.getCacheLoader());
-      }
-      if ((!(attrs instanceof RegionAttributesCreation) ||
-           ((RegionAttributesCreation) attrs).hasCacheWriter())) {
-        generate(CACHE_WRITER, attrs.getCacheWriter());
-      }
+    if ((!(attrs instanceof RegionAttributesCreation)
+        || ((RegionAttributesCreation) attrs).hasCacheLoader())) {
+      generate(CACHE_LOADER, attrs.getCacheLoader());
+    }
+    if ((!(attrs instanceof RegionAttributesCreation) ||
+        ((RegionAttributesCreation) attrs).hasCacheWriter())) {
+      generate(CACHE_WRITER, attrs.getCacheWriter());
     }
     if ((!(attrs instanceof RegionAttributesCreation) ||
          ((RegionAttributesCreation) attrs).hasCacheListeners())) {
@@ -2254,10 +2235,6 @@ public class CacheXmlGenerator extends CacheXml implements XMLReader {
     Properties props = null;
     if (callback instanceof Declarable2) {
       props = ((Declarable2) callback).getConfig();
-    } else if (callback instanceof BridgeWriter) {
-      props = ((BridgeWriter) callback).getProperties();
-    } else if (callback instanceof BridgeLoader) {
-      props = ((BridgeLoader) callback).getProperties();
     } else if (callback instanceof ReflectionBasedAutoSerializer) {
       props = ((ReflectionBasedAutoSerializer) callback).getConfig();
     } else if (callback instanceof Declarable  && cache instanceof GemFireCacheImpl) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
index 9b2f5ed..f0b3612 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/CacheXmlParser.java
@@ -85,7 +85,6 @@ import com.gemstone.gemfire.cache.query.internal.index.IndexCreationData;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
 import com.gemstone.gemfire.cache.server.ServerLoadProbe;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
 import com.gemstone.gemfire.cache.util.ObjectSizer;
 import com.gemstone.gemfire.cache.wan.GatewayEventFilter;
 import com.gemstone.gemfire.cache.wan.GatewayEventSubstitutionFilter;
@@ -874,25 +873,10 @@ public class CacheXmlParser extends CacheXml implements ContentHandler {
     String poolName = (String)stack.pop();
     String disableRegisterInterest = (String)stack.pop();
     String disablePersistBackup = (String)stack.pop();
-    CacheWriter cw = attrs.getCacheWriter();
-    if(poolName !=null && cw != null) {
-      throw new CacheXmlException("You cannot specify both a poolName and a cacheWriter for a dynamic-region-factory.");
-    }
-    if (cw != null && !(cw instanceof BridgeWriter)) {
-      throw new CacheXmlException(LocalizedStrings.CacheXmlParser_THE_DYNAMICREGIONFACTORY_CACHEWRITER_MUST_BE_AN_INSTANCE_OF_BRIDGEWRITER.toLocalizedString());
-    }
     DynamicRegionFactory.Config cfg;
-    if(poolName != null) {
-      cfg =
-        new DynamicRegionFactory.Config(dir, poolName,
+    cfg = new DynamicRegionFactory.Config(dir, poolName,
             !Boolean.valueOf(disablePersistBackup).booleanValue(),
             !Boolean.valueOf(disableRegisterInterest).booleanValue());
-    } else {
-      cfg =
-        new DynamicRegionFactory.Config(dir, (BridgeWriter)cw,
-          !Boolean.valueOf(disablePersistBackup).booleanValue(),
-          !Boolean.valueOf(disableRegisterInterest).booleanValue());
-    }
     CacheCreation cache = (CacheCreation)stack.peek();
     cache.setDynamicRegionFactoryConfig(cfg);
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/ClientCacheCreation.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/ClientCacheCreation.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/ClientCacheCreation.java
index d12e8ce..83b3ece 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/ClientCacheCreation.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/ClientCacheCreation.java
@@ -28,7 +28,6 @@ import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.util.BridgeServer;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.PoolFactoryImpl;
 import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
@@ -145,10 +144,6 @@ public class ClientCacheCreation extends CacheCreation implements ClientCache {
   }
 
   @Override
-  public BridgeServer addBridgeServer() {
-    throw new UnsupportedOperationException(LocalizedStrings.SHOULDNT_INVOKE.toLocalizedString());
-  }
-  @Override
   public CacheServer addCacheServer() {
     throw new UnsupportedOperationException(LocalizedStrings.SHOULDNT_INVOKE.toLocalizedString());
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/RegionAttributesCreation.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/RegionAttributesCreation.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/RegionAttributesCreation.java
index ff494dc..e740df4 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/RegionAttributesCreation.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/xmlcache/RegionAttributesCreation.java
@@ -35,7 +35,6 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.SubscriptionAttributes;
-import com.gemstone.gemfire.cache.util.BridgeClient;
 import com.gemstone.gemfire.compression.Compressor;
 import com.gemstone.gemfire.internal.cache.EvictionAttributesImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
@@ -514,10 +513,6 @@ public class RegionAttributesCreation extends UserSpecifiedRegionAttributes impl
     CacheLoader old = this.cacheLoader;
     this.cacheLoader = cacheLoader;
     setHasCacheLoader(true);
-    if (cacheLoader instanceof BridgeClient && !hasCacheWriter()) {
-      // fix for bug 36247
-      setCacheWriter((BridgeClient)cacheLoader);
-    }
     return old;
   }
 
@@ -529,10 +524,6 @@ public class RegionAttributesCreation extends UserSpecifiedRegionAttributes impl
     CacheWriter old = this.cacheWriter;
     this.cacheWriter = cacheWriter;
     setHasCacheWriter(true);
-    if (cacheWriter instanceof BridgeClient && !hasCacheLoader()) {
-      // fix for bug 36247
-      setCacheLoader((BridgeClient)cacheWriter);
-    }
     return old;
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java
index f5ae3e5..7bf07c9 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/LocalizedStrings.java
@@ -131,7 +131,7 @@ public class LocalizedStrings extends ParentLocalizedStrings {
   public static final StringId EndpointImpl_0_CAN_NOT_REGISTER_INSTANTIATORS_1_BECAUSE_THE_SERVER_IS_NOT_AVAILABLE = new StringIdImpl(3505, "{0} : Can not register instantiators   {1}  because the server is not available.");
   public static final StringId EndpointImpl_0_CANNOT_UNREGISTER_INTEREST_IN_REGION_1_KEY_2_BECAUSE_THE_SERVER_IS_NOT_AVAILABLE = new StringIdImpl(3506, "{0} : Cannot unregister interest in region  {1}  key  {2}  because the server is not available.");
   public static final StringId EndpointImpl_0_CAN_NOT_NOTIFY_SERVER_THAT_THIS_CLIENT_IS_READY_BECAUSE_THE_SERVER_IS_NOT_AVAILABLE = new StringIdImpl(3507, "{0} : Can not notify server that this client is ready because the server is not available.");
-  public static final StringId CacheCreation_WHILE_STARTING_BRIDGE_SERVER_0 = new StringIdImpl(3508, "While starting bridge server  {0}");
+  public static final StringId CacheCreation_WHILE_STARTING_CACHE_SERVER_0 = new StringIdImpl(3508, "While starting cache server  {0}");
   public static final StringId CacheCreation_WHILE_STARTING_GATEWAY_HUB_0 = new StringIdImpl(3509, "While starting gateway hub  {0}");
   public static final StringId CacheXml_ERROR_WHILE_PARSING_XML = new StringIdImpl(3510, "Error while parsing XML");
   public static final StringId CacheXml_FATAL_ERROR_WHILE_PARSING_XML = new StringIdImpl(3511, "Fatal error while parsing XML");
@@ -654,9 +654,9 @@ public class LocalizedStrings extends ParentLocalizedStrings {
   public static final StringId AdminWaiters_REQUEST_WAIT_WAS_INTERRUPTED = new StringIdImpl(4029, "Request wait was interrupted.");
   public static final StringId AlertLevelChangeMessage_CHANGING_ALERT_LEVEL_TO_0 = new StringIdImpl(4030, "Changing alert level to {0}");
   public static final StringId BridgeServerRequest_ADD_BRIDGE_SERVER = new StringIdImpl(4031, "Add bridge server");
-  public static final StringId BridgeServerRequest_GET_INFO_ABOUT_BRIDGE_SERVER_0 = new StringIdImpl(4032, "Get info about bridge server {0}");
-  public static final StringId BridgeServerRequest_START_BRIDGE_SERVER_0 = new StringIdImpl(4033, "Start bridge server {0}");
-  public static final StringId BridgeServerRequest_STOP_BRIDGE_SERVER_0 = new StringIdImpl(4034, "Stop bridge server {0}");
+  public static final StringId BridgeServerRequest_GET_INFO_ABOUT_BRIDGE_SERVER_0 = new StringIdImpl(4032, "Get info about cache server {0}");
+  public static final StringId BridgeServerRequest_START_BRIDGE_SERVER_0 = new StringIdImpl(4033, "Start cache server {0}");
+  public static final StringId BridgeServerRequest_STOP_BRIDGE_SERVER_0 = new StringIdImpl(4034, "Stop cache server {0}");
   public static final StringId BridgeServerRequest_UNKNOWN_OPERATION_0 = new StringIdImpl(4035, "Unknown operation {0}");
   public static final StringId CacheConfigRequest_SET_A_SINGLE_CACHE_CONFIGURATION_ATTRIBUTE = new StringIdImpl(4036, "Set a single cache configuration attribute");
   public static final StringId CancellationMessage_CANCELLATIONMESSAGE_FROM_0_FOR_MESSAGE_ID_1 = new StringIdImpl(4037, "CancellationMessage from {0} for message id {1}");
@@ -982,7 +982,7 @@ public class LocalizedStrings extends ParentLocalizedStrings {
   public static final StringId StatAlertsManager_STATALERTMANAGER_EVALUATEALERTDEFNSTASK_GENERAL_EXCEPTION_0 = new StringIdImpl(4357, "StatAlertManager.EvaluateAlertDefnsTask :General Exception: {0}");
   public static final StringId CqQueryImpl_CQ_NOT_REGISTERED_ON_PRIMARY = new StringIdImpl(4358, "Cq not registered on primary");
   public static final StringId HACacheServer_INITIALIZED = new StringIdImpl(4359, "Initialized");
-  public static final StringId BridgeServerImpl_CLIENT_MESSAGES_REGION_IS_GETTING_CREATED = new StringIdImpl(4360, "client messages Region is getting created");
+  // ok to reuse 4360
   public static final StringId HARegionQueue_TASK_TO_DECREMENT_THE_REF_COUNT_MAY_NOT_HAVE_BEEN_STARTED = new StringIdImpl(4361, "Exception in HARegionQueue.updateHAContainer(). The task to decrement the ref count by one for all the HAEventWrapper instances of this queue present in the haContainer may not have been started");
   public static final StringId CacheClientNotifier_HACONTAINER_0_IS_NOW_CLEANED_UP = new StringIdImpl(4362, "haContainer ({0}) is now cleaned up.");
   public static final StringId CacheClientNotifier_HACONTAINER_0_HAS_BEEN_CREATED = new StringIdImpl(4363, "haContainer ({0}) has been created.");
@@ -1006,7 +1006,7 @@ public class LocalizedStrings extends ParentLocalizedStrings {
   public static final StringId RegionAttributesCreation_CUSTOMENTRYTIMETOLIVE_IS_NOT_THE_SAME = new StringIdImpl(4381, "CustomEntryTimeToLive is not the same");
   public static final StringId AbstractRegion_CANNOT_SET_CUSTOM_TIME_TO_LIVE_WHEN_STATISTICS_ARE_DISABLED = new StringIdImpl(4382, "Cannot set custom time to live when statistics are disabled");
   public static final StringId PutMessage_UNKNOWN_DESERIALIZATION_POLICY = new StringIdImpl(4383, "unknown deserialization policy");
-  public static final StringId BridgeServerImpl__0_INVALID_EVICTION_POLICY = new StringIdImpl(4384, "{0} Invalid eviction policy");
+  public static final StringId CacheServerImpl__0_INVALID_EVICTION_POLICY = new StringIdImpl(4384, "{0} Invalid eviction policy");
   public static final StringId MergeLogFiles_IF_A_DIRECTORY_IS_SPECIFIED_ALL_LOG_FILES_IN_THAT_DIRECTORY_ARE_MERGED = new StringIdImpl(4385, "If a directory is specified, all .log files in that directory are merged.");
   public static final StringId MergeLogFiles_FILE_0_IS_NEITHER_A_FILE_NOR_A_DIRECTORY = new StringIdImpl(4386, "File ''{0}'' is neither a file nor a directory.");
   public static final StringId AvailablePort_NETWORK_IS_UNREACHABLE = new StringIdImpl(4387, "Network is unreachable");
@@ -1146,9 +1146,9 @@ public class LocalizedStrings extends ParentLocalizedStrings {
   public static final StringId Oplog_OPLOG_SHUTDOWN_INTERRUPTED_ACQUIRING_READ_LOCK = new StringIdImpl(4524, "Oplog#shutdown: interrupted acquiring read lock.");
   public static final StringId InternalDistributedSystem_UNABLE_TO_START_THE_MONITOR_SERVICE = new StringIdImpl(4525, "Unable to start the monitor service");
   public static final StringId AbstractDistributionConfig_REDIS_BIND_ADDRESS_0_INVALID_MUST_BE_IN_1 = new StringIdImpl(4526, "The redis-bind-address \"{0}\" is not a valid address for this machine.  These are the valid addresses for this machine: {1}");
-  public static final StringId BridgeServerImpl_CACHESERVER_ERROR_CLOSING_LOAD_MONITOR = new StringIdImpl(4527, "CacheServer - Error closing load monitor");
-  public static final StringId BridgeServerImpl_CACHESERVER_ERROR_CLOSING_ADVISOR = new StringIdImpl(4528, "CacheServer - Error closing advisor");
-  public static final StringId BridgeServerImpl_CACHESERVER_ERROR_CLOSING_ACCEPTOR_MONITOR = new StringIdImpl(4529, "CacheServer - Error closing acceptor monitor");
+  public static final StringId CacheServerImpl_CACHESERVER_ERROR_CLOSING_LOAD_MONITOR = new StringIdImpl(4527, "CacheServer - Error closing load monitor");
+  public static final StringId CacheServerImpl_CACHESERVER_ERROR_CLOSING_ADVISOR = new StringIdImpl(4528, "CacheServer - Error closing advisor");
+  public static final StringId CacheServerImpl_CACHESERVER_ERROR_CLOSING_ACCEPTOR_MONITOR = new StringIdImpl(4529, "CacheServer - Error closing acceptor monitor");
   public static final StringId DiskRegion_COMPLEXDISKREGION_CLOSE_EXCEPTION_IN_STOPPING_COMPACTOR = new StringIdImpl(4530, "DiskRegion::close: Exception in stopping compactor");
   public static final StringId CacheClientNotifier_CACHECLIENTNOTIFIER_CAUGHT_EXCEPTION_ATTEMPTING_TO_CLIENT = new StringIdImpl(4531, "CacheClientNotifier: Caught exception attempting to client: ");
   public static final StringId CqQueryImpl_EXCEPTION_WHILE_EXECUTING_CQ_EXCEPTION_0 = new StringIdImpl(4532, "Exception while executing cq Exception: {0}");
@@ -1296,7 +1296,7 @@ public class LocalizedStrings extends ParentLocalizedStrings {
   public static final StringId GatewayImpl_PAUSED__0 = new StringIdImpl(4674, "Paused {0}");
   public static final StringId GatewayImpl_RESUMED__0 = new StringIdImpl(4675, "Resumed {0}");
   public static final StringId CacheClientProxy_NOT_PRIMARY = new StringIdImpl(4676, "This process is not the primary server for the given client");
-  public static final StringId BridgeServerImpl_MUST_BE_RUNNING = new StringIdImpl(4677, "The bridge server must be running to use this operation");
+  public static final StringId CacheServerImpl_MUST_BE_RUNNING = new StringIdImpl(4677, "The cache server must be running to use this operation");
   public static final StringId InitialImageOperation_0_UNABLE_TO_FLUSH_STATE_TO_1 = new StringIdImpl(4678, "{0}: Unable to flush state to {1} for concurrent gii union");
   public static final StringId InstantiatorRecoveryListener_INSTANTIATORRECOVERYTASK_ERROR_CLASSNOTFOUNDEXCEPTION = new StringIdImpl(4679, "InstantiatorRecoveryTask - Error ClassNotFoundException: {0}");
   public static final StringId AbstractRegion_NO_CUSTOM_EVICTION_SET = new StringIdImpl(4680, "Custom eviction not enabled for region {0}");  public static final StringId ResourceAdvisor_MEMBER_CAUGHT_EXCEPTION_PROCESSING_PROFILE = new StringIdImpl(4682, "This member caught exception processing profile {0} {1}");

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
index 21fc52e..44e67ca 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
@@ -41,13 +41,13 @@ class ParentLocalizedStrings {
   public static final StringId AbstractHealthEvaluator_POOR_HEALTH__0 = new StringIdImpl(1026, "POOR_HEALTH:  {0}");
   public static final StringId AbstractRegion_CACHECALLBACK_CLOSE_EXCEPTION = new StringIdImpl(1027, "CacheCallback close exception");
   // ok to reuse 1028
-  public static final StringId AcceptorImpl_BRIDGE_SERVER_CONNECTION_LISTENER_BOUND_TO_ADDRESS_0_WITH_BACKLOG_1 = new StringIdImpl(1029, "Bridge server connection listener bound to address {0} with backlog {1}.");
-  public static final StringId AcceptorImpl_BRIDGE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION_DUE_TO_SOCKET_TIMEOUT = new StringIdImpl(1030, "Bridge server: failed accepting client connection due to socket timeout.");
-  public static final StringId AcceptorImpl_BRIDGE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION__0 = new StringIdImpl(1031, "Bridge server: failed accepting client connection  {0}");
-  public static final StringId AcceptorImpl_BRIDGE_SERVER_ON_PORT_0_IS_SHUTTING_DOWN = new StringIdImpl(1032, "Bridge server on port {0} is shutting down.");
-  public static final StringId AcceptorImpl_BRIDGE_SERVER_TIMED_OUT_WAITING_FOR_HANDSHAKE_FROM__0 = new StringIdImpl(1033, "Bridge server: timed out waiting for handshake from  {0}");
-  public static final StringId AcceptorImpl_BRIDGE_SERVER_UNEXPECTED_EXCEPTION = new StringIdImpl(1034, "Bridge server: Unexpected Exception");
-  public static final StringId AcceptorImpl_BRIDGE_SERVER_UNEXPECTED_IOEXCEPTION_FROM_ACCEPT = new StringIdImpl(1035, "Bridge server: Unexpected IOException from accept");
+  public static final StringId AcceptorImpl_CACHE_SERVER_CONNECTION_LISTENER_BOUND_TO_ADDRESS_0_WITH_BACKLOG_1 = new StringIdImpl(1029, "Cache server connection listener bound to address {0} with backlog {1}.");
+  public static final StringId AcceptorImpl_CACHE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION_DUE_TO_SOCKET_TIMEOUT = new StringIdImpl(1030, "Cache server: failed accepting client connection due to socket timeout.");
+  public static final StringId AcceptorImpl_CACHE_SERVER_FAILED_ACCEPTING_CLIENT_CONNECTION__0 = new StringIdImpl(1031, "Cache server: failed accepting client connection  {0}");
+  public static final StringId AcceptorImpl_CACHE_SERVER_ON_PORT_0_IS_SHUTTING_DOWN = new StringIdImpl(1032, "Cache server on port {0} is shutting down.");
+  public static final StringId AcceptorImpl_CACHE_SERVER_TIMED_OUT_WAITING_FOR_HANDSHAKE_FROM__0 = new StringIdImpl(1033, "Cache server: timed out waiting for handshake from  {0}");
+  public static final StringId AcceptorImpl_CACHE_SERVER_UNEXPECTED_EXCEPTION = new StringIdImpl(1034, "Cache server: Unexpected Exception");
+  public static final StringId AcceptorImpl_CACHE_SERVER_UNEXPECTED_IOEXCEPTION_FROM_ACCEPT = new StringIdImpl(1035, "Cache server: Unexpected IOException from accept");
   public static final StringId AcceptorImpl_EXCEEDED_MAX_CONNECTIONS_0 = new StringIdImpl(1036, "exceeded max-connections {0}");
   public static final StringId AcceptorImpl_IGNORING = new StringIdImpl(1037, "ignoring");
   public static final StringId AcceptorImpl_IGNORING_EVENT_ON_SELECTOR_KEY__0 = new StringIdImpl(1038, "ignoring event on selector key  {0}");
@@ -132,16 +132,10 @@ class ParentLocalizedStrings {
   public static final StringId BaseCommand_UNKNOWN_QUERY_EXCEPTION = new StringIdImpl(1117, "Uknown query Exception.");
   public static final StringId BaseCommand_SEVERE_CACHE_EXCEPTION_0 = new StringIdImpl(1118, "Severe cache exception : {0}");
   public static final StringId BaseCommand_UNEXPECTED_QUERYINVALIDEXCEPTION_WHILE_PROCESSING_QUERY_0 = new StringIdImpl(1119, "Unexpected QueryInvalidException while processing query {0}");
-  public static final StringId BridgeLoader_THE_BRIDGELOADER_COULD_NOT_ACQUIRE_OR_CREATE_A_CONNECTION_BECAUSE__0 = new StringIdImpl(1120, "The BridgeLoader could not acquire or create a Connection because  {0}");
-  public static final StringId BridgeLoader_THE_SERVER_IS_UNREACHABLE_COULD_NOT_CONNECT_AFTER_0_ATTEMPTS = new StringIdImpl(1121, "The Server is unreachable, could not connect after {0} attempts.");
-  public static final StringId BridgeServerImpl_CACHESERVER_CONFIGURATION___0 = new StringIdImpl(1122, "CacheServer Configuration:   {0}");
-  public static final StringId BridgeServerImpl_FORCING_NOTIFYBYSUBSCRIPTION_TO_SUPPORT_DYNAMIC_REGIONS = new StringIdImpl(1123, "Forcing notifyBySubscription to support dynamic regions");
-  public static final StringId BridgeServerImpl_STARTED__0 = new StringIdImpl(1124, "Started  {0}");
-  public static final StringId BridgeWriter_0_NO_ACTIVE_SERVERS_WERE_FOUND = new StringIdImpl(1126, "{0}: No active servers were found.");
-  public static final StringId BridgeWriter_0_NO_AVAILABLE_CONNECTION_WAS_FOUND_BUT_THE_FOLLOWING_ACTIVE_SERVERS_EXIST_1 = new StringIdImpl(1127, "{0}: No available connection was found, but the following active server(s) exist: {1}");
-  public static final StringId BridgeWriter_0_THE_BRIDGEWRITER_HAS_BEEN_CLOSED = new StringIdImpl(1128, "{0}: The BridgeWriter has been closed.");
-  public static final StringId BridgeWriter_THE_BRIDGEWRCLEARITER_COULD_NOT_ACQUIRE_OR_CREATE_A_CONNECTION_BECAUSE_0 = new StringIdImpl(1129, "The BridgeWrcleariter could not acquire or create a Connection because: {0}");
-  public static final StringId BridgeWriter_THE_BRIDGEWRITER_COULD_NOT_ACQUIRE_OR_CREATE_A_CONNECTION_BECAUSE__0 = new StringIdImpl(1130, "The BridgeWriter could not acquire or create a Connection because:  {0}");
+  // ok to reuse 1120..1121
+  public static final StringId CacheServerImpl_CACHESERVER_CONFIGURATION___0 = new StringIdImpl(1122, "CacheServer Configuration:   {0}");
+  public static final StringId CacheServerImpl_FORCING_NOTIFYBYSUBSCRIPTION_TO_SUPPORT_DYNAMIC_REGIONS = new StringIdImpl(1123, "Forcing notifyBySubscription to support dynamic regions");
+  // ok to reuse 1124..1130
   public static final StringId BucketAdvisor_ATTEMPTED_TO_CLOSE_BUCKETADVISOR_THAT_IS_ALREADY_CLOSED = new StringIdImpl(1131, "Attempted to close BucketAdvisor that is already CLOSED");
   public static final StringId AgentImpl_COULD_NOT_TAIL_0_BECAUSE_1 = new StringIdImpl(1132, "Could not tail \"{0}\" because: {1}");
   public static final StringId SystemAdmin_USED_TO_SPECIFY_A_HOST_NAME_OR_IP_ADDRESS_TO_GIVE_TO_CLIENTS_SO_THEY_CAN_CONNECT_TO_A_LOCATOR = new StringIdImpl(1133, "Used to specify a host name or IP address to give to clients so they can connect to a locator.");
@@ -333,10 +327,10 @@ class ParentLocalizedStrings {
   public static final StringId CqQueryImpl_REGION__0_SPECIFIED_WITH_CQ_NOT_FOUND_CQNAME_1 = new StringIdImpl(1319, "Region : {0} specified with cq not found. CqName: {1}");
   public static final StringId CqQueryImpl_RUNTIMEEXCEPTION_OCCOURED_IN_THE_CQLISTENER_OF_THE_CQ_CQNAME_0_ERROR_1 = new StringIdImpl(1320, "RuntimeException occurred in the CqListener of the CQ, CqName : {0} Error : {1}");
   public static final StringId CqQueryImpl_SELECT_DISTINCT_QUERIES_NOT_SUPPORTED_IN_CQ = new StringIdImpl(1321, "select DISTINCT queries not supported in CQ");
-  public static final StringId CqQueryImpl_THE_ESTABLISHCALLBACKCONNECTION_ON_BRIDGEWRITER_CLIENT_INSTALLED_ON_REGION_0_IS_SET_TO_FALSE = new StringIdImpl(1322, "The ''establishCallbackConnection'' on BridgeWriter/Client installed on Region {0} is set to false.");
+  // ok to reuse 1322
   public static final StringId CqQueryImpl_THE_WHERE_CLAUSE_IN_CQ_QUERIES_CANNOT_REFER_TO_A_REGION = new StringIdImpl(1323, "The WHERE clause in CQ queries cannot refer to a region");
   public static final StringId CqQueryImpl_UNABLE_TO_CREATE_CQ_0_ERROR__1 = new StringIdImpl(1324, "Unable to create cq {0} Error : {1}");
-  public static final StringId CqQueryImpl_UNABLE_TO_GET_THE_CONNECTIONPROXY_THE_REGION_MAY_NOT_HAVE_A_BRIDGEWRITER_OR_BRIDGECLIENT_INSTALLED_ON_IT = new StringIdImpl(1325, "Unable to get the connectionProxy. The Region may not have BridgeWriter or BridgeClient installed on it.");
+  // ok to reuse 1325
   public static final StringId CqQueryImpl_UNSUPPORTED_SEND_REQUEST_TO_SERVER = new StringIdImpl(1326, "Unsupported send request to Server.");
   public static final StringId CqQueryImpl_CQ_IS_IN_RUNNING_STATE_CQNAME_0 = new StringIdImpl(1327, "CQ is in running state, CqName : {0}");
   public static final StringId CqService_0_FAILED_TO_GET_THE_SPECIFIED_CQ_1 = new StringIdImpl(1328, "{0}: Failed to get the specified CQ: {1}");
@@ -679,7 +673,7 @@ class ParentLocalizedStrings {
   public static final StringId IndexCreationMsg_REGION_IS_LOCALLY_DESTROYED_THROWING_REGIONDESTROYEDEXCEPTION_FOR__0 = new StringIdImpl(1673, "Region is locally destroyed, throwing RegionDestroyedException for  {0}");
   public static final StringId CqQueryImpl_FAILED_TO_STOP_THE_CQ_CQNAME_0_THE_SERVER_ENDPOINTS_ON_WHICH_THIS_CQ_WAS_REGISTERED_WERE_NOT_FOUND = new StringIdImpl(1676, "Failed to stop the cq. CqName: {0}. The server endpoints on which this cq was registered were not found.");
   public static final StringId InitialImageOperation_IGNORING_EXCEPTION_DURING_GETFROMALL = new StringIdImpl(1677, "Ignoring exception during getFromAll");
-  public static final StringId InternalBridgeMembership_DONOTIFYJOINED_HAS_NO_LISTENERS_TO_NOTIFY_FOR__0 = new StringIdImpl(1678, "doNotifyJoined has no listeners to notify for  {0}");
+  // ok to reuse 1678
   public static final StringId InternalDataSerializer_COULD_NOT_LOAD_DATASERIALIZER_CLASS_0 = new StringIdImpl(1679, "Could not load DataSerializer class: {0}");
   public static final StringId InternalDataSerializer_REGISTER_DATASERIALIZER_0_OF_CLASS_1 = new StringIdImpl(1680, "Register DataSerializer {0} of class {1}");
   public static final StringId InternalDistributedSystem_CONNECTLISTENER_THREW = new StringIdImpl(1681, "ConnectListener threw...");
@@ -919,7 +913,7 @@ class ParentLocalizedStrings {
   public static final StringId PartitionedRegion_WILL_BE_CREATING_INDEX_ON_THIS_VM_BECAUSE_OF_CREATEINDEX_MESSAGE_COMING_FROM_REMOTE_VM_WITH_THESE_SETTINGS_0 = new StringIdImpl(1909, "Will be creating index on this vm because of createIndex message coming from remote vm with these settings {0} ");
   public static final StringId PartitionedRegion_WILL_BE_REMOVING_ALL_THE_BUCKET_INDEXES = new StringIdImpl(1910, "Will be removing all the bucket indexes");
   public static final StringId PartitionedRegion_WILL_BE_REMOVING_INDEXES_ON___0__BUCKETS = new StringIdImpl(1911, "Will be removing indexes on :  {0}  buckets");
-  public static final StringId PartitionedRegion_WILL_SEND_UPDATED_PROFILE_NOW_FOR_REQUIRING_OLD_VALUE_ON_THIS_BRIDGE_SERVER = new StringIdImpl(1912, "Will send updated profile now for requiring old value on this bridge server.");
+  // ok to reuse 1912
   public static final StringId ProcessBatch_0_CAUGHT_EXCEPTION_PROCESSING_BATCH_CREATE_REQUEST_1_FOR_2_EVENTS = new StringIdImpl(1913, "{0}: Caught exception processing batch create request {1} for {2} events");
   public static final StringId ProcessBatch_0_CAUGHT_EXCEPTION_PROCESSING_BATCH_DESTROY_REQUEST_1_CONTAINING_2_EVENTS = new StringIdImpl(1914, "{0}: Caught exception processing batch destroy request {1} containing {2} events");
   public static final StringId ProcessBatch_0_CAUGHT_EXCEPTION_PROCESSING_BATCH_REQUEST_1_CONTAINING_2_EVENTS = new StringIdImpl(1915, "{0}: Caught exception processing batch request {1} containing {2} events");
@@ -994,7 +988,7 @@ class ParentLocalizedStrings {
   public static final StringId Request_THE_INPUT_REGION_NAME_FOR_THE_GET_REQUEST_IS_NULL = new StringIdImpl(1984, "The input region name for the get request is null.");
   public static final StringId RuntimeDistributionConfigImpl_STILL_USING_PREVIOUS_LICENSE_BECAUSE_A_VALID_LICENSE_WAS_NOT_FOUND_AFTER_CHANGING_THE_LICENSEFILE__0 = new StringIdImpl(1985, "Still using previous license because a valid license was not found after changing the \"license-file\".  {0}");
   public static final StringId RuntimeDistributionConfigImpl_STILL_USING_PREVIOUS_LICENSE_BECAUSE_A_VALID_LICENSE_WAS_NOT_FOUND_AFTER_CHANGING_THE_LICENSETYPE__0 = new StringIdImpl(1986, "Still using previous license because a valid license was not found after changing the \"license-type\".  {0}");
-  public static final StringId LocalRegion_UNHANDLED_EXCEPTION_CAUGHT_WHILE_PROCESSING_BRIDGE_FILTERS = new StringIdImpl(1987, "Unhandled exception caught while processing bridge filters");
+  // ok to reuse 1987
   public static final StringId ServerConnection_0_HANDSHAKE_ACCEPT_FAILED_ON_SOCKET_1_2 = new StringIdImpl(1988, "{0}: Handshake accept failed on socket {1}: {2}");
   public static final StringId ServerConnection_0_HANDSHAKE_REPLY_CODE_TIMEOUT_NOT_RECEIVED_WITH_IN_1_MS = new StringIdImpl(1989, "{0}: Handshake reply code timeout, not received with in {1} ms");
   public static final StringId ServerConnection_0_RECEIVED_NO_HANDSHAKE_REPLY_CODE = new StringIdImpl(1990, "{0}: Received no handshake reply code");
@@ -1042,7 +1036,7 @@ class ParentLocalizedStrings {
   public static final StringId RemoteMessage_REGION_0_NOT_COLOCATED_WITH_TRANSACTION = new StringIdImpl(2026, "Region {0} not colocated with other regions in transaction");
   public static final StringId ServerConnection_BATCH_IDS_ARE_OUT_OF_ORDER_SETTING_LATESTBATCHID_TO_0_IT_WAS_1 = new StringIdImpl(2027, "Batch IDs are out of order. Setting latestBatchId to:{0}. It was:{1}");
   public static final StringId DistributionManager_Cache_Time_Offset_Skew_Warning = new StringIdImpl(2028, "New cache time offset calculated is off more than {0} ms from earlier offset.");
-  public static final StringId ServerConnection_LICENSE_DETAILS_CURRENT_BRIDGE_CONNECTIONS_SIZE_0_VALUES_1 = new StringIdImpl(2029, "License details: current bridge connections (size {0}) values = {1}");
+  // ok to reuse 2029
   public static final StringId CacheXmlParser_UNKNOWN_INDEX_TYPE = new StringIdImpl(2030, "Unknown index type defined as {0}, will be set to range index");
   public static final StringId TXStateStub_LOCAL_DESTROY_NOT_ALLOWED_IN_TRANSACTION = new StringIdImpl(2031, "localDestroy() is not allowed in a transaction");
   public static final StringId TXStateStub_LOCAL_INVALIDATE_NOT_ALLOWED_IN_TRANSACTION = new StringIdImpl(2032, "localInvalidate() is not allowed in a transaction");
@@ -1290,19 +1284,9 @@ class ParentLocalizedStrings {
   public static final StringId BaseCommand_UNKNOWN_RESULT_TYPE_0 = new StringIdImpl(2269, "Unknown result type:  {0}");
   public static final StringId BaseRecordManager_NAME_DIRECTORY_MUST_EXIST = new StringIdImpl(2270, "Name directory must exist");
   public static final StringId BaseRecordManager_RECORDMANAGER_HAS_BEEN_CLOSED = new StringIdImpl(2271, "RecordManager has been closed");
-  public static final StringId BridgeLoader_ALREADY_INITIALIZED = new StringIdImpl(2272, "Already initialized");
-  public static final StringId BridgeLoader_INVALID_LOAD_PARAMS_CHECK_HELPER_OBJECT = new StringIdImpl(2273, "Invalid load params, check helper object");
-  public static final StringId BridgeLoader_THE_BRIDGELOADER_HAS_BEEN_CLOSED = new StringIdImpl(2274, "The BridgeLoader has been closed.");
-  public static final StringId BridgeServerImpl_A_BRIDGE_SERVERS_CONFIGURATION_CANNOT_BE_CHANGED_ONCE_IT_IS_RUNNING = new StringIdImpl(2275, "A bridge server''s configuration cannot be changed once it is running.");
-  public static final StringId BridgeWriter_ALREADY_INITIALIZED = new StringIdImpl(2276, "Already initialized");
-  public static final StringId BridgeWriter_INTEREST_REGISTRATION_REQUIRES_ESTABLISHCALLBACKCONNECTION_PARAMETER_TO_BE_SET_TO_TRUE = new StringIdImpl(2277, "Interest registration requires establishCallbackConnection parameter to be set to true.");
-  public static final StringId BridgeWriter_INVALID_CREATE_PARAMETERS_CHECK_ENTRY_EVENT_OBJECT = new StringIdImpl(2278, "Invalid create parameters. Check entry event object");
-  public static final StringId BridgeWriter_INVALID_KEYSET_PARAMETERS_THE_REGION_CANNOT_BE_NULL = new StringIdImpl(2279, "Invalid keySet parameters. The region cannot be null.");
-  public static final StringId BridgeWriter_INVALID_REGION_PARAMS = new StringIdImpl(2280, "Invalid region params");
-  public static final StringId BridgeWriter_THE_BRIDGEWRITER_HAS_BEEN_CLOSED = new StringIdImpl(2281, "The BridgeWriter has been closed.");
-  public static final StringId BridgeWriter_THE_INPUT_KEY_CANNOT_BE_NULL = new StringIdImpl(2282, "The input key cannot be null");
-  public static final StringId BridgeWriter_THE_INPUT_PARENT_REGION_NAME_0_IS_INVALID = new StringIdImpl(2283, "The input parent region name ( {0} ) is invalid");
-  public static final StringId BridgeWriter_THE_INPUT_REGION_NAME_0_IS_INVALID = new StringIdImpl(2284, "The input region name ( {0} ) is invalid");
+  // ok to reuse 2272..2274
+  public static final StringId CacheServerImpl_A_CACHE_SERVERS_CONFIGURATION_CANNOT_BE_CHANGED_ONCE_IT_IS_RUNNING = new StringIdImpl(2275, "A cache server''s configuration cannot be changed once it is running.");
+  // ok to reuse 2276..2284
   public static final StringId BucketAdvisor_CANNOT_CHANGE_FROM_0_TO_1 = new StringIdImpl(2285, "Cannot change from  {0}  to  {1}");
   public static final StringId BucketRegion_THIS_SHOULD_NEVER_BE_CALLED_ON_0 = new StringIdImpl(2286, "This should never be called on  {0}");
   public static final StringId BucketSizeMessage_FAILED_SENDING_0 = new StringIdImpl(2287, "Failed sending < {0} >");
@@ -1321,8 +1305,8 @@ class ParentLocalizedStrings {
   public static final StringId CacheCollector_UNABLE_TO_MIX_REGION_AND_ENTRY_SNAPSHOTS_IN_CACHECOLLECTOR = new StringIdImpl(2300, "Unable to mix region and entry snapshots in CacheCollector.");
   public static final StringId CacheCreation_ATTRIBUTES_FOR_0_DO_NOT_MATCH = new StringIdImpl(2301, "Attributes for  {0}  do not match");
   //ok to reuse 2302,2303
-  public static final StringId CacheCreation_BRIDGESERVERS_SIZE = new StringIdImpl(2304, "bridgeServers size");
-  public static final StringId CacheCreation_BRIDGE_0_NOT_FOUND = new StringIdImpl(2305, "bridge  {0}  not found");
+  public static final StringId CacheCreation_CACHESERVERS_SIZE = new StringIdImpl(2304, "cacheServers size");
+  public static final StringId CacheCreation_CACHE_SERVER_0_NOT_FOUND = new StringIdImpl(2305, "cache server {0} not found");
   public static final StringId CacheCreation_NAMEDATTRIBUTES_SIZE = new StringIdImpl(2306, "namedAttributes size");
   public static final StringId CacheCreation_NO_ATTRIBUTES_FOR_0 = new StringIdImpl(2307, "No attributes for  {0}");
   public static final StringId CacheCreation_NO_ROOT_0 = new StringIdImpl(2308, "no root  {0}");
@@ -1374,7 +1358,7 @@ class ParentLocalizedStrings {
   public static final StringId CacheXmlParser_CLASS_0_IS_NOT_AN_INSTANCE_OF_DECLARABLE = new StringIdImpl(2354, "Class \"{0}\" is not an instance of Declarable.");
   public static final StringId CacheXmlParser_NO_CACHE_ELEMENT_SPECIFIED = new StringIdImpl(2355, "No cache element specified.");
   public static final StringId CacheXmlParser_ONLY_A_PARAMETER_IS_ALLOWED_IN_THE_CONTEXT_OF_0 = new StringIdImpl(2356, "Only a parameter is allowed in the context of  {0}");
-  public static final StringId CacheXmlParser_THE_DYNAMICREGIONFACTORY_CACHEWRITER_MUST_BE_AN_INSTANCE_OF_BRIDGEWRITER = new StringIdImpl(2357, "The dynamic-region-factory cache-writer must be an instance of BridgeWriter.");
+  // ok to reuse 2357
   public static final StringId CacheXmlParser_UNKNOWN_DATA_POLICY_0 = new StringIdImpl(2358, "Unknown data policy:  {0}");
   public static final StringId CacheXmlParser_UNKNOWN_EXPIRATION_ACTION_0 = new StringIdImpl(2359, "Unknown expiration action:  {0}");
   public static final StringId CacheXmlParser_UNKNOWN_GATEWAY_HUB_POLICY_0 = new StringIdImpl(2360, "Unknown gateway hub policy:  {0}");
@@ -1628,7 +1612,7 @@ class ParentLocalizedStrings {
   public static final StringId DummyQRegion_NOT_YET_IMPLEMENTED = new StringIdImpl(2610, "Not yet implemented");
   public static final StringId DumpB2NRegion_WAITED_TOO_LONG_FOR_REGION_TO_INITIALIZE_0 = new StringIdImpl(2611, "Waited too long for region to initialize {0}");
   public static final StringId DynamicRegionFactory_DYNAMIC_REGION_0_HAS_NOT_BEEN_CREATED = new StringIdImpl(2612, "Dynamic region \"{0}\" has not been created.");
-  public static final StringId DynamicRegionFactory_THE_CLIENT_POOL_OF_A_DYNAMICREGIONFACTORY_MUST_BE_CONFIGURED_WITH_ESTABLISHCALLBACKCONNECTION_SET_TO_TRUE = new StringIdImpl(2613, "The client pool of a DynamicRegionFactory must be configured with establishCallbackConnection set to true.");
+  // ok to reuse 2613
   public static final StringId ElderState_CANNOT_FORCE_GRANTOR_RECOVERY_FOR_GRANTOR_THAT_IS_TRANSFERRING = new StringIdImpl(2614, "Cannot force grantor recovery for grantor that is transferring");
   public static final StringId EndpointImpl_0_ALL_EXISTING_CONNECTIONS_TO_THIS_SERVER_ARE_IN_USE = new StringIdImpl(2615, "{0} : all existing connections to this server are in use");
   public static final StringId EndpointImpl_0_THE_CACHESERVER_HAS_DIED_UNEXPECTEDLY = new StringIdImpl(2616, "{0} : The CacheServer has died unexpectedly");
@@ -1686,7 +1670,7 @@ class ParentLocalizedStrings {
   public static final StringId GatewayHubCreation_NOT_SUPPORTED = new StringIdImpl(2669, "Not supported");
   public static final StringId GatewayHubCreation_REMOVEGATEWAY_IS_NOT_SUPPORTED = new StringIdImpl(2670, "removeGateway is not supported");
   public static final StringId GatewayHubImpl_AN_UNKNOWN_GATEWAY_HUB_POLICY_0_WAS_SPECIFIED_IT_MUST_BE_ONE_OF_1_2_3 = new StringIdImpl(2671, "An unknown gateway hub policy ( {0} ) was specified. It must be one of < {1}   {2}   {3} >.");
-  public static final StringId GatewayHubImpl_A_BRIDGE_SERVERS_CONFIGURATION_CANNOT_BE_CHANGED_ONCE_IT_IS_RUNNING = new StringIdImpl(2672, "A bridge server''s configuration cannot be changed once it is running.");
+  // ok to reuse 2672
   public static final StringId GatewayHubImpl_GATEWAYHUB_0_ALREADY_DEFINES_A_GATEWAY_WITH_ID_1 = new StringIdImpl(2673, "GatewayHub  {0}  already defines a Gateway with id= {1}");
   public static final StringId GatewayHubImpl_GATEWAYHUB_0_DOES_NOT_CONTAIN_A_GATEWAY_WITH_ID_1 = new StringIdImpl(2674, "GatewayHub  {0}  does not contain a Gateway with id= {1}");
   public static final StringId GatewayImpl_A_GATEWAYS_CONFIGURATION_CANNOT_BE_CHANGED_ONCE_IT_IS_RUNNING = new StringIdImpl(2675, "A Gateway''s configuration cannot be changed once it is running.");
@@ -2400,20 +2384,7 @@ class ParentLocalizedStrings {
   public static final StringId DistributedRegion_OPERATION_DISTRIBUTION_MAY_HAVE_FAILED_TO_NOTIFY_THESE_REQUIRED_ROLES_0 = new StringIdImpl( 3396, "Operation distribution may have failed to notify these required roles: {0}");
   public static final StringId DistributedRegion_OPERATION_DISTRIBUTION_WAS_NOT_DONE_TO_THESE_REQUIRED_ROLES_0 = new StringIdImpl( 3397, "Operation distribution was not done to these required roles: {0}");
   public static final StringId DistributedCacheOperation_THE_CACHE_HAS_BEEN_CLOSED = new StringIdImpl(3398, "The cache has been closed");
-  public static final StringId BridgeLoader_SOCKET_CLOSED_ON_SERVER = new StringIdImpl( 3399, "socket closed on server");
-  public static final StringId BridgeLoader_SOCKET_TIMED_OUT_ON_CLIENT = new StringIdImpl( 3400, "socket timed out on client");
-  public static final StringId BridgeLoader_SERVER_DEATH = new StringIdImpl( 3401, "server death");
-  public static final StringId BridgeLoader_BRIDGELOADER_CONNECTED_TO_0 = new StringIdImpl( 3402, "BridgeLoader connected to {0}");
-  public static final StringId BridgeLoader_NO_ACTIVE_SERVERS_WERE_FOUND = new StringIdImpl( 3403, "No active servers were found.");
-  public static final StringId BridgeLoader_NO_AVAILABLE_CONNECTION_WAS_FOUND_BUT_THE_FOLLOWING_ACTIVE_SERVERS_EXIST_0 = new StringIdImpl( 3404, "No available connection was found, but the following active server(s) exist: {0}");
-  public static final StringId BridgeWriter_THE_BRIDGEWRITER_HAS_BEEN_CLOSED_WHILE_ATTEMPTING_TO_LOAD_REGION_0_KEY_1 = new StringIdImpl( 3405, "The BridgeWriter has been closed while attempting to load: region={0} key={1}");
-  public static final StringId BridgeWriter_NO_ACTIVE_SERVERS_WERE_FOUND_WHILE_ATTEMPTING_TO_LOAD_REGION_0_KEY_1 = new StringIdImpl( 3406, "No active servers were found while attempting to load: region={0} key={1}");
-  public static final StringId BridgeWriter_NO_AVAILABLE_CONNECTION_WAS_FOUND_WHILE_ATTEMPTING_TO_LOAD_REGION_0_KEY_1_BUT_THE_FOLLOWING_ACTIVE_SERVERS_EXIST_2 = new StringIdImpl( 3407, "No available Connection was found while attempting to load: region={0} key={1}, but the following active servers exist: {2}");
-  public static final StringId BridgeWriter_SOCKET_TIMED_OUT_ON_CLIENT = new StringIdImpl( 3408, "socket timed out on client");
-  public static final StringId BridgeWriter_SOCKET_CLOSED_ON_SERVER = new StringIdImpl( 3409, "socket closed on server");
-  public static final StringId BridgeWriter_SERVER_DEATH = new StringIdImpl( 3410, "server death");
-  public static final StringId BridgeWriter_SERVER_UNREACHABLE_COULD_NOT_CONNECT_AFTER_0_ATTEMPTS = new StringIdImpl( 3411, "Server unreachable: could not connect after {0} attempts");
-  public static final StringId BridgeWriter_BRIDGEWRITER_CONNECTED_TO_0 = new StringIdImpl( 3412, "BridgeWriter connected to {0}");
+  // okay to reuse 3399..3412
   
   
 }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/CacheServerBridge.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/CacheServerBridge.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/CacheServerBridge.java
index 012b8ec..130482e 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/CacheServerBridge.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/CacheServerBridge.java
@@ -35,14 +35,13 @@ import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.server.ServerLoad;
 import com.gemstone.gemfire.cache.server.ServerLoadProbe;
 import com.gemstone.gemfire.cache.server.internal.ServerMetricsImpl;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListener;
 import com.gemstone.gemfire.internal.Version;
 import com.gemstone.gemfire.internal.admin.ClientHealthMonitoringRegion;
 import com.gemstone.gemfire.internal.admin.remote.ClientHealthStats;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.ha.HARegionQueue;
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+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.CacheClientNotifier;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientProxy;
@@ -60,6 +59,7 @@ import com.gemstone.gemfire.management.internal.beans.stats.StatsAverageLatency;
 import com.gemstone.gemfire.management.internal.beans.stats.StatsKey;
 import com.gemstone.gemfire.management.internal.beans.stats.StatsRate;
 import com.gemstone.gemfire.management.internal.cli.CliUtil;
+import com.gemstone.gemfire.management.membership.ClientMembershipListener;
 
 /**
  * Represents the GemFire CacheServer . Provides data and notifications about
@@ -86,7 +86,7 @@ public class CacheServerBridge extends ServerBridge{
   
   private MemberMBeanBridge memberMBeanBridge;
 
-  private BridgeMembershipListener membershipListener;
+  private ClientMembershipListener membershipListener;
   
   public static ThreadLocal<Version> clientVersion = new ThreadLocal<Version>();
 
@@ -406,7 +406,7 @@ public class CacheServerBridge extends ServerBridge{
       return null;      
     }
        
-    BridgeServerImpl server = (BridgeServerImpl)cache.getCacheServers().iterator().next();
+    CacheServerImpl server = (CacheServerImpl)cache.getCacheServers().iterator().next();
     
     if(server == null){
       return null;
@@ -663,16 +663,16 @@ public class CacheServerBridge extends ServerBridge{
   }
 
   public int getNumSubscriptions() {
-    Map clientProxyMembershipIDMap = InternalBridgeMembership.getClientQueueSizes();
+    Map clientProxyMembershipIDMap = InternalClientMembership.getClientQueueSizes();
     return clientProxyMembershipIDMap.keySet().size();
   }
 
-  public void setBridgeMembershipListener(
-      BridgeMembershipListener membershipListener) {
+  public void setClientMembershipListener(
+      ClientMembershipListener membershipListener) {
     this.membershipListener = membershipListener;
   }
   
-  public BridgeMembershipListener getBridgeMembershipListener() {
+  public ClientMembershipListener getClientMembershipListener() {
     return this.membershipListener;
   }
   

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/GatewayReceiverMBeanBridge.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/GatewayReceiverMBeanBridge.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/GatewayReceiverMBeanBridge.java
index 6358752..935d5d1 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/GatewayReceiverMBeanBridge.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/GatewayReceiverMBeanBridge.java
@@ -15,7 +15,7 @@ import java.util.Set;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.wan.GatewayReceiver;
 import com.gemstone.gemfire.cache.wan.GatewayTransportFilter;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ServerConnection;
 import com.gemstone.gemfire.internal.cache.wan.GatewayReceiverStats;
@@ -187,7 +187,7 @@ public class GatewayReceiverMBeanBridge extends ServerBridge{
 
   public String[] getConnectedGatewaySenders() {
     Set<String> uniqueIds = null;
-    AcceptorImpl acceptor = ((BridgeServerImpl)rcv.getServer()).getAcceptor();
+    AcceptorImpl acceptor = ((CacheServerImpl)rcv.getServer()).getAcceptor();
     Set<ServerConnection> serverConnections = acceptor.getAllServerConnections();
     if(serverConnections !=null && serverConnections.size() >0){
       uniqueIds = new HashSet<String>();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ManagementAdapter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ManagementAdapter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ManagementAdapter.java
index 3d6331d..d22480b 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ManagementAdapter.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ManagementAdapter.java
@@ -31,10 +31,6 @@ import com.gemstone.gemfire.cache.DiskStore;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.asyncqueue.AsyncEventQueue;
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.util.BridgeMembership;
-import com.gemstone.gemfire.cache.util.BridgeMembershipEvent;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListener;
-import com.gemstone.gemfire.cache.util.BridgeMembershipListenerAdapter;
 import com.gemstone.gemfire.cache.wan.GatewayReceiver;
 import com.gemstone.gemfire.cache.wan.GatewaySender;
 import com.gemstone.gemfire.distributed.Locator;
@@ -66,6 +62,10 @@ import com.gemstone.gemfire.management.internal.FederationComponent;
 import com.gemstone.gemfire.management.internal.MBeanJMXAdapter;
 import com.gemstone.gemfire.management.internal.ManagementConstants;
 import com.gemstone.gemfire.management.internal.SystemManagementService;
+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.management.membership.ClientMembershipListenerAdapter;
 import com.gemstone.gemfire.pdx.internal.PeerTypeRegistration;
 
 /**
@@ -691,11 +691,11 @@ public class ManagementAdapter {
     ObjectName changedMBeanName = service.registerInternalMBean(
         (CacheServerMXBean) cacheServerMBean, cacheServerMBeanName);
     
-    BridgeMembershipListener managementBridgeListener = new CacheServerMembershipListenerAdapter(cacheServerMBean,
+    ClientMembershipListener managementClientListener = new CacheServerMembershipListenerAdapter(cacheServerMBean,
         memberLevelNotifEmitter, changedMBeanName);
-    BridgeMembership.registerBridgeMembershipListener(managementBridgeListener);
+    ClientMembership.registerClientMembershipListener(managementClientListener);
     
-    cacheServerBridge.setBridgeMembershipListener(managementBridgeListener);
+    cacheServerBridge.setClientMembershipListener(managementClientListener);
     
     service.federate(changedMBeanName, CacheServerMXBean.class, true);
     
@@ -725,11 +725,11 @@ public class ManagementAdapter {
     CacheServerMBean mbean = (CacheServerMBean) service
         .getLocalCacheServerMXBean(server.getPort());
     
-    BridgeMembershipListener listener = mbean.getBridge()
-        .getBridgeMembershipListener();
+    ClientMembershipListener listener = mbean.getBridge()
+        .getClientMembershipListener();
     
     if(listener != null){
-      BridgeMembership.unregisterBridgeMembershipListener(listener);
+      ClientMembership.unregisterClientMembershipListener(listener);
     }
    
 
@@ -824,11 +824,11 @@ public class ManagementAdapter {
             .getLocalCacheServerMXBean(server.getPort());
 
         if (mbean != null) {
-          BridgeMembershipListener listener = mbean.getBridge()
-            .getBridgeMembershipListener();
+          ClientMembershipListener listener = mbean.getBridge()
+            .getClientMembershipListener();
 
           if (listener != null) {
-            BridgeMembership.unregisterBridgeMembershipListener(listener);
+            ClientMembership.unregisterClientMembershipListener(listener);
           }
         }
 
@@ -1057,12 +1057,12 @@ public class ManagementAdapter {
 
   
   /**
-   * Private class which acts as a BridgeMembershipListener to propagate client
+   * Private class which acts as a ClientMembershipListener to propagate client
    * joined/left notifications
    */
 
   private static class CacheServerMembershipListenerAdapter extends
-      BridgeMembershipListenerAdapter {
+      ClientMembershipListenerAdapter {
     
     private NotificationBroadcasterSupport serverLevelNotifEmitter;
     private NotificationBroadcasterSupport memberLevelNotifEmitter;
@@ -1078,9 +1078,9 @@ public class ManagementAdapter {
 
     /**
      * Invoked when a client has connected to this process or when this process
-     * has connected to a BridgeServer.
+     * has connected to a CacheServer.
      */
-    public void memberJoined(BridgeMembershipEvent event) {
+    public void memberJoined(ClientMembershipEvent event) {
       Notification notification = new Notification(JMXNotificationType.CLIENT_JOINED, serverSource, SequenceNumber
           .next(), System.currentTimeMillis(), ManagementConstants.CLIENT_JOINED_PREFIX + event.getMemberId());
       serverLevelNotifEmitter.sendNotification(notification);
@@ -1090,9 +1090,9 @@ public class ManagementAdapter {
 
     /**
      * Invoked when a client has gracefully disconnected from this process or
-     * when this process has gracefully disconnected from a BridgeServer.
+     * when this process has gracefully disconnected from a CacheServer.
      */
-    public void memberLeft(BridgeMembershipEvent event) {
+    public void memberLeft(ClientMembershipEvent event) {
       Notification notification = new Notification(JMXNotificationType.CLIENT_LEFT, serverSource, SequenceNumber
           .next(), System.currentTimeMillis(), ManagementConstants.CLIENT_LEFT_PREFIX + event.getMemberId());
       serverLevelNotifEmitter.sendNotification(notification);
@@ -1101,9 +1101,9 @@ public class ManagementAdapter {
 
     /**
      * Invoked when a client has unexpectedly disconnected from this process or
-     * when this process has unexpectedly disconnected from a BridgeServer.
+     * when this process has unexpectedly disconnected from a CacheServer.
      */
-    public void memberCrashed(BridgeMembershipEvent event) {
+    public void memberCrashed(ClientMembershipEvent event) {
       Notification notification = new Notification(JMXNotificationType.CLIENT_CRASHED, serverSource, SequenceNumber
           .next(), System.currentTimeMillis(), ManagementConstants.CLIENT_CRASHED_PREFIX + event.getMemberId());
       serverLevelNotifEmitter.sendNotification(notification);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ServerBridge.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ServerBridge.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ServerBridge.java
index 81cc34c..4fbc245 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ServerBridge.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/ServerBridge.java
@@ -8,7 +8,7 @@
 package com.gemstone.gemfire.management.internal.beans;
 
 import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerStats;
 import com.gemstone.gemfire.management.internal.ManagementStrings;
@@ -38,7 +38,7 @@ public class ServerBridge {
   public ServerBridge(CacheServer cacheServer){
     this.monitor = new MBeanStatsMonitor(ManagementStrings.SERVER_MONITOR
         .toLocalizedString());
-    this.acceptor =  ((BridgeServerImpl) cacheServer).getAcceptor();
+    this.acceptor =  ((CacheServerImpl) cacheServer).getAcceptor();
     initializeStats();
     startMonitor();
   }
@@ -48,7 +48,7 @@ public class ServerBridge {
   }
   
   protected void addServer(CacheServer cacheServer){
-    this.acceptor =  ((BridgeServerImpl) cacheServer).getAcceptor();
+    this.acceptor =  ((CacheServerImpl) cacheServer).getAcceptor();
     startMonitor();
   }
   

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ContunuousQueryFunction.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ContunuousQueryFunction.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ContunuousQueryFunction.java
index acdbc0c..7139263 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ContunuousQueryFunction.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/cli/functions/ContunuousQueryFunction.java
@@ -16,7 +16,7 @@ import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.execute.Function;
 import com.gemstone.gemfire.cache.execute.FunctionContext;
 import com.gemstone.gemfire.internal.InternalEntity;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheClientNotifier;
@@ -42,7 +42,7 @@ public class ContunuousQueryFunction implements Function, InternalEntity {
       String clientID = (String) context.getArguments();      
       GemFireCacheImpl cache = (GemFireCacheImpl)CacheFactory.getAnyInstance();      
       if (cache.getCacheServers().size() > 0) {       
-        BridgeServerImpl server = (BridgeServerImpl)cache.getCacheServers().iterator().next();        
+        CacheServerImpl server = (CacheServerImpl)cache.getCacheServers().iterator().next();        
         if(server != null){          
           AcceptorImpl  acceptorImpl  = server.getAcceptor(); 
           if(acceptorImpl != null){          



[02/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConnectionProxyJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConnectionProxyJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConnectionProxyJUnitTest.java
index db5a5f2..042917b 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConnectionProxyJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ConnectionProxyJUnitTest.java
@@ -31,11 +31,13 @@ import com.gemstone.gemfire.cache.EntryEvent;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
+import com.gemstone.gemfire.cache.client.PoolFactory;
+import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.Connection;
+import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.PutOp;
 import com.gemstone.gemfire.cache.client.internal.QueueStateImpl.SequenceIdAndExpirationObject;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
@@ -64,7 +66,7 @@ public class ConnectionProxyJUnitTest
 
   Cache cache;
 
-  BridgePoolImpl proxy = null;
+  PoolImpl proxy = null;
   
   SequenceIdAndExpirationObject seo = null;
   
@@ -100,7 +102,7 @@ public class ConnectionProxyJUnitTest
     
     this.system.disconnect();
     if (proxy != null)
-      proxy.close();
+      proxy.destroy();
   }
 
   /**
@@ -121,7 +123,7 @@ public class ConnectionProxyJUnitTest
     int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     Region testRegion = null ;
     try {
-      BridgeServer server = this.cache.addBridgeServer();
+      CacheServer server = this.cache.addCacheServer();
       server.setMaximumTimeBetweenPings(10000);
       server.setPort(port3);
       server.start();
@@ -131,16 +133,18 @@ public class ConnectionProxyJUnitTest
       fail("Failed to create server");
     }
     try {
-      Properties props = new Properties();
-      props.setProperty("retryAttempts", "1");
-      props.setProperty("endpoints", "ep1=localhost:"+port3);
-      props.setProperty("establishCallbackConnection", "false");
-      props.setProperty("LBPolicy", "Sticky");
-      props.setProperty("readTimeout", "2000");
-      props.setProperty("socketBufferSize", "32768");
-      props.setProperty("retryInterval", "10000");
-      props.setProperty("connectionsPerServer", "2");
-      props.setProperty("redundancyLevel", "-1");
+      PoolFactory pf = PoolManager.createFactory();
+      pf.addServer("localhost", port3);
+      pf.setSubscriptionEnabled(false);
+      pf.setSubscriptionRedundancy(-1);
+      pf.setReadTimeout(2000);
+      pf.setThreadLocalConnections(true);
+      pf.setSocketBufferSize(32768);
+      pf.setRetryAttempts(1);
+      pf.setPingInterval(10000);
+      
+      proxy = (PoolImpl) pf.create("clientPool");
+
       AttributesFactory factory = new AttributesFactory();
       factory.setScope(Scope.DISTRIBUTED_ACK);
       factory.setCacheListener(new CacheListenerAdapter() {
@@ -156,8 +160,6 @@ public class ConnectionProxyJUnitTest
           }
         }
       });
-      proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
-
       RegionAttributes attrs = factory.create();
       testRegion = cache.createRegion("testregion", attrs);
 
@@ -200,17 +202,17 @@ public class ConnectionProxyJUnitTest
     
 //    final int maxWaitTime = 10000;    
     try {
-      Properties props = new Properties();
-      props.setProperty("retryAttempts", "1");
-      props.setProperty("endpoints", "ep1=localhost:"+port3);
-      props.setProperty("establishCallbackConnection", "false");
-      props.setProperty("LBPolicy", "Sticky");
-      props.setProperty("readTimeout", "2000");
-      props.setProperty("socketBufferSize", "32768");
-      props.setProperty("retryInterval", "500");
-      props.setProperty("connectionsPerServer", "1");
+      PoolFactory pf = PoolManager.createFactory();
+      pf.addServer("localhost", port3);
+      pf.setSubscriptionEnabled(false);
+      pf.setReadTimeout(2000);
+      pf.setThreadLocalConnections(true);
+      pf.setMinConnections(1);
+      pf.setSocketBufferSize(32768);
+      pf.setRetryAttempts(1);
+      pf.setPingInterval(500);
       
-      proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
+      proxy = (PoolImpl) pf.create("clientPool");
     }catch (Exception ex) {
       ex.printStackTrace();
       fail("Failed to initialize client");
@@ -230,10 +232,10 @@ public class ConnectionProxyJUnitTest
 //    long start = System.currentTimeMillis();
     assertEquals(0, proxy.getConnectedServerCount());
     //start the server
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
       server.setMaximumTimeBetweenPings(15000);
       server.setPort(port3);
       server.start();
@@ -272,16 +274,16 @@ public class ConnectionProxyJUnitTest
     
 //    final int maxWaitTime = 10000;    
     try {
-      Properties props = new Properties();
-      props.setProperty("retryAttempts", "1");
-      props.setProperty("endpoints", "ep1=localhost:"+port3);
-      props.setProperty("establishCallbackConnection", "false");
-      props.setProperty("LBPolicy", "Sticky");
-      props.setProperty("readTimeout", "2000");
-      props.setProperty("socketBufferSize", "32768");
-      props.setProperty("retryInterval", "500");
-      props.setProperty("connectionsPerServer", "1");
-      proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);      
+      PoolFactory pf = PoolManager.createFactory();
+      pf.addServer("localhost", port3);
+      pf.setSubscriptionEnabled(false);
+      pf.setReadTimeout(2000);
+      pf.setThreadLocalConnections(true);
+      pf.setMinConnections(1);
+      pf.setSocketBufferSize(32768);
+      pf.setRetryAttempts(1);
+      pf.setPingInterval(500);
+      proxy = (PoolImpl) pf.create("clientPool");
     }catch (Exception ex) {
       ex.printStackTrace();
       fail("Failed to initialize client");
@@ -291,10 +293,10 @@ public class ConnectionProxyJUnitTest
 //    long start = System.currentTimeMillis();
     assertEquals(0, proxy.getConnectedServerCount());
     //start the server
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
       server.setMaximumTimeBetweenPings(15000);
       server.setPort(port3);
       server.start();
@@ -324,10 +326,10 @@ public class ConnectionProxyJUnitTest
   public void testThreadIdToSequenceIdMapCreation()
   {
     int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
       server.setMaximumTimeBetweenPings(10000);
       server.setPort(port3);
       server.start();
@@ -337,11 +339,11 @@ public class ConnectionProxyJUnitTest
       fail("Failed to create server");
     }
     try {
-      Properties props = new Properties();
-      props.setProperty("endpoints", "ep1=localhost:" + port3);
-      props.setProperty("establishCallbackConnection", "true");
-      props.setProperty("redundancyLevel", "-1");
-      proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
+      PoolFactory pf = PoolManager.createFactory();
+      pf.addServer("localhost", port3);
+      pf.setSubscriptionEnabled(true);
+      pf.setSubscriptionRedundancy(-1);
+      proxy = (PoolImpl) pf.create("clientPool");
       if (proxy.getThreadIdToSequenceIdMap() == null) {
         fail(" ThreadIdToSequenceIdMap is null. ");
       }
@@ -368,10 +370,10 @@ public class ConnectionProxyJUnitTest
   public void testThreadIdToSequenceIdMapExpiryPositive()
  {
    int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setMaximumTimeBetweenPings(10000);
      server.setPort(port3);
      server.start();
@@ -381,14 +383,13 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port3);
-     props.setProperty("redundancyLevel", "-1");
-     props.setProperty("clientAckInterval", "2000");
-     props.setProperty("messageTrackingTimeout", "4000");
-     props.setProperty("establishCallbackConnection", "true");
-     
-     proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port3);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(-1);
+     pf.setSubscriptionMessageTrackingTimeout(4000);
+     pf.setSubscriptionAckInterval(2000);
+     proxy = (PoolImpl) pf.create("clientPool");
 
      EventID eid = new EventID(new byte[0],1,1);
      if(proxy.verifyIfDuplicate(eid)){
@@ -419,10 +420,10 @@ public class ConnectionProxyJUnitTest
   public void testThreadIdToSequenceIdMapExpiryNegative()
  {
    int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setMaximumTimeBetweenPings(10000);     
      server.setPort(port3);
      server.start();
@@ -432,12 +433,13 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port3);
-     props.setProperty("establishCallbackConnection", "true");
-     props.setProperty("redundancyLevel", "-1");
-     props.setProperty("messageTrackingTimeout", "10000");
-     proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port3);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(-1);
+     pf.setSubscriptionMessageTrackingTimeout(10000);
+     
+     proxy = (PoolImpl) pf.create("clientPool");
 
      final EventID eid = new EventID(new byte[0],1,1);
      if(proxy.verifyIfDuplicate(eid)){
@@ -470,10 +472,10 @@ public class ConnectionProxyJUnitTest
   public void testThreadIdToSequenceIdMapConcurrency()
  {
    int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setMaximumTimeBetweenPings(10000);
      server.setPort(port3);
      server.start();
@@ -483,14 +485,14 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port3);
-     props.setProperty("redundancyLevel", "-1");
-     props.setProperty("clientAckInterval", "2000");
-     props.setProperty("messageTrackingTimeout", "5000");
-     props.setProperty("establishCallbackConnection", "true");
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port3);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(-1);
+     pf.setSubscriptionMessageTrackingTimeout(5000);
+     pf.setSubscriptionAckInterval(2000);
+     proxy = (PoolImpl) pf.create("clientPool");
      
-     proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
      final int EVENT_ID_COUNT = 10000; // why 10,000?
      EventID[] eid = new EventID[EVENT_ID_COUNT];
      for (int i = 0; i < EVENT_ID_COUNT; i++) {
@@ -525,10 +527,10 @@ public class ConnectionProxyJUnitTest
   public void testDuplicateSeqIdLesserThanCurrentSeqIdBeingIgnored()
  {
    int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setMaximumTimeBetweenPings(10000);
      server.setPort(port3);
      server.start();
@@ -538,12 +540,13 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port3);
-     props.setProperty("establishCallbackConnection", "true");
-     props.setProperty("redundancyLevel", "-1");
-     props.setProperty("messageTrackingTimeout", "100000");
-     proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port3);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(-1);
+     pf.setSubscriptionMessageTrackingTimeout(100000);
+     proxy = (PoolImpl) pf.create("clientPool");
+     
      EventID eid1 = new EventID(new byte[0],1,5);
      if(proxy.verifyIfDuplicate(eid1)){
        fail(" eid1 can never be duplicate, it is being created for the first time! ");
@@ -562,7 +565,7 @@ public class ConnectionProxyJUnitTest
      }
 
      assertTrue(!proxy.getThreadIdToSequenceIdMap().isEmpty());
-     proxy.close();
+     proxy.destroy();
    }
    catch (Exception ex) {
      ex.printStackTrace();
@@ -583,10 +586,10 @@ public class ConnectionProxyJUnitTest
   public void testCleanCloseOfThreadIdToSeqId()
  {
    int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setMaximumTimeBetweenPings(10000);
      server.setPort(port3);
      server.start();
@@ -596,12 +599,13 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port3);
-     props.setProperty("establishCallbackConnection", "true");
-     props.setProperty("redundancyLevel", "-1");
-     props.setProperty("messageTrackingTimeout", "100000");
-     proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port3);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(-1);
+     pf.setSubscriptionMessageTrackingTimeout(100000);
+     proxy = (PoolImpl) pf.create("clientPool");
+     
      EventID eid1 = new EventID(new byte[0],1,2);
      if(proxy.verifyIfDuplicate(eid1)){
          fail(" eid can never be duplicate, it is being created for the first time! ");
@@ -640,10 +644,10 @@ public class ConnectionProxyJUnitTest
   public void testTwoClientsHavingDifferentThreadIdMaps()
  {
    int port3 = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setMaximumTimeBetweenPings(10000);
      server.setPort(port3);
      server.start();
@@ -653,22 +657,28 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port3);
-     props.setProperty("establishCallbackConnection", "true");
-     props.setProperty("redundancyLevel", "-1");
-     props.setProperty("messageTrackingTimeout", "100000");
-     BridgePoolImpl proxy1 = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
-     BridgePoolImpl proxy2 = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port3);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(-1);
+     pf.setSubscriptionMessageTrackingTimeout(100000);
+     
+     PoolImpl proxy1 = (PoolImpl) pf.create("clientPool1");
+     try {
+     PoolImpl proxy2 = (PoolImpl) pf.create("clientPool2");
+     try {
 
      Map map1 = proxy1.getThreadIdToSequenceIdMap();
      Map map2 = proxy2.getThreadIdToSequenceIdMap();
 
      assertTrue(!(map1==map2));
 
-      // Close the proxies to remove them from the set of all proxies
-     proxy1.close();
-     proxy2.close();
+     } finally {
+       proxy2.destroy();
+     }
+     } finally {
+       proxy1.destroy();
+     }
     }
    catch (Exception ex) {
      ex.printStackTrace();
@@ -686,10 +696,10 @@ public class ConnectionProxyJUnitTest
   public void testPeriodicAckSendByClient()
  {
    int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setPort(port);
      server.start();
    }
@@ -698,15 +708,15 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port);
-     props.setProperty("establishCallbackConnection", "true");
-     props.setProperty("redundancyLevel", "1");
-     props.setProperty("readTimeout", "20000");
-     props.setProperty("messageTrackingTimeout", "15000");
-     props.setProperty("clientAckInterval", "5000");
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(1);
+     pf.setReadTimeout(20000);
+     pf.setSubscriptionMessageTrackingTimeout(15000);
+     pf.setSubscriptionAckInterval(5000);
      
-     proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);   
+     proxy = (PoolImpl) pf.create("clientPool");
      
      EventID eid = new EventID(new byte[0],1,1);
      
@@ -757,10 +767,10 @@ public class ConnectionProxyJUnitTest
   public void testNoAckSendByClient()
  {
    int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-   BridgeServer server = null;
+   CacheServer server = null;
    try {
    try {
-     server = this.cache.addBridgeServer();
+     server = this.cache.addCacheServer();
      server.setPort(port);
      server.start();
    }
@@ -769,14 +779,15 @@ public class ConnectionProxyJUnitTest
      fail("Failed to create server");
    }
    try {
-     Properties props = new Properties();
-     props.setProperty("endpoints", "ep1=localhost:"+port);     
-     props.setProperty("readTimeout", "20000");
-     props.setProperty("messageTrackingTimeout", "8000");
-     props.setProperty("clientAckInterval", "2000");
-     props.setProperty("establishCallbackConnection", "true");
+     PoolFactory pf = PoolManager.createFactory();
+     pf.addServer("localhost", port);
+     pf.setSubscriptionEnabled(true);
+     pf.setSubscriptionRedundancy(1);
+     pf.setReadTimeout(20000);
+     pf.setSubscriptionMessageTrackingTimeout(8000);
+     pf.setSubscriptionAckInterval(2000);
      
-     proxy = BridgePoolImpl.create(props, true/*useByBridgeWriter*/);     
+     proxy = (PoolImpl) pf.create("clientPool");
      
      EventID eid = new EventID(new byte[0],1,1);
      

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DataSerializerPropogationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DataSerializerPropogationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DataSerializerPropogationDUnitTest.java
index a8b5e5e..85bd4d1 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DataSerializerPropogationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DataSerializerPropogationDUnitTest.java
@@ -27,16 +27,16 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.InternalDataSerializer;
 import com.gemstone.gemfire.internal.InternalDataSerializer.SerializerAttributesHolder;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.EventID;
 
 import dunit.DistributedTestCase;
@@ -132,7 +132,7 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setMaxThreads(maxThreads.intValue());
     server1.setNotifyBySubscription(true);
@@ -353,9 +353,9 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
 
   public static void stopServer() {
     try {
-      assertEquals("Expected exactly one BridgeServer", 1, cache
-          .getBridgeServers().size());
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+      assertEquals("Expected exactly one CacheServer", 1, cache
+          .getCacheServers().size());
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
           .iterator().next();
       assertNotNull(bs);
       bs.stop();
@@ -368,9 +368,9 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
   public static void startServer() {
     try {
       Cache c = CacheFactory.getAnyInstance();
-      assertEquals("Expected exactly one BridgeServer", 1, c.getBridgeServers()
+      assertEquals("Expected exactly one CacheServer", 1, c.getCacheServers()
           .size());
-      BridgeServerImpl bs = (BridgeServerImpl)c.getBridgeServers().iterator()
+      CacheServerImpl bs = (CacheServerImpl)c.getCacheServers().iterator()
           .next();
       assertNotNull(bs);
       bs.start();
@@ -726,9 +726,9 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
     client2.invoke(DataSerializerPropogationDUnitTest.class,
         "createClientCache", new Object[] {
             getServerHostName(server2.getHost()), new Integer(PORT2) });
-    setBridgeObserver1();
+    setClientServerObserver1();
     client2
-        .invoke(DataSerializerPropogationDUnitTest.class, "setBridgeObserver2");
+        .invoke(DataSerializerPropogationDUnitTest.class, "setClientServerObserver2");
 
     registerDSObject13();
 
@@ -873,7 +873,7 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setMaxThreads(maxThreads.intValue());
     server1.setNotifyBySubscription(true);
@@ -897,7 +897,7 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setMaxThreads(maxThreads.intValue());
     server1.setNotifyBySubscription(true);
@@ -905,9 +905,9 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
     return new Integer(port);
   }
 
-  public static void setBridgeObserver1() {
+  public static void setClientServerObserver1() {
     PoolImpl.IS_INSTANTIATOR_CALLBACK = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       @Override
       public void beforeSendingToServer(EventID eventID) {
         eventId = eventID;
@@ -928,9 +928,9 @@ public class DataSerializerPropogationDUnitTest extends DistributedTestCase {
     eventId = eventID;
   }
 
-  public static void setBridgeObserver2() {
+  public static void setClientServerObserver2() {
     PoolImpl.IS_INSTANTIATOR_CALLBACK = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       @Override
       public void afterReceivingFromServer(EventID eventID) {
         testEventIDResult = eventID.equals(eventId);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
index b0b9912..a8ad9f9 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DestroyEntryPropagationDUnitTest.java
@@ -24,7 +24,6 @@ import com.gemstone.gemfire.cache.Operation;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -36,6 +35,7 @@ import com.gemstone.gemfire.cache.client.*;
 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 dunit.DistributedTestCase;
 import dunit.Host;
@@ -287,10 +287,10 @@ public class DestroyEntryPropagationDUnitTest extends DistributedTestCase
   public static void killServer(Integer port)
   {
     try {
-      Iterator iter = cache.getBridgeServers().iterator();
-      getLogWriter().fine ("Asif: servers running = "+cache.getBridgeServers().size());
+      Iterator iter = cache.getCacheServers().iterator();
+      getLogWriter().fine ("Asif: servers running = "+cache.getCacheServers().size());
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
         getLogWriter().fine("asif : server running on port="+server.getPort()+ " asked to kill serevre onport="+port);
          if(port.intValue() == server.getPort()){
          server.stop();
@@ -305,7 +305,7 @@ public class DestroyEntryPropagationDUnitTest extends DistributedTestCase
   public static void startServer(Integer port)
   {
     try {
-      BridgeServer server1 = cache.addBridgeServer();
+      CacheServer server1 = cache.addCacheServer();
       server1.setPort(port.intValue());
       server1.setNotifyBySubscription(true);
       server1.start();
@@ -455,7 +455,7 @@ public class DestroyEntryPropagationDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
 
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
     server.setPort(port);
     server.setNotifyBySubscription(true);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientReconnectDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientReconnectDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientReconnectDUnitTest.java
index 76f8d44..8d2ef40 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientReconnectDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientReconnectDUnitTest.java
@@ -28,12 +28,12 @@ import com.gemstone.gemfire.cache.client.PoolFactory;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -464,7 +464,7 @@ public class DurableClientReconnectDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     Region r = cache.createRegion(REGION_NAME, attrs);
     assertNotNull(r);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
@@ -563,8 +563,8 @@ public class DurableClientReconnectDUnitTest extends DistributedTestCase
         .getClientProxies().size();
   }
   
-  private static BridgeServerImpl getBridgeServer() {
-    BridgeServerImpl bridgeServer = (BridgeServerImpl) cache.getBridgeServers().iterator().next();
+  private static CacheServerImpl getBridgeServer() {
+    CacheServerImpl bridgeServer = (CacheServerImpl) cache.getCacheServers().iterator().next();
     assertNotNull(bridgeServer);
     return bridgeServer;
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientStatsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientStatsDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientStatsDUnitTest.java
index 8e3e145..f8f036e 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientStatsDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientStatsDUnitTest.java
@@ -18,7 +18,7 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.cache.client.*;
 import com.gemstone.gemfire.internal.cache.PoolFactoryImpl;
 
@@ -269,8 +269,8 @@ public class DurableClientStatsDUnitTest extends DistributedTestCase {
     try {
       Cache cache = CacheServerTestUtil.getCache();
       com.gemstone.gemfire.LogWriter logger = cache.getLogger();
-      BridgeServerImpl currentServer = (BridgeServerImpl)(new ArrayList(cache
-          .getBridgeServers()).get(0));
+      CacheServerImpl currentServer = (CacheServerImpl)(new ArrayList(cache
+          .getCacheServers()).get(0));
       AcceptorImpl ai = currentServer.getAcceptor();
       CacheClientNotifier notifier = ai.getCacheClientNotifier();
       CacheClientNotifierStats stats = notifier.getStats();
@@ -290,8 +290,8 @@ public class DurableClientStatsDUnitTest extends DistributedTestCase {
     try {
       Cache cache = CacheServerTestUtil.getCache();
       com.gemstone.gemfire.LogWriter logger = cache.getLogger();
-      BridgeServerImpl currentServer = (BridgeServerImpl)(new ArrayList(cache
-          .getBridgeServers()).get(0));
+      CacheServerImpl currentServer = (CacheServerImpl)(new ArrayList(cache
+          .getCacheServers()).get(0));
       AcceptorImpl ai = currentServer.getAcceptor();
       CacheClientNotifier notifier = ai.getCacheClientNotifier();
       CacheClientNotifierStats stats = notifier.getStats();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
index 0e1972b..14c7ac4 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableRegistrationDUnitTest.java
@@ -22,7 +22,7 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.FilterProfile;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.InitialImageOperation;
@@ -835,9 +835,9 @@ public class DurableRegistrationDUnitTest extends DistributedTestCase {
     return proxy;
   }
 
-  private static BridgeServerImpl getBridgeServer() {
-    BridgeServerImpl bridgeServer = (BridgeServerImpl)CacheServerTestUtil
-        .getCache().getBridgeServers().iterator().next();
+  private static CacheServerImpl getBridgeServer() {
+    CacheServerImpl bridgeServer = (CacheServerImpl)CacheServerTestUtil
+        .getCache().getCacheServers().iterator().next();
     assertNotNull(bridgeServer);
     return bridgeServer;
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableResponseMatrixDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableResponseMatrixDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableResponseMatrixDUnitTest.java
index 0ccee9e..79f7281 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableResponseMatrixDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableResponseMatrixDUnitTest.java
@@ -10,11 +10,11 @@ package com.gemstone.gemfire.internal.cache.tier.sockets;
 import java.util.Properties;
 
 import com.gemstone.gemfire.cache.*;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.cache.client.*;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
@@ -147,7 +147,7 @@ public class DurableResponseMatrixDUnitTest extends DistributedTestCase
   public void testRegisterInterest_Destroy_Concurrent() throws Exception
   {  
 	PoolImpl.BEFORE_REGISTER_CALLBACK_FLAG = true;
-	BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+	ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
 		public void beforeInterestRegistration()
 	    {	          
 	      	Region r = cache.getRegion(Region.SEPARATOR + REGION_NAME);	  
@@ -474,7 +474,7 @@ public class DurableResponseMatrixDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     Region r = cache.createRegion(REGION_NAME, attrs);
     assertNotNull(r);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server1.setPort(port);
     server1.setNotifyBySubscription(true);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/EventIDVerificationDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/EventIDVerificationDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/EventIDVerificationDUnitTest.java
index 7e162f6..c52e7a5 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/EventIDVerificationDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/EventIDVerificationDUnitTest.java
@@ -21,10 +21,10 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.RegionEvent;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.util.CacheListenerAdapter;
 import com.gemstone.gemfire.cache.util.CacheWriterAdapter;
-import com.gemstone.gemfire.cache30.BridgeTestCase;
+import com.gemstone.gemfire.cache30.ClientServerTestCase;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -174,10 +174,10 @@ public class EventIDVerificationDUnitTest extends DistributedTestCase
     factory.setScope(Scope.DISTRIBUTED_ACK);
     factory.setMirrorType(MirrorType.NONE);
     
-    BridgeTestCase.configureConnectionPool(factory, host, new int[] {PORT1,PORT2}, true, -1, 2, null, -1, -1, false, -2);
+    ClientServerTestCase.configureConnectionPool(factory, host, new int[] {PORT1,PORT2}, true, -1, 2, null, -1, -1, false, -2);
 
     
-    CacheWriter writer = new CacheWriterAdapter() { // couldn't port this test to pool because it subclasses BridgeWriter
+    CacheWriter writer = new CacheWriterAdapter() {
       public void beforeCreate(EntryEvent event)
       {
         vm0.invoke(EventIDVerificationDUnitTest.class, "setEventIDData",
@@ -360,7 +360,7 @@ public class EventIDVerificationDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.start();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ForceInvalidateEvictionDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ForceInvalidateEvictionDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ForceInvalidateEvictionDUnitTest.java
index 1f6c123..4a2c003 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ForceInvalidateEvictionDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/ForceInvalidateEvictionDUnitTest.java
@@ -111,7 +111,7 @@ public class ForceInvalidateEvictionDUnitTest extends CacheTestCase {
     
     createPR(vm0);
     createPR(vm1);
-    int port = addBridgeServer(vm1);
+    int port = addCacheServer(vm1);
     createClient(vm3, port);
     
     
@@ -132,7 +132,7 @@ public class ForceInvalidateEvictionDUnitTest extends CacheTestCase {
     createPR(vm0);
     createPR(vm1);
     createAccessor(vm2, false);
-    int port = addBridgeServer(vm2);
+    int port = addCacheServer(vm2);
     createClient(vm3, port);
     
     doPropagationTest(vm0, vm3, true, true);
@@ -151,7 +151,7 @@ public class ForceInvalidateEvictionDUnitTest extends CacheTestCase {
     createAccessor(vm2, false);
     
     //test an invalidate from the accessor through one of the data stores
-    int port1 = addBridgeServer(vm0);
+    int port1 = addCacheServer(vm0);
     createClient(vm3, port1);
     doPropagationTest(vm2, vm3, true, true);
     vm3.invoke(new SerializableRunnable("close cache") {
@@ -163,7 +163,7 @@ public class ForceInvalidateEvictionDUnitTest extends CacheTestCase {
     });
     
     //test an invalidate from the accessor through the other data store
-    int port2 = addBridgeServer(vm1);
+    int port2 = addCacheServer(vm1);
     createClient(vm3, port2);
     doPropagationTest(vm2, vm3, true, true);
   }
@@ -347,7 +347,7 @@ public class ForceInvalidateEvictionDUnitTest extends CacheTestCase {
     
   }
 
-  private int addBridgeServer(VM vm) {
+  private int addCacheServer(VM vm) {
     final int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     vm.invoke(new SerializableRunnable("add bridge server") {
       public void run() {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestBaseTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestBaseTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestBaseTest.java
index 9aafaed..c8d5fcc 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestBaseTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestBaseTest.java
@@ -20,14 +20,14 @@ import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.RegisterInterestTracker;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
 import com.gemstone.gemfire.internal.cache.tier.InterestType;
 
@@ -285,9 +285,9 @@ public class HAInterestBaseTest extends DistributedTestCase {
     r1.put(k2, server_k2);
   }
 
-  public static void setBridgeObserverForBeforeInterestRecoveryFailure() {
+  public static void setClientServerObserverForBeforeInterestRecoveryFailure() {
     PoolImpl.BEFORE_RECOVER_INTEREST_CALLBACK_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void beforeInterestRecovery() {
         synchronized (HAInterestBaseTest.class) {
           Thread t = new Thread() {
@@ -310,9 +310,9 @@ public class HAInterestBaseTest extends DistributedTestCase {
     });
   }
 
-  public static void setBridgeObserverForBeforeInterestRecovery() {
+  public static void setClientServerObserverForBeforeInterestRecovery() {
     PoolImpl.BEFORE_RECOVER_INTEREST_CALLBACK_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void beforeInterestRecovery() {
         synchronized (HAInterestBaseTest.class) {
           Thread t = new Thread() {
@@ -341,9 +341,9 @@ public class HAInterestBaseTest extends DistributedTestCase {
     }
   }
 
-  public static void setBridgeObserverForBeforeRegistration(final VM vm) {
+  public static void setClientServerObserverForBeforeRegistration(final VM vm) {
     PoolImpl.BEFORE_REGISTER_CALLBACK_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void beforeInterestRegistration() {
         synchronized (HAInterestBaseTest.class) {
           vm.invoke(HAInterestBaseTest.class, "startServer");
@@ -364,9 +364,9 @@ public class HAInterestBaseTest extends DistributedTestCase {
     }
   }
 
-  public static void setBridgeObserverForAfterRegistration(final VM vm) {
+  public static void setClientServerObserverForAfterRegistration(final VM vm) {
     PoolImpl.AFTER_REGISTER_CALLBACK_FLAG = true;
-    BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void afterInterestRegistration() {
         synchronized (HAInterestBaseTest.class) {
           vm.invoke(HAInterestBaseTest.class, "startServer");
@@ -389,7 +389,7 @@ public class HAInterestBaseTest extends DistributedTestCase {
     }
   }
 
-  public static void unSetBridgeObserverForRegistrationCallback() {
+  public static void unSetClientServerObserverForRegistrationCallback() {
     synchronized (HAInterestBaseTest.class) {
       PoolImpl.BEFORE_REGISTER_CALLBACK_FLAG = false;
       PoolImpl.AFTER_REGISTER_CALLBACK_FLAG = false;
@@ -399,21 +399,21 @@ public class HAInterestBaseTest extends DistributedTestCase {
   }
 
   public static void verifyDispatcherIsAlive() {
-    assertEquals("More than one BridgeServer", 1, cache.getBridgeServers().size());
+    assertEquals("More than one BridgeServer", 1, cache.getCacheServers().size());
     
     WaitCriterion wc = new WaitCriterion() {
       @Override
       public boolean done() {
-        return cache.getBridgeServers().size() == 1;
+        return cache.getCacheServers().size() == 1;
       }
       @Override
       public String description() {
-        return "waiting for cache.getBridgeServers().size() == 1";
+        return "waiting for cache.getCacheServers().size() == 1";
       }
     };
     DistributedTestCase.waitForCriterion(wc, TIMEOUT_MILLIS, INTERVAL_MILLIS, true);
 
-    BridgeServerImpl bs = (BridgeServerImpl) cache.getBridgeServers().iterator().next();
+    CacheServerImpl bs = (CacheServerImpl) cache.getCacheServers().iterator().next();
     assertNotNull(bs);
     assertNotNull(bs.getAcceptor());
     assertNotNull(bs.getAcceptor().getCacheClientNotifier());
@@ -458,16 +458,16 @@ public class HAInterestBaseTest extends DistributedTestCase {
     WaitCriterion wc = new WaitCriterion() {
       @Override
       public boolean done() {
-        return cache.getBridgeServers().size() == 1;
+        return cache.getCacheServers().size() == 1;
       }
       @Override
       public String description() {
-        return "cache.getBridgeServers().size() == 1";
+        return "cache.getCacheServers().size() == 1";
       }
     };
     DistributedTestCase.waitForCriterion(wc, TIMEOUT_MILLIS, INTERVAL_MILLIS, true);
 
-    BridgeServerImpl bs = (BridgeServerImpl) cache.getBridgeServers().iterator().next();
+    CacheServerImpl bs = (CacheServerImpl) cache.getCacheServers().iterator().next();
     assertNotNull(bs);
     assertNotNull(bs.getAcceptor());
     assertNotNull(bs.getAcceptor().getCacheClientNotifier());
@@ -551,15 +551,15 @@ public class HAInterestBaseTest extends DistributedTestCase {
 
   public static void startServer() throws IOException {
     Cache c = CacheFactory.getAnyInstance();
-    assertEquals("More than one BridgeServer", 1, c.getBridgeServers().size());
-    BridgeServerImpl bs = (BridgeServerImpl) c.getBridgeServers().iterator().next();
+    assertEquals("More than one BridgeServer", 1, c.getCacheServers().size());
+    CacheServerImpl bs = (CacheServerImpl) c.getCacheServers().iterator().next();
     assertNotNull(bs);
     bs.start();
   }
 
   public static void stopServer() {
-    assertEquals("More than one BridgeServer", 1, cache.getBridgeServers().size());
-    BridgeServerImpl bs = (BridgeServerImpl) cache.getBridgeServers().iterator().next();
+    assertEquals("More than one BridgeServer", 1, cache.getCacheServers().size());
+    CacheServerImpl bs = (CacheServerImpl) cache.getCacheServers().iterator().next();
     assertNotNull(bs);
     bs.stop();
   }
@@ -749,16 +749,16 @@ public class HAInterestBaseTest extends DistributedTestCase {
     WaitCriterion wc = new WaitCriterion() {
       @Override
       public boolean done() {
-        return cache.getBridgeServers().size() == 1;
+        return cache.getCacheServers().size() == 1;
       }
       @Override
       public String description() {
-        return "waiting for cache.getBridgeServers().size() == 1";
+        return "waiting for cache.getCacheServers().size() == 1";
       }
     };
     DistributedTestCase.waitForCriterion(wc, TIMEOUT_MILLIS, INTERVAL_MILLIS, true);
 
-    BridgeServerImpl bs = (BridgeServerImpl) cache.getBridgeServers().iterator().next();
+    CacheServerImpl bs = (CacheServerImpl) cache.getCacheServers().iterator().next();
     assertNotNull(bs);
     assertNotNull(bs.getAcceptor());
     assertNotNull(bs.getAcceptor().getCacheClientNotifier());
@@ -809,16 +809,16 @@ public class HAInterestBaseTest extends DistributedTestCase {
     WaitCriterion wc = new WaitCriterion() {
       @Override
       public boolean done() {
-        return cache.getBridgeServers().size() == 1;
+        return cache.getCacheServers().size() == 1;
       }
       @Override
       public String description() {
-        return "waiting for cache.getBridgeServers().size() == 1";
+        return "waiting for cache.getCacheServers().size() == 1";
       }
     };
     DistributedTestCase.waitForCriterion(wc, TIMEOUT_MILLIS, INTERVAL_MILLIS, true);
 
-    BridgeServerImpl bs = (BridgeServerImpl) cache.getBridgeServers().iterator().next();
+    CacheServerImpl bs = (CacheServerImpl) cache.getCacheServers().iterator().next();
     assertNotNull(bs);
     assertNotNull(bs.getAcceptor());
     assertNotNull(bs.getAcceptor().getCacheClientNotifier());
@@ -976,7 +976,7 @@ public class HAInterestBaseTest extends DistributedTestCase {
     factory.setConcurrencyChecksEnabled(true);
     cache.createRegion(REGION_NAME, factory.create());
 
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
     server.setMaximumTimeBetweenPings(180000);
@@ -994,7 +994,7 @@ public class HAInterestBaseTest extends DistributedTestCase {
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
 
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
     // ensures updates to be sent instead of invalidations

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestPart2DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestPart2DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestPart2DUnitTest.java
index 2ea7f7c..995bc31 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestPart2DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAInterestPart2DUnitTest.java
@@ -82,12 +82,12 @@ public class HAInterestPart2DUnitTest extends HAInterestBaseTest {
     VM backup = getBackupVM();
     backup.invoke(HAInterestBaseTest.class, "stopServer");
     verifyDeadAndLiveServers(1, 2);
-    setBridgeObserverForBeforeRegistration(backup);
+    setClientServerObserverForBeforeRegistration(backup);
     try {
       registerK1AndK2();
       waitForBeforeRegistrationCallback();
     } finally {
-      unSetBridgeObserverForRegistrationCallback();
+      unSetClientServerObserverForRegistrationCallback();
     }
     server1.invoke(HAInterestBaseTest.class, "verifyInterestRegistration");
     server2.invoke(HAInterestBaseTest.class, "verifyInterestRegistration");
@@ -111,12 +111,12 @@ public class HAInterestPart2DUnitTest extends HAInterestBaseTest {
     backup.invoke(HAInterestBaseTest.class, "stopServer");
     verifyDeadAndLiveServers(1, 2);
 
-    setBridgeObserverForAfterRegistration(backup);
+    setClientServerObserverForAfterRegistration(backup);
     try {
       registerK1AndK2();
       waitForAfterRegistrationCallback();
     } finally {
-      unSetBridgeObserverForRegistrationCallback();
+      unSetClientServerObserverForRegistrationCallback();
     }
 
     server1.invoke(HAInterestBaseTest.class, "verifyInterestRegistration");
@@ -248,7 +248,7 @@ public class HAInterestPart2DUnitTest extends HAInterestBaseTest {
     // put on stopped server
     server1.invoke(HAInterestBaseTest.class, "putK1andK2");
     // spawn a thread to put on server , which will acquire a lock on entry
-    setBridgeObserverForBeforeInterestRecovery();
+    setClientServerObserverForBeforeInterestRecovery();
     server1.invoke(HAInterestBaseTest.class, "startServer");
     verifyDeadAndLiveServers(0, 1);
     waitForBeforeInterestRecoveryCallBack();
@@ -304,7 +304,7 @@ public class HAInterestPart2DUnitTest extends HAInterestBaseTest {
     verifyDeadAndLiveServers(2, 0);
 
     primary.invoke(HAInterestBaseTest.class, "putK1andK2");
-    setBridgeObserverForBeforeInterestRecoveryFailure();
+    setClientServerObserverForBeforeInterestRecoveryFailure();
     primary.invoke(HAInterestBaseTest.class, "startServer");
     waitForBeforeInterestRecoveryCallBack();
     if (exceptionOccured) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
index e83b300..4242fe0 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/HAStartupAndFailoverDUnitTest.java
@@ -22,14 +22,14 @@ import com.gemstone.gemfire.cache.Scope;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.Connection;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -98,23 +98,23 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       server2.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
 
-      setBridgeObserver();
+      setClientServerObserver();
 
       server1.invoke(HAStartupAndFailoverDUnitTest.class, "stopServer");
 
       waitForPrimaryIdentification();
       //primary
       server2.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsAlive");
-      unSetBridgeObserver();
+      unSetClientServerObserver();
       //secondary
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
 
-      setBridgeObserver();
+      setClientServerObserver();
       server2.invoke(HAStartupAndFailoverDUnitTest.class, "stopServer");
       //primary
       waitForPrimaryIdentification();
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsAlive");
-      unSetBridgeObserver();
+      unSetClientServerObserver();
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "stopServer");
       // All servers are dead at this point , no primary in the system.
       verifyDeadAndLiveServers(3,0);
@@ -146,7 +146,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       //secondary
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
 
-      setBridgeObserver();
+      setClientServerObserver();
 
       //stop new primary
       server2.invoke(HAStartupAndFailoverDUnitTest.class, "stopServer");
@@ -156,7 +156,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       //newly selectd primary
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsAlive");
 
-      unSetBridgeObserver();
+      unSetClientServerObserver();
     }
 
     /**
@@ -174,7 +174,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       // secondaries
       server2.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
-      setBridgeObserver();
+      setClientServerObserver();
 
       server1.invoke(HAStartupAndFailoverDUnitTest.class, "stopServer");
       //stop ProbablePrimary
@@ -185,7 +185,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       waitForPrimaryIdentification();
       //new primary
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsAlive");
-      unSetBridgeObserver();
+      unSetClientServerObserver();
 
     }
 
@@ -212,10 +212,10 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       server1.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsAlive");
       server2.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
       server3.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsNotAlive");
-      setBridgeObserver();
+      setClientServerObserver();
       server1.invoke(HAStartupAndFailoverDUnitTest.class, "stopServer");
       waitForPrimaryIdentification();
-      unSetBridgeObserver();
+      unSetClientServerObserver();
       verifyDeadAndLiveServers(1,2);
       server2.invoke(HAStartupAndFailoverDUnitTest.class, "verifyDispatcherIsAlive");
      }
@@ -288,31 +288,6 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       verifyDeadAndLiveServers(1,2);
     }
 
-
-  // darrel: this following is an invalid test.
-  // A "primary" is only identified when you have a callback connection
-//     /**
-//      * Tests failover initialization by cache operation Threads on Primary
-//      */
-//     public void testInitiateFailoverByCacheOperationThreads_Primary() 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());
-//       setBridgeObserver();
-//       server1.invoke(HAStartupAndFailoverDUnitTest.class, "stopServer");
-//       releaseConnection();//Added by Jason
-//       put();
-//       waitForPrimaryIdentification();
-//       unSetBridgeObserver();
-//       verifyDeadAndLiveServers(1,2);
-//     }
-//     public static void releaseConnection() {
-//       Region r1 = cache.getRegion("/" + REGION_NAME);
-//       BridgeWriter bw = (BridgeWriter)r1.getAttributes().getCacheWriter();
-//       bw.release();
-//     }
-
     public static void put()
     {
       try {
@@ -357,9 +332,9 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
 //     start = System.currentTimeMillis();
   }
  
-    public static void setBridgeObserver() {
+    public static void setClientServerObserver() {
         PoolImpl.AFTER_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = true;
-        BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+        ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
             public void afterPrimaryIdentificationFromBackup(ServerLocation primaryEndpoint) {
                 synchronized (HAStartupAndFailoverDUnitTest.class) {
                   HAStartupAndFailoverDUnitTest.identifiedPrimary = true;
@@ -369,12 +344,12 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
         });
     }
 
-    public static void unSetBridgeObserver()
+    public static void unSetClientServerObserver()
   {
       synchronized (HAStartupAndFailoverDUnitTest.class) {
           PoolImpl.AFTER_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = false;
           HAStartupAndFailoverDUnitTest.identifiedPrimary = false;
-          BridgeObserverHolder.setInstance(new BridgeObserverAdapter());
+          ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter());
       }
 
   }
@@ -383,8 +358,8 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
     {
     try {
       assertEquals("Expected exactly one BridgeServer", 1, cache
-          .getBridgeServers().size());
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+          .getCacheServers().size());
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
           .iterator().next();
       assertNotNull(bs);
       bs.stop();
@@ -430,8 +405,8 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
     try {
       Cache c = CacheFactory.getAnyInstance();
       assertEquals("Expected exactly one BridgeServer", 1,
-          c.getBridgeServers().size());
-      BridgeServerImpl bs = (BridgeServerImpl) c.getBridgeServers()
+          c.getCacheServers().size());
+      CacheServerImpl bs = (CacheServerImpl) c.getCacheServers()
           .iterator().next();
       assertNotNull(bs);
       bs.start();
@@ -473,7 +448,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       WaitCriterion wc = new WaitCriterion() {
         String excuse;
         public boolean done() {
-          return cache.getBridgeServers().size() == 1;
+          return cache.getCacheServers().size() == 1;
         }
         public String description() {
           return excuse;
@@ -481,7 +456,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       };
       DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
       
-      BridgeServerImpl bs = (BridgeServerImpl)cache.getBridgeServers()
+      CacheServerImpl bs = (CacheServerImpl)cache.getCacheServers()
           .iterator().next();
       assertNotNull(bs);
       assertNotNull(bs.getAcceptor());
@@ -529,11 +504,11 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
     try {
       Cache c = CacheFactory.getAnyInstance();
       // assertEquals("More than one BridgeServer", 1,
-      // c.getBridgeServers().size());
+      // c.getCacheServers().size());
       WaitCriterion wc = new WaitCriterion() {
         String excuse;
         public boolean done() {
-          return cache.getBridgeServers().size() == 1;
+          return cache.getCacheServers().size() == 1;
         }
         public String description() {
           return excuse;
@@ -541,7 +516,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
       };
       DistributedTestCase.waitForCriterion(wc, 60 * 1000, 1000, true);
       
-      BridgeServerImpl bs = (BridgeServerImpl)c.getBridgeServers().iterator()
+      CacheServerImpl bs = (CacheServerImpl)c.getCacheServers().iterator()
           .next();
       assertNotNull(bs);
       assertNotNull(bs.getAcceptor());
@@ -714,7 +689,7 @@ public class HAStartupAndFailoverDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
 
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
     server1.setPort(port);
     // ensures updates to be sent instead of invalidations

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListDUnitTest.java
index 493840b..d1ba9d6 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListDUnitTest.java
@@ -30,7 +30,7 @@ import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.cache.client.*;
 import com.gemstone.gemfire.cache.NoSubscriptionServersAvailableException;
 
@@ -566,7 +566,7 @@ public class InterestListDUnitTest extends DistributedTestCase
 
   /** wait for queues to drain in the server */
   public static void flushQueues() throws Exception {
-    BridgeServerImpl impl = (BridgeServerImpl)server;
+    CacheServerImpl impl = (CacheServerImpl)server;
     for (CacheClientProxy proxy: (Set<CacheClientProxy>)impl.getAllClientSessions()) {
       final CacheClientProxy fproxy = proxy;
       WaitCriterion ev = new WaitCriterion() {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListEndpointDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListEndpointDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListEndpointDUnitTest.java
index 21d40bc..ca34569 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListEndpointDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListEndpointDUnitTest.java
@@ -29,12 +29,12 @@ import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.Connection;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 import com.gemstone.gemfire.cache.client.internal.QueueConnectionImpl;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache30.CacheSerializableRunnable;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 
 import dunit.DistributedTestCase;
 import dunit.Host;
@@ -263,8 +263,8 @@ public class InterestListEndpointDUnitTest extends DistributedTestCase
   {
   try {
         Cache c = CacheFactory.getAnyInstance();
-        assertEquals("More than one BridgeServer", 1, c.getBridgeServers().size());
-        BridgeServerImpl bs = (BridgeServerImpl) c.getBridgeServers().iterator().next();
+        assertEquals("More than one BridgeServer", 1, c.getCacheServers().size());
+        CacheServerImpl bs = (CacheServerImpl) c.getCacheServers().iterator().next();
         assertNotNull(bs);
         assertNotNull(bs.getAcceptor());
         assertNotNull(bs.getAcceptor().getCacheClientNotifier());
@@ -273,9 +273,9 @@ public class InterestListEndpointDUnitTest extends DistributedTestCase
        CacheClientProxy proxy = (CacheClientProxy)iter_prox.next();
        //if (proxy._interestList._keysOfInterest.get("/"+REGION_NAME) != null) {
        if(proxy.isPrimary()){
-          Iterator iter = cache.getBridgeServers().iterator();
+          Iterator iter = cache.getCacheServers().iterator();
           if (iter.hasNext()) {
-            BridgeServer server = (BridgeServer)iter.next();
+            CacheServer server = (CacheServer)iter.next();
                   cache.getLogger().fine("stopping server " + server);
             server.stop();
           }
@@ -356,7 +356,7 @@ public class InterestListEndpointDUnitTest extends DistributedTestCase
     new InterestListEndpointDUnitTest("temp").createCache(new Properties());
     RegionAttributes attrs = impl.createServerCacheAttributes();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
     server1.setPort(port);
     server1.setMaxThreads(maxThreads.intValue());
@@ -390,8 +390,8 @@ public class InterestListEndpointDUnitTest extends DistributedTestCase
   {
     try {
       Cache c = CacheFactory.getAnyInstance();
-      assertEquals("More than one BridgeServer", 1, c.getBridgeServers().size());
-      BridgeServerImpl bs = (BridgeServerImpl) c.getBridgeServers().iterator().next();
+      assertEquals("More than one CacheServer", 1, c.getCacheServers().size());
+      CacheServerImpl bs = (CacheServerImpl) c.getCacheServers().iterator().next();
       assertNotNull(bs);
       assertNotNull(bs.getAcceptor());
       assertNotNull(bs.getAcceptor().getCacheClientNotifier());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListFailoverDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListFailoverDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListFailoverDUnitTest.java
index 28923c1..985abb2 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListFailoverDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListFailoverDUnitTest.java
@@ -12,7 +12,7 @@ package com.gemstone.gemfire.internal.cache.tier.sockets;
 import java.util.Iterator;
 
 import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.client.*;
 import com.gemstone.gemfire.internal.AvailablePort;
 import com.gemstone.gemfire.internal.cache.PoolFactoryImpl;
@@ -202,9 +202,9 @@ public class InterestListFailoverDUnitTest extends DistributedTestCase
   public static void stopServer()
   {
     try {
-      Iterator iter = CacheServerTestUtil.getCache().getBridgeServers().iterator();
+      Iterator iter = CacheServerTestUtil.getCache().getCacheServers().iterator();
       if (iter.hasNext()) {
-        BridgeServer server = (BridgeServer)iter.next();
+        CacheServer server = (CacheServer)iter.next();
           server.stop();
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListRecoveryDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListRecoveryDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListRecoveryDUnitTest.java
index 60e7a63..ebaba34 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListRecoveryDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestListRecoveryDUnitTest.java
@@ -24,11 +24,11 @@ import com.gemstone.gemfire.cache.InterestResultPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
 import com.gemstone.gemfire.cache.client.*;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
@@ -226,7 +226,7 @@ public class InterestListRecoveryDUnitTest extends DistributedTestCase
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET) ;
-    BridgeServer server1 = cache.addBridgeServer();
+    CacheServer server1 = cache.addCacheServer();
     server1.setPort(port);
     server1.setNotifyBySubscription(true);
     server1.start();
@@ -452,8 +452,8 @@ public class InterestListRecoveryDUnitTest extends DistributedTestCase
 
  public static Set getCacheClientProxies() {
    Cache c = CacheFactory.getAnyInstance();
-   assertEquals("More than one BridgeServer", 1, c.getBridgeServers().size());
-   BridgeServerImpl bs = (BridgeServerImpl)c.getBridgeServers().iterator()
+   assertEquals("More than one CacheServer", 1, c.getCacheServers().size());
+   CacheServerImpl bs = (CacheServerImpl)c.getCacheServers().iterator()
    .next();
    assertNotNull(bs);
    assertNotNull(bs.getAcceptor());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestResultPolicyDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestResultPolicyDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestResultPolicyDUnitTest.java
index 42c4bfa..dbdc1cc 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestResultPolicyDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/InterestResultPolicyDUnitTest.java
@@ -20,7 +20,7 @@ import com.gemstone.gemfire.cache.InterestResultPolicy;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionAttributes;
 import com.gemstone.gemfire.cache.Scope;
-import com.gemstone.gemfire.cache.util.BridgeServer;
+import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.AvailablePort;
@@ -244,7 +244,7 @@ public class InterestResultPolicyDUnitTest extends DistributedTestCase
     factory.setScope(Scope.DISTRIBUTED_ACK);
     RegionAttributes attrs = factory.create();
     cache.createRegion(REGION_NAME, attrs);
-    BridgeServer server = cache.addBridgeServer();
+    CacheServer server = cache.addCacheServer();
     int port = AvailablePort.getRandomAvailablePort(AvailablePort.SOCKET);
     server.setPort(port);
     server.setNotifyBySubscription(true);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.java
index c448511..4cb31e7 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelJUnitTest.java
@@ -21,7 +21,7 @@ import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.CacheFactory;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.client.Pool;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
+import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.distributed.DistributedSystem;
 import com.gemstone.gemfire.distributed.internal.DistributionConfig;
 import com.gemstone.gemfire.internal.cache.tier.ConnectionProxy;
@@ -46,9 +46,6 @@ public class RedundancyLevelJUnitTest
   /** The distributed system */
   Cache cache;
 
-  /** The proxy instance */
-  ConnectionProxy proxy = null;
-
   /**
    * Close the cache and proxy instances for a test and disconnect from the
    * distributed system.
@@ -71,9 +68,6 @@ public class RedundancyLevelJUnitTest
       
       system.disconnect();
     }
-    if (proxy != null) {
-      proxy.close();
-    }
   }
 
   /**
@@ -114,16 +108,14 @@ public class RedundancyLevelJUnitTest
         assertNotNull("cache was null", cache);
         Region region = cache.getRegion("/root/exampleRegion");
         assertNotNull(region);
-        BridgeWriter writer = (BridgeWriter)region.getAttributes()
-            .getCacheWriter();
-        Pool pool = (Pool)writer.getConnectionProxy();
+        Pool pool = PoolManager.find("clientPool");
         assertEquals(
             "Redundancy level not matching the one specified in cache-xml", 6,
             pool.getSubscriptionRedundancy());
       } finally {
         final String removeExpected =
           "<ExpectedException action=remove>" + expected + "</ExpectedException>";
-        cache.getLogger().info(removeExpected);
+        system.getLogWriter().info(removeExpected);
       }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
index c1f4aab..05f5449 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java
@@ -81,7 +81,7 @@ public class RedundancyLevelPart1DUnitTest extends RedundancyLevelTestBase
    */
   public void testRedundancyNotSpecifiedPrimaryServerFails()
   {
-    /*BridgeObserver oldBo = BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+    /*ClientServerObserver oldBo = ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
       public void beforeFailoverByCacheClientUpdater(Endpoint epFailed)
       {
         try{
@@ -123,7 +123,7 @@ public class RedundancyLevelPart1DUnitTest extends RedundancyLevelTestBase
           "test failed due to exception in test RedundancyNotSpecifiedPrimaryServerFails ",
           ex);
     }/*finally {
-      BridgeObserverHolder.setInstance(oldBo);
+      ClientServerObserverHolder.setInstance(oldBo);
     }*/
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart3DUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart3DUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart3DUnitTest.java
index 7869289..3d11b5b 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart3DUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/RedundancyLevelPart3DUnitTest.java
@@ -7,8 +7,8 @@
  */
 package com.gemstone.gemfire.internal.cache.tier.sockets;
 
-import com.gemstone.gemfire.internal.cache.BridgeObserverAdapter;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverAdapter;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl;
 
 import dunit.DistributedTestCase;
@@ -59,7 +59,7 @@ public class RedundancyLevelPart3DUnitTest extends RedundancyLevelTestBase
       PoolImpl.BEFORE_RECOVER_INTEREST_CALLBACK_FLAG = true;
       registerInterestCalled = false;
       makePrimaryCalled = false;
-      BridgeObserverHolder.setInstance(new BridgeObserverAdapter() {
+      ClientServerObserverHolder.setInstance(new ClientServerObserverAdapter() {
         public void beforeInterestRegistration()
         {
           registerInterestCalled = true;


[16/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterDataSerializersOp.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterDataSerializersOp.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterDataSerializersOp.java
index c3ab84b..d06107d 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterDataSerializersOp.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterDataSerializersOp.java
@@ -12,8 +12,8 @@ import java.io.IOException;
 import com.gemstone.gemfire.DataSerializer;
 import com.gemstone.gemfire.SerializationException;
 import com.gemstone.gemfire.internal.InternalDataSerializer.SerializerAttributesHolder;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.tier.MessageType;
 import com.gemstone.gemfire.internal.cache.tier.sockets.Message;
@@ -61,7 +61,7 @@ public class RegisterDataSerializersOp {
       getMessage().addBytesPart(eventId.calcBytes());
       // // CALLBACK FOR TESTING PURPOSE ONLY ////
       if (PoolImpl.IS_INSTANTIATOR_CALLBACK) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.beforeSendingToServer(eventId);
       }
    }
@@ -85,7 +85,7 @@ public class RegisterDataSerializersOp {
       getMessage().addBytesPart(eventId.calcBytes());
       // // CALLBACK FOR TESTING PURPOSE ONLY ////
       if (PoolImpl.IS_INSTANTIATOR_CALLBACK) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.beforeSendingToServer(eventId);
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterInstantiatorsOp.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterInstantiatorsOp.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterInstantiatorsOp.java
index f3c9f03..8e7515d 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterInstantiatorsOp.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/RegisterInstantiatorsOp.java
@@ -12,8 +12,8 @@ import java.io.IOException;
 import com.gemstone.gemfire.Instantiator;
 import com.gemstone.gemfire.SerializationException;
 import com.gemstone.gemfire.internal.InternalInstantiator.InstantiatorAttributesHolder;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.tier.MessageType;
 import com.gemstone.gemfire.internal.cache.tier.sockets.Message;
@@ -87,7 +87,7 @@ public class RegisterInstantiatorsOp {
       getMessage().addBytesPart(eventId.calcBytes());
 //     // // CALLBACK FOR TESTING PURPOSE ONLY ////
       if (PoolImpl.IS_INSTANTIATOR_CALLBACK) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.beforeSendingToServer(eventId);
       }
     }
@@ -128,7 +128,7 @@ public class RegisterInstantiatorsOp {
       getMessage().addBytesPart(eventId.calcBytes());
       // // // CALLBACK FOR TESTING PURPOSE ONLY ////
       if (PoolImpl.IS_INSTANTIATOR_CALLBACK) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.beforeSendingToServer(eventId);
       }
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ServerRegionProxy.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ServerRegionProxy.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ServerRegionProxy.java
index 7670ef9..b10a38b 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ServerRegionProxy.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ServerRegionProxy.java
@@ -27,13 +27,10 @@ import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.ContainsKeyOp.MODE;
 import com.gemstone.gemfire.cache.execute.Function;
 import com.gemstone.gemfire.cache.execute.ResultCollector;
-import com.gemstone.gemfire.cache.util.BridgeClient;
-import com.gemstone.gemfire.cache.util.BridgeLoader;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.cache.AbstractRegion;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.EntryEventImpl;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
@@ -87,37 +84,8 @@ public class ServerRegionProxy extends ServerProxy implements ServerRegionDataAc
   private static InternalPool calcPool(Region r) {
     String poolName = r.getAttributes().getPoolName();
     if (poolName == null || "".equals(poolName)) {
-      final CacheLoader cl = r.getAttributes().getCacheLoader();
-      final CacheWriter cw = r.getAttributes().getCacheWriter();
-      if (AbstractRegion.isBridgeLoader(cl) || AbstractRegion.isBridgeWriter(cw)) {
-        Object loaderPool = null;
-        Object writerPool = null;
-        if (AbstractRegion.isBridgeLoader(cl)) {
-          if (cl instanceof BridgeLoader) {
-            loaderPool = ((BridgeLoader)cl).getConnectionProxy();
-          } else {
-            loaderPool = ((BridgeClient)cl).getConnectionProxy();
-          }
-        }
-        if (AbstractRegion.isBridgeWriter(cw)) {
-          writerPool = ((BridgeWriter)cw).getConnectionProxy();
-        }
-        if (loaderPool != writerPool && loaderPool != null && writerPool != null) {
-          throw new IllegalStateException("The region " + r.getFullPath()
-                                          + " has a BridgeLoader and a BridgeWriter/BridgeClient "
-                                          + " that are configured with different connection pools. "
-                                          + " This is not allowed. Instead create a single BridgeClient and install it as both the loader and the writer."
-                                          + " loaderPool="+loaderPool + " writerPool=" + writerPool);
-        }
-        InternalPool result = (InternalPool)loaderPool;
-        if (result == null) {
-          result = (InternalPool)writerPool;
-        }
-        return result;
-      } else {
-        throw new IllegalStateException("The region " + r.getFullPath()
-                                        + " did not have a client pool configured.");
-      }
+      throw new IllegalStateException("The region " + r.getFullPath()
+          + " did not have a client pool configured.");
     } else {
       InternalPool pool = (InternalPool)PoolManager.find(poolName);
       if (pool == null) {
@@ -400,7 +368,7 @@ public class ServerRegionProxy extends ServerProxy implements ServerRegionDataAc
             interestType, policy, isDurable, receiveUpdatesAsInvalidates, regionDataPolicy);
         //////// TEST PURPOSE ONLY ///////////
         if (PoolImpl.AFTER_REGISTER_CALLBACK_FLAG) {
-          BridgeObserver bo = BridgeObserverHolder.getInstance();
+          ClientServerObserver bo = ClientServerObserverHolder.getInstance();
           bo.afterInterestRegistration();
         }
         /////////////////////////////////////////
@@ -594,7 +562,7 @@ public class ServerRegionProxy extends ServerProxy implements ServerRegionDataAc
       finished = true;
       //////// TEST PURPOSE ONLY ///////////
       if (PoolImpl.AFTER_REGISTER_CALLBACK_FLAG) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.afterInterestRegistration();
       }
       /////////////////////////////////////////

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/execute/internal/FunctionServiceManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/execute/internal/FunctionServiceManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/execute/internal/FunctionServiceManager.java
index afb8b05..af73acc 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/execute/internal/FunctionServiceManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/execute/internal/FunctionServiceManager.java
@@ -422,8 +422,7 @@ public final class FunctionServiceManager {
    */
   private final boolean isClientRegion(Region region) {
     LocalRegion localRegion = (LocalRegion) region;
-    return (localRegion.hasServerProxy() || AbstractRegion.isBridgeLoader(localRegion.getCacheLoader()) || AbstractRegion
-        .isBridgeWriter(localRegion.getCacheWriter()));
+    return localRegion.hasServerProxy();
   }
 
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerLoadProbe.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerLoadProbe.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerLoadProbe.java
index de67c9b..f6e802f 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerLoadProbe.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerLoadProbe.java
@@ -11,8 +11,8 @@ import com.gemstone.gemfire.cache.CacheCallback;
 
 
 /**
- * A load probe is installed in a bridge server to measure the load on the
- * bridge server for balancing load between multiple bridge servers.
+ * A load probe is installed in a cache server to measure the load on the
+ * cache server for balancing load between multiple cache servers.
  * 
  * <p>
  * The getLoad method will be called once per poll interval see
@@ -37,7 +37,7 @@ import com.gemstone.gemfire.cache.CacheCallback;
  * Because cache servers can be stopped, reconfigured, and restarted, the open
  * and close methods on this callback can be called several times. If the same
  * callback object is installed on multiple cache servers, open and close will
- * be called once for each bridge server.
+ * be called once for each cache server.
  * </p>
  * 
  * @author dsmith
@@ -53,13 +53,13 @@ public interface ServerLoadProbe extends CacheCallback {
    */
   ServerLoad getLoad(ServerMetrics metrics);
   
-  /** Signals that a bridge server
+  /** Signals that a cache server
    * using this load probe has been started.
    */
   void open();
   
   /**
-   * Signals that a bridge server
+   * Signals that a cache server
    * using this load probe has been closed.
    */
   void close();

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerMetrics.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerMetrics.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerMetrics.java
index eb977aa..d4559c8 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerMetrics.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/ServerMetrics.java
@@ -9,7 +9,7 @@ package com.gemstone.gemfire.cache.server;
 
 
 /**
- * Metrics about the resource usage for a bridge server.
+ * Metrics about the resource usage for a cache server.
  * These metrics are provided to the {@link ServerLoadProbe} for
  * use in calculating the load on the server.
  * @author dsmith
@@ -19,23 +19,23 @@ package com.gemstone.gemfire.cache.server;
 public interface ServerMetrics {
   /**
    * Get the number of open connections
-   * for this bridge server.
+   * for this cache server.
    */
   int getConnectionCount();
   
   /** Get the number of clients connected to this
-   * bridge server.
+   * cache server.
    */ 
   int getClientCount();
   
   /**
    * Get the number of client subscription connections hosted on this
-   * bridge server.
+   * cache server.
    */
   int getSubscriptionConnectionCount();
   
   /**
-   * Get the max connections for this bridge server.
+   * Get the max connections for this cache server.
    */
   int getMaxConnections();
   

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/internal/LoadMonitor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/internal/LoadMonitor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/internal/LoadMonitor.java
index 6210f60..129ba2c 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/internal/LoadMonitor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/server/internal/LoadMonitor.java
@@ -14,12 +14,12 @@ import org.apache.logging.log4j.Logger;
 
 import com.gemstone.gemfire.CancelException;
 import com.gemstone.gemfire.SystemFailure;
-import com.gemstone.gemfire.cache.client.internal.BridgeServerLoadMessage;
+import com.gemstone.gemfire.cache.client.internal.CacheServerLoadMessage;
 import com.gemstone.gemfire.cache.server.ServerLoad;
 import com.gemstone.gemfire.cache.server.ServerLoadProbe;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.distributed.internal.membership.MembershipManager;
-import com.gemstone.gemfire.internal.cache.BridgeServerAdvisor;
+import com.gemstone.gemfire.internal.cache.CacheServerAdvisor;
 import com.gemstone.gemfire.internal.cache.tier.Acceptor;
 import com.gemstone.gemfire.internal.cache.tier.sockets.CacheServerStats;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
@@ -41,14 +41,14 @@ public class LoadMonitor implements ConnectionListener {
   
   private final ServerLoadProbe probe;
   private final ServerMetricsImpl metrics;
-  protected final BridgeServerAdvisor advisor;
+  protected final CacheServerAdvisor advisor;
   protected ServerLocation location;
   private final PollingThread pollingThread;
   protected volatile ServerLoad lastLoad;
   protected CacheServerStats stats;
 
   public LoadMonitor(ServerLoadProbe probe, int maxConnections,
-      long pollInterval, int forceUpdateFrequency, BridgeServerAdvisor advisor) {
+      long pollInterval, int forceUpdateFrequency, CacheServerAdvisor advisor) {
     this.probe = probe;
     this.metrics = new ServerMetricsImpl(maxConnections);
     this.pollingThread = new PollingThread(pollInterval, forceUpdateFrequency);
@@ -195,8 +195,8 @@ public class LoadMonitor implements ConnectionListener {
             
             stats.setLoad(load);
             if (locators != null) {
-              BridgeServerLoadMessage message =
-                new BridgeServerLoadMessage(load, location, myClientIds);
+              CacheServerLoadMessage message =
+                new CacheServerLoadMessage(load, location, myClientIds);
               message.setRecipients(locators);
               MembershipManager mgr = advisor.getDistributionManager().getMembershipManager();
               if (mgr == null || !mgr.isBeingSick()) { // test hook

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeClient.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeClient.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeClient.java
deleted file mode 100644
index 184e8bc..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeClient.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import java.util.Properties;
-
-import com.gemstone.gemfire.SystemFailure;
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.CacheLoader;
-import com.gemstone.gemfire.cache.CacheLoaderException;
-import com.gemstone.gemfire.cache.CacheWriter;
-import com.gemstone.gemfire.cache.LoaderHelper;
-import com.gemstone.gemfire.cache.Region;
-
-/**
- * This class combines the BridgeWriter and BridgeLoader functionality into one
- * class, sharing BridgeServer connections, optimizing the number
- * of connections required when using a BridgeWriter and BridgeLoader separately.
- * <p>
- * When a BridgeClient is declared in cache.xml
- * it can be installed as either a cache-loader or as a cache-writer
- * and it will automatically be installed as both the loader and writer
- * for that region.
- * This allows a single instance to be declared in XML and used as both
- * the cache-loader and cache-writer thus reducing the number of connections to the server.
- * 
- * <p>
- * For configuration details please see the {@link com.gemstone.gemfire.cache.util.BridgeWriter} and 
- * the {@link com.gemstone.gemfire.cache.util.BridgeLoader}.
- * 
- * @author Mitch Thomas
- * @since 5.0.1
- * @see com.gemstone.gemfire.cache.util.BridgeLoader
- * @see com.gemstone.gemfire.cache.util.BridgeWriter
- * @see com.gemstone.gemfire.cache.util.BridgeServer
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-@Deprecated
-public class BridgeClient extends BridgeWriter implements CacheLoader
-{
-
-  private final BridgeLoader loader = new BridgeLoader();
-  
-  public Object load(LoaderHelper helper) throws CacheLoaderException
-  {
-    return this.loader.load(helper);
-  }
-
-  /**
-   * Ensure that the BridgeLoader class gets loaded.
-   * 
-   * @see SystemFailure#loadEmergencyClasses()
-   */
-  public static void loadEmergencyClasses() {
-    BridgeLoader.loadEmergencyClasses();
-  }
-  
-  @Override
-  public void close()
-  {
-    try {
-      this.loader.close();
-    } finally {
-      super.close();
-    }
-  }
-
-  /**
-   * Returns true if this <code>BridgeClient</code> has been closed.
-   */
-  @Override
-  public boolean isClosed() {
-    return super.isClosed();
-  }
-
-  /**
-   * Notify the BridgeClient that the given Region will begin delivering events to this BridgeClient.
-   * This method effects the behavior of {@link #close()} and allows a single instance of BridgeClient 
-   * to be safely shared with multiple Regions.
-   *
-   * This is called internally when the BridgeClient is added to a Region
-   * via {@link AttributesFactory#setCacheWriter(CacheWriter)}}
-   *
-   * @param r
-   *          the Region which will begin use this BridgeWriter.
-   *
-   * @see #detach(Region)
-   * @see #close()
-   */
-  @Override
-  public void attach(Region r)
-  {
-    try {
-      this.loader.attach(r);
-    } finally {
-      super.attach(r);
-    }
-  }
-
-  /**
-   * Notify the BridgeClient that the given region is no longer relevant.
-   * This method is used internally during Region {@link Region#destroyRegion() destruction} and {@link Region#close() closure}.
-   * This method effects the behavor of {@link #close()} and allows a single instance of BridgeClient 
-   * to be safely shared with multiple Regions.
-   *
-   * @see #attach(Region)
-   * @see #close()
-   * @param r
-   *          the Region which will no longer use this BridgeWriter
-   */
-  @Override
-  public void detach(Region r)
-  {
-    try {
-      this.loader.detach(r);
-    } finally {
-      super.detach(r);
-    }
-  }
-
-  @Override
-  public void init(BridgeWriter bridgeWriter)
-  {
-    super.init(bridgeWriter);
-    this.loader.init(this);
-  }
-
-  @Override
-  public void init(Properties p)
-  {
-    super.init(p);
-    this.loader.init(this);
-  }
-
-  /**
-   * Return the internally maintained BridgeLoader 
-   * @return the internal BridgeLoader
-   */
-  public BridgeLoader getBridgeLoader() {
-    return this.loader;
-  }
-  
-  /**
-   * Returns a string description of the BridgeClient
-   */
-  @Override
-  public String toString()
-  {
-    return "BridgeClient#" + System.identityHashCode(this) +  " connected to " + this.proxy;
-  }
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeLoader.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeLoader.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeLoader.java
deleted file mode 100644
index 58c5862..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeLoader.java
+++ /dev/null
@@ -1,607 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import java.util.Properties;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import com.gemstone.gemfire.SystemFailure;
-import com.gemstone.gemfire.cache.AttributesFactory;
-import com.gemstone.gemfire.cache.AttributesMutator;
-import com.gemstone.gemfire.cache.Cache;
-import com.gemstone.gemfire.cache.CacheLoader;
-import com.gemstone.gemfire.cache.CacheLoaderException;
-import com.gemstone.gemfire.cache.Declarable;
-import com.gemstone.gemfire.cache.LoaderHelper;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.client.internal.BridgePoolImpl;
-import com.gemstone.gemfire.cache.client.internal.ServerProxy;
-import com.gemstone.gemfire.cache.query.SelectResults;
-import com.gemstone.gemfire.internal.cache.tier.ConnectionProxy;
-import com.gemstone.gemfire.internal.i18n.LocalizedStrings;
-
-/**
- * A <code>CacheLoader</code> that loads data from one or more remote
- * <code>cacheserver</code> processes. This allows for a hierarchical caching
- * scheme in which one cache ('client' cache) delegates a request to another
- * cache ('server' cache) when it cannot find the data locally.
- * 
- * 
- * When using the <code>BridgeLoader</code>, at least two GemFire Caches must
- * be running in a client/server mode (they should not be part of the same
- * distributed system).
- * 
- * The 'server' cache must be running a gemfire <code>cacheserver</code>
- * process, while the 'client' cache must have a <code>BridgeLoader</code>
- * installed in one or more of its <code>Regions</code>. If a
- * <code>BridgeLoader</code> is defined in a client <code>Region</code>,
- * there must also be a <code>Region</code> defined in the 'server' cache with
- * the same exact name.
- * 
- * <p>
- * 
- * The <code>BridgeLoader</code> performs <code>get()</code> operations on
- * the remote server cache, and does not provide the distribution behavior that
- * can be enabled by using a <code>DISTRIBUTED</code> or
- * <code>DISTRIBUTED_NO_ACK</code> <code>Region</code>. This mechanism is
- * designed as a more targeted alternative to netSearch, in which the 'client'
- * cache completely delegates the loading of the data to the 'server' cache if
- * it is not yet cached in the client. This directed behavior enables a remote
- * network <code>get()</code> operation to be performed much more efficiently
- * in a scenario where there is a hierarchical cache topology. Updates and
- * invalidation remain local, in fact the <code>Regions</code> that are used
- * for this loosely coupled cache may even be <code>LOCAL</code> in scope.
- * 
- * The <code>BridgeLoader</code> may be used to configure caches with
- * multi-layer hierarchies.
- * 
- * 
- * <p>
- * <b>Load Balancing: </b>
- * <p>
- * The <code>BridgeLoader</code> supports these load balancing mechanisms
- * (specified by the <code>LBPolicy</code> config attribute):
- * <p>
- * <ul>
- * <li><b>Sticky </b> <br>
- * In this mode, the client loader picks the first server from the list of
- * servers and establishes a connection to it. Once this connection has been
- * established, every request from that particular 'client' cache is sent on
- * that connection. If requests time out or produce exceptions, the
- * <code>BridgeLoader</code> picks another server and then sends further
- * requests to that server. This achieves a level of load balancing by
- * redirecting requests away from servers that produce timeouts.</li>
- *
- * <li><b>RandomSticky </b> <br>
- * The behavior is the same as Sticky, however the initial assignment of the
- * connection is randomly selected from the list of servers.</li>
- * 
- * <li><b>RoundRobin </b> <br>
- * In this mode, the client establishes connections to all the servers in the
- * server list and then randomly picks a server for each given request. For the
- * next request, it picks the next server in the list.</li>
- * 
- * <li><b>Random </b>: <br>
- * In this mode, the edge establishes connections to all the servers in the
- * server list and then randomly picks a server for every request.</li>
- * 
- * 
- * </ul>
- * 
- * <p>
- * <b>Failover: </b>
- * <p>
- * 
- * If a remote server cache throws an exception or times out, the client will
- * retry based on the configured <code>retryCount</code> parameter. If the
- * <code>retryCount</code> is exceeded, the server in question will be added
- * to a failed server list, and the client will select another server to connect
- * to. The servers in the failed server list will be periodically pinged with an
- * intelligent ping that ensures cache health. If a server is determined to be
- * healthy again, it will be promoted back to the healthy server list. The time
- * period between failed server pings is configurable via the
- * <code>retryInterval</code> parameter.
- * 
- * <p>
- * <b>Configuration: </b>
- * <p>
- * The <code>BridgeLoader</code> is configurable declaratively or
- * programmatically. Declarative configuration is achieved through defining the
- * configuration parameters in a <code>cache.xml</code> file. Programmatic
- * configuration may be achieved by first instantiating a
- * <code>BridgeLoader</code> object and subsequently calling
- * {@link #init(Properties)}with a <code>Properties</code> object containing
- * each desired parameter and value.
- * <p>
- * <b>The supported parameters are: </b>
- * <p>
- * <ul>
- * <li><b>endpoints </b> (required) <br>
- * A comma delimited list of logical names, hostnames, and ports of 'server'
- * caches to connect to <br>
- * The endpoints parameter follows this syntax:
- * logicalName=host:port,logicalName2=host2:port2,.... <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;endpoints&quot;&gt;
- *   &lt;string&gt;MyPrimaryServer=hostsrv:40404,MySecondary=hostsrv2:40404&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>readTimeout </b> (optional: default 10000) <br>
- * A millisecond value representing the amount of time to wait for a response
- * from a cache server. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;readTimeout&quot;&gt;
- *   &lt;string&gt;5000&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- *  </li>
- *  
- * <li><b>retryAttempts </b> (optional: default 5)<br>
- * The number of times to retry a request after timeout/exception. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;retryAttempts&quot;&gt;
- *   &lt;string&gt;5&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>retryInterval </b> (optional: default 10000) <br>
- * A millisecond value representing the amount of time to wait between attempts
- * by the <code>ServerMonitor</code> to ping living servers to verify that
- * they are still alive and dead servers to verify that they are still dead.
- * <br>
- * Example:</li>
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;retryInterval&quot;&gt;
- *   &lt;string&gt;10000&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * <li><b>LBPolicy </b> (optional: default "Sticky") <br>
- * A String value representing the load balancing policy to use. See above for
- * more details. <br>
- * Options are:
- * <ul>
- * <li>"Sticky"</li>
- * <li>"RandomSticky"</li>
- * <li>"RoundRobin"</li>
- * <li>"Random"</li>
- * </ul>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;LBPolicy&quot;&gt;
- *   &lt;string&gt;Sticky&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>connectionsPerServer </b> (optional: default 1)<br>
- * The number of initial connections created to each time it is
- * determined to be alive.
- * The minimum of <code>0</code> causes no initial connections to be created (they are only created on demand).
- * <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;connectionsPerServer&quot;&gt;
- *   &lt;string&gt;10&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * <li><b>socketBufferSize </b> (optional: default 32768) <br>
- * The size of the socket buffers in bytes. <br>
- * Example:
- * 
- * <pre>
- *<code>
- * &lt;parameter name=&quot;socketBufferSize&quot;&gt;
- *   &lt;string&gt;32768&lt;/string&gt;
- * &lt;/parameter&gt;
- * </code>
- *</pre>
- * 
- * </li>
- * </ul>
- * 
- * <p>
- * 
- * If you are using a <code>cache.xml</code> file to create a
- * <code>Region</code> declaratively, you can include the following
- * &lt;cache-loader&gt; definition to associate a <code>BridgeLoader</code>
- * with a <code>Region</code> (default values shown for optional parameters):
- * 
- * <pre>
- * 
- * &lt;cache-loader&gt;
- *   &lt;class-name&gt;com.gemstone.gemfire.cache.util.BridgeLoader&lt;/class-name&gt;
- *   &lt;parameter name=&quot;endpoints&quot;&gt;
- *     &lt;string&gt;MyHost=ninja.gemstone.com:40404&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;readTimeout&quot;&gt;
- *     &lt;string&gt;10000&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;retryAttempts&quot;&gt;
- *     &lt;string&gt;5&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;retryInterval&quot;&gt;
- *     &lt;string&gt;10000&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;LBPolicy&quot;&gt;
- *     &lt;string&gt;Sticky&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;parameter name=&quot;socketBufferSize&quot;&gt;
- *     &lt;string&gt;32768&lt;/string&gt;
- *   &lt;/parameter&gt;
- *   &lt;/parameter&gt;
- * &lt;/cache-loader&gt;
- * </pre>
- * 
- * @since 2.0.2
- * @author Greg Passmore
- * @deprecated as of 5.7 use {@link com.gemstone.gemfire.cache.client pools} instead.
- */
-
-@Deprecated
-public class BridgeLoader implements CacheLoader, Declarable
-{
-  ConnectionProxy proxy = null; // package access for
-                                    // tests/com/gemstone/gemfire/cache/util/BridgeHelper
-
-  private Properties properties;
-  
-  public BridgeLoader() { }
-
-  /**
-   * Creates a loader from an existing <code>BridgeWriter</code>. This
-   * method reuses the existing <code>BridgeWriter</code>'s proxy.
-   * 
-   * @param bw
-   *          The existing <code>BridgeWriter</code>
-   * 
-   * @since 5.7
-   */
-  public BridgeLoader(BridgeWriter bw) {
-    init(bw);
-  }
-
-  private volatile boolean isClosed = false;
-
-  private final AtomicInteger refCount = new AtomicInteger();
-
-  /**
-   * Initializes the loader with supplied config parameters. If instantiating
-   * the loader programmatically, this method must be called with a
-   * <code>Properties</code> object that at a minimum contains the 'endpoints'
-   * parameter before the loader can be used. If a LicenseException is thrown
-   * during initialization the BridgeLoader will trhow IllegalStateExceptions
-   * until properly initialized.
-   * 
-   * @param p
-   *          configuration data such as 'endpoint' definitions
-   * @throws IllegalStateException if the loader is already initialized
-   */
-  public void init(Properties p)
-  {
-    if (this.proxy != null) throw new IllegalStateException(LocalizedStrings.BridgeLoader_ALREADY_INITIALIZED.toLocalizedString());
-    this.properties = p;
-    if (Boolean.getBoolean("skipConnection")) {
-      // used by hydra when generating XML via RegionAttributesCreation
-      return;
-    }
-    this.proxy = BridgePoolImpl.create(properties, false/*useByBridgeWriter*/);
-  }
-
-  /**
-   * Initializes this loader from an existing <code>BridgeLoader</code>.
-   * This method reuses the existing <code>BridgeLoader</code>'s connections
-   * to the server.
-   *
-   * @param bridgeLoader The existing <code>BridgeLoader</code>
-   * @throws IllegalStateException if the loader is already initialized
-   *
-   * @since 4.2
-   */
-  public void init(BridgeLoader bridgeLoader)
-  {
-    if (this.proxy != null) throw new IllegalStateException(LocalizedStrings.BridgeLoader_ALREADY_INITIALIZED.toLocalizedString());
-    ConnectionProxy p = bridgeLoader.proxy;
-    p.reuse();
-    this.proxy = p;
-  }
-
-  /**
-   * Initializes this loader from an existing <code>BridgeWriter</code>. This
-   * method reuses the existing <code>BridgeWriter</code>'s proxy.
-   * 
-   * @param bridgeWriter
-   *          The existing <code>BridgeWriter</code>
-   * @throws IllegalStateException if the loader is already initialized
-   * 
-   * @since 5.7
-   */
-  public void init(BridgeWriter bridgeWriter)
-  {
-    if (this.proxy != null) throw new IllegalStateException("Already initialized");
-    ConnectionProxy p = bridgeWriter.proxy;
-    p.reuse();
-    this.proxy = p;
-  }
-
-  /**
-   * Ensure that the ConnectionProxyImpl class gets loaded.
-   * 
-   * @see SystemFailure#loadEmergencyClasses()
-   */
-  public static void loadEmergencyClasses() {
-    BridgePoolImpl.loadEmergencyClasses();
-  }
-  
-  /**
-   * Called when the region containing this <code>BridgeLoader</code> is
-   * destroyed, when the {@link Cache}is closed, or when a callback is removed
-   * from a region using an {@link AttributesMutator}
-   *
-   * Closes connections to {@link BridgeServer}s when all {@link Region}s are
-   * finished using this BridgeLoader,
-   *
-   * @see #detach(Region)
-   * @see #attach(Region)
-   */
-  public void close() {
-    if (this.refCount.get() <= 0) {
-      this.isClosed = true;
-      proxy.close();
-    }
-  }
-
-  /**
-   * Returns true if this <code>BridgeLoader</code> has been closed.
-   */
-  public boolean isClosed() {
-    return this.isClosed;
-  }
-
-  /**
-   * For speed optimizations, a connection to a server may be assigned to the
-   * calling thread when load is called. When the application thread is done
-   * doing its work it should invoke the BridgeLoader close method. This frees
-   * up the connection assigned to the application thread.
-   */
-  public void release()
-  {
-    proxy.release();
-  }
-
-  /**
-   * This method should be invoked when the BridgeLoader mechanism is to be shut
-   * down explicitly , outside of closing the cache.
-   */
-  public void terminate()
-  {
-    this.isClosed = true;
-    proxy.terminate();
-  }
-
-  // removed checkForTransaction
-
-  /**
-   * This method is invoked implicitly when an object requested on the client
-   * cache cannot be found. The server cache will attempt to be contacted, and
-   * if no server cache is available (or healthy) a CacheLoaderException will
-   * be thrown.
-   * 
-   */
-  public Object load(LoaderHelper helper) throws CacheLoaderException
-  {
-    throw new IllegalStateException("this method should not be called"); 
-  }
-
-  private void checkClosed() {
-    String reason = this.proxy.getCancelCriterion().cancelInProgress();
-    if(reason != null) {
-      throw new BridgeWriterException("The BridgeWriter has been closed: " + reason);
-    }
-    
-    if (this.isClosed) {
-      throw new CacheLoaderException(LocalizedStrings.BridgeLoader_THE_BRIDGELOADER_HAS_BEEN_CLOSED.toLocalizedString());
-    }
-    if (this.proxy != null && !this.proxy.isOpen()) {
-      throw new CacheLoaderException(LocalizedStrings.BridgeLoader_THE_BRIDGELOADER_HAS_BEEN_CLOSED.toLocalizedString());
-    }
-  }
-
-  /**
-   * Invoke a query on the cache server.
-   * @deprecated use {@link Region#query} instead
-   */
-  @Deprecated
-  public SelectResults query(String queryStr) throws CacheLoaderException {
-    ServerProxy sp = new ServerProxy((BridgePoolImpl)this.proxy);
-    return sp.query(queryStr, null);
-  }
-
-  /**
-   * Returns the retry interval in use. Retry interval refers to the interval at
-   * which dead servers are attempted to be reconnected. Internal use only.
-   */
-  public int getRetryInterval()
-  {
-    return proxy.getRetryInterval();
-  }
-
-  /**
-   * Returns the read timeout being used to time out requests to the server
-   * Internal use only.
-   */
-  public int getReadTimeout()
-  {
-    return proxy.getReadTimeout();
-  }
-
-  /**
-   * Returns the number of times the bridge loader tries to get data on
-   * encountering certain types of exceptions. Internal use only
-   */
-  public int getRetryAttempts()
-  {
-    return this.proxy.getRetryAttempts();
-  }
-
-  /**
-   * Returns the load balancing policy being used by the bridge loader Internal
-   * use only
-   */
-  public String getLBPolicy()
-  {
-    return proxy.getLBPolicy();
-  }
-
-  /**
-   * Returns the properties that defined this <code>BridgeWriter</code>.
-   * 
-   * @return the properties that defined this <code>BridgeWriter</code>
-   * 
-   * @since 4.2
-   */
-  public Properties getProperties()
-  {
-    return this.properties;
-  }
-
-  /**
-   * Returns the <code>ConnectionProxy</code> associated with this
-   * <code>BridgeLoader</code>.
-   * 
-   * For internal use only.
-   * 
-   * @return the <code>ConnectionProxy</code> associated with this
-   *         <code>BridgeLoader</code>
-   */
-  public Object/*ConnectionProxy*/ getConnectionProxy()
-  {
-    return proxy;
-  }
-
-  /**
-   * Add an <code>Endpoint</code> to the known <code>Endpoint</code>s.
-   * 
-   * @param name The name of the endpoint to add
-   * @param host The host name or ip address of the endpoint to add
-   * @param port The port of the endpoint to add
-   * 
-   * @throws EndpointExistsException if the <code>Endpoint</code> to be
-   * added already exists.
-   * 
-   * @since 5.0.2
-   */
-  public void addEndpoint(String name, String host, int port)
-  throws EndpointExistsException {
-    this.proxy.addEndpoint(name, host, port);
-  }
-
-  /**
-   * Remove an <code>Endpoint</code> from the dead <code>Endpoint</code>s.
-   * The specified <code>Endpoint</code> must be dead.
-   * 
-   * @param name The name of the endpoint to remove
-   * @param host The host name or ip address of the endpoint to remove
-   * @param port The port of the endpoint to remove
-   * 
-   * @throws EndpointDoesNotExistException if the <code>Endpoint</code> to be
-   * removed doesn't exist.
-   * 
-   * @throws EndpointInUseException if the <code>Endpoint</code> to be removed
-   * contains <code>Connection</code>s
-   * 
-   * @since 5.0.2
-   */
-  public void removeEndpoint(String name, String host, int port)
-  throws EndpointDoesNotExistException, EndpointInUseException {
-    this.proxy.removeEndpoint(name, host, port);
-  }
-
-  // removed handleException
-
-  // removed getExceptionMessage
-
-  /**
-   * Returns a brief description of this <code>BridgeLoader</code>
-   * 
-   * @since 4.0
-   */
-  @Override
-  public String toString()
-  {
-    return LocalizedStrings.BridgeLoader_BRIDGELOADER_CONNECTED_TO_0.toLocalizedString(this.proxy);
-  }
-
-  /**
-   * Notify the BridgeLoader that the given region is no longer relevant. This
-   * method is used internally during Region
-   * {@link Region#destroyRegion() destruction}and
-   * {@link Region#close() closure}. This method effects the behavor of
-   * {@link #close()}.
-   *
-   * @param r
-   *          the Region which will no longer use this BridgeLoader
-   * @see #close()
-   * @see #attach(Region)
-   * @since 4.3
-   */
-  public void detach(Region r)
-  {
-    this.refCount.decrementAndGet();
-  }
-
-  /**
-   * Notify the BridgeLoader that the given Region will begin calling
-   * {@link #load(LoaderHelper)}.
-   *
-   * This method affects the behavior of {@link #close()}.
-   *
-   * This is called internally when the BridgeLoader is added to a Region via
-   * {@link AttributesFactory#setCacheLoader(CacheLoader)}
-   * 
-   * @param r
-   *          the Region which will begin use this BridgeWriter.
-   * @since 4.3
-   *
-   * @see #detach(Region)
-   * @see #close()
-   */
-  public void attach(Region r)
-  {
-    checkClosed();
-    this.refCount.incrementAndGet();
-  }
-
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembership.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembership.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembership.java
deleted file mode 100755
index fdb718d..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembership.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
-
-/**
- * Provides utility methods for registering and unregistering
- * BridgeMembershipListeners in this process.
- *
- * @author Kirk Lund
- * @since 4.2.1
- * @deprecated see com.gemstone.gemfire.management.membership.ClientMembership
- */
-public final class BridgeMembership {
-
-  private BridgeMembership() {}
-
-  /**
-   * Registers a {@link BridgeMembershipListener} for notification of
-   * connection changes for BridgeServers and bridge clients.
-   * @param listener a BridgeMembershipListener to be registered
-   */
-  public static void registerBridgeMembershipListener(BridgeMembershipListener listener) {
-    InternalBridgeMembership.registerBridgeMembershipListener(listener);
-  }
-
-  /**
-   * Removes registration of a previously registered {@link
-   * BridgeMembershipListener}.
-   * @param listener a BridgeMembershipListener to be unregistered
-   */
-  public static void unregisterBridgeMembershipListener(BridgeMembershipListener listener) {
-    InternalBridgeMembership.unregisterBridgeMembershipListener(listener);
-  }
-
-  /**
-   * Returns an array of all the currently registered
-   * <code>BridgeMembershipListener</code>s. Modifications to the returned
-   * array will not effect the registration of these listeners.
-   * @return the registered <code>BridgeMembershipListener</code>s; an empty
-   * array if no listeners
-   */
-  public static BridgeMembershipListener[] getBridgeMembershipListeners() {
-    return InternalBridgeMembership.getBridgeMembershipListeners();
-  }
-
-
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipEvent.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipEvent.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipEvent.java
deleted file mode 100755
index b9d205e..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipEvent.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import com.gemstone.gemfire.management.membership.ClientMembershipEvent;
-
-/**
- * An event delivered to a {@link BridgeMembershipListener} when this 
- * process detects connection changes to BridgeServers or bridge clients.
- *
- * @author Kirk Lund
- * @since 4.2.1
- * @deprecated see com.gemstone.gemfire.management.membership.ClientMembershipEvent
- */
-public interface BridgeMembershipEvent extends ClientMembershipEvent {
-  
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListener.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListener.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListener.java
deleted file mode 100755
index d0e6196..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListener.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
- package com.gemstone.gemfire.cache.util;
-
-/**
- * A listener whose callback methods are invoked when this process 
- * detects connection changes to BridgeServers or bridge clients.
- *
- * @see BridgeMembership#registerBridgeMembershipListener
- *
- * @author Kirk Lund
- * @since 4.2.1
- * @deprecated see com.gemstone.gemfire.management.membership.ClientMembershipListener
- */
-public interface BridgeMembershipListener{
-
-  /**
-   * Invoked when a client has connected to this process or when this
-   * process has connected to a BridgeServer.
-   */
-  public void memberJoined(BridgeMembershipEvent event);
-
-  /**
-   * Invoked when a client has gracefully disconnected from this process
-   * or when this process has gracefully disconnected from a BridgeServer.
-   */
-  public void memberLeft(BridgeMembershipEvent event);
-
-  /**
-   * Invoked when a client has unexpectedly disconnected from this process
-   * or when this process has unexpectedly disconnected from a BridgeServer.
-   */
-  public void memberCrashed(BridgeMembershipEvent event);
-
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListenerAdapter.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListenerAdapter.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListenerAdapter.java
deleted file mode 100755
index 3ce2721..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeMembershipListenerAdapter.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-
-package com.gemstone.gemfire.cache.util;
-
-/**
- * Utility class that implements all methods in 
- * <code>BridgeMembershipListener</code> with empty implementations.
- * Applications can subclass this class and only override the methods for
- * the events of interest.
- *
- * @author Kirk Lund
- * @since 4.2.1
- * @deprecated see com.gemstone.gemfire.management.membership.ClientMembershipListenerAdapter
- */
-public abstract class BridgeMembershipListenerAdapter 
-implements BridgeMembershipListener {
-    
-  /**
-   * Invoked when a client has connected to this process or when this
-   * process has connected to a BridgeServer.
-   */
-  public void memberJoined(BridgeMembershipEvent event) {}
-
-  /**
-   * Invoked when a client has gracefully disconnected from this process
-   * or when this process has gracefully disconnected from a BridgeServer.
-   */
-  public void memberLeft(BridgeMembershipEvent event) {}
-
-  /**
-   * Invoked when a client has unexpectedly disconnected from this process
-   * or when this process has unexpectedly disconnected from a BridgeServer.
-   */
-   public void memberCrashed(BridgeMembershipEvent event) {}
-  
-}
-

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeServer.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeServer.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeServer.java
deleted file mode 100644
index ad77071..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/util/BridgeServer.java
+++ /dev/null
@@ -1,442 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2010-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * one or more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.util;
-
-import java.io.IOException;
-import java.util.Set;
-
-import com.gemstone.gemfire.cache.ClientSession;
-import com.gemstone.gemfire.distributed.DistributedMember;
-import com.gemstone.gemfire.cache.client.Pool;
-import com.gemstone.gemfire.cache.server.CacheServer;
-import com.gemstone.gemfire.cache.server.ClientSubscriptionConfig;
-import com.gemstone.gemfire.cache.server.ServerLoadProbe;
-import com.gemstone.gemfire.cache.server.internal.ConnectionCountProbe;
-
-/**
- * A cache bridge server that serves the contents of a
- * <code>Cache</code> to VMs in another distributed system via a
- * socket.  A bridge server is used in conjunction with a
- * client {@link Pool} to connect two regions
- * that reside in different distributed systems.
- *
- * @see com.gemstone.gemfire.cache.Cache#addBridgeServer
- * @see com.gemstone.gemfire.cache.Cache#getBridgeServers
- *
- * @since 2.0.2
- * @deprecated as of 5.7 used {@link CacheServer} instead.
- */
-@Deprecated
-public interface BridgeServer {
-
-  /** The default port on which a <Code>BridgeServer</code> is
-   * configured to serve. */
-  public static final int DEFAULT_PORT = 40404;
-
-  /** 
-   * The default number of sockets accepted by a BridgeServer. 
-   * When the maximum is reached the server will stop accepting new connections.
-   * Current value: 800
-   * @since 5.7
-   */
-  public static final int DEFAULT_MAX_CONNECTIONS = 800;
-  // Value derived from common file descriptor limits for Unix sytems (1024)... 
-
-  /** 
-   * The default limit to the maximum number of server threads that can be
-   * created to service client requests. Once this number of threads exist then
-   * connections must share the same thread to service their request. A selector
-   * is used to detect client connection requests and dispatch them to the thread
-   * pool.
-   * The default of <code>0</code> causes a thread to be bound to every connection
-   * and to be dedicated to detecting client requests on that connection. A selector
-   * is not used in this default mode.
-   * Current value: 0
-   * @since 5.7
-   */
-  public static final int DEFAULT_MAX_THREADS = 0;
-
-  /** The default notify-by-subscription value which tells the
-   * <Code>BridgeServer</code> whether or not to notify clients
-   * based on key subscription. */
-  public static final boolean DEFAULT_NOTIFY_BY_SUBSCRIPTION = true;
-
-  /**
-   * The default socket buffer size for socket buffers from the server
-   * to the client.
-   */
-  public static final int DEFAULT_SOCKET_BUFFER_SIZE = 32768;
-
-  /**
-   * The default maximum amount of time between client pings. This value
-   * is used by the <code>ClientHealthMonitor</code> to determine the
-   * health of this <code>BridgeServer</code>'s clients.
-   */
-  public static final int DEFAULT_MAXIMUM_TIME_BETWEEN_PINGS = 60000;
-
-  /**
-   * The default maximum number of messages that can be enqueued in a
-   * client-queue.
-   */
-  public static final int DEFAULT_MAXIMUM_MESSAGE_COUNT = 230000;
-
-  /**
-   * The default time (in seconds ) after which a message in the client queue
-   * will expire.
-   */
-  public static final int DEFAULT_MESSAGE_TIME_TO_LIVE = 180;
-
-  /**
-   * The default list of server groups a server belongs to.
-   * The current default is an empty list.
-   * @since 5.7
-   */
-  public static final String[] DEFAULT_GROUPS = new String[0];
-  
-  /**
-   * The default load balancing probe. The default load balancing
-   * probe reports the connections counts of this server. 
-   * @since 5.7
-   *  
-   */
-  public static final ServerLoadProbe DEFAULT_LOAD_PROBE = new ConnectionCountProbe();
-  
-  /**
-   * The default frequency at which to poll the load probe for the load
-   * on this server. Defaults to 5000 (5 seconds).
-   * @since 5.7
-   */
-  public static final long DEFAULT_LOAD_POLL_INTERVAL = 5000;
-
-  /**
-   * The default ip address or host name that the server's socket will
-   * listen on for client connections.
-   * The current default is an empty string.
-   * @since 5.7
-   */
-  public static final String DEFAULT_BIND_ADDRESS = "";
-
-  /**
-   * The default ip address or host name that will be given to clients
-   * as the host this server is listening on.
-   * The current default is an empty string.
-   * @since 5.7
-   */
-  public static final String DEFAULT_HOSTNAME_FOR_CLIENTS = "";
-
-  /**
-   * Returns the port on which this server listens for clients.
-   */
-  public int getPort();
-
-  /**
-   * Sets the port on which this server listens for clients.
-   *
-   * @throws IllegalStateException
-   *         If this server is running
-   */
-  public void setPort(int port);
-
-  /**
-   * Returns a string representing the ip address or host name that this server
-   * will listen on.
-   * @return the ip address or host name that this server is to listen on
-   * @see #DEFAULT_BIND_ADDRESS
-   * @since 5.7
-   */
-  public String getBindAddress();
-  /**
-   * Sets the ip address or host name that this server is to listen on for
-   * client connections.
-   * <p>Setting a specific bind address will cause the server to always
-   * use this address and ignore any address specified by "server-bind-address"
-   * or "bind-address" in the <code>gemfire.properties</code> file
-   * (see {@link com.gemstone.gemfire.distributed.DistributedSystem}
-   * for a description of these properties).
-   * <p> The value <code>""</code> does not override the <code>gemfire.properties</code>.
-   * It will cause the local machine's default address to be listened on if the
-   * properties file does not specify and address.
-   * If you wish to override the properties and want to have your server bind to all local
-   * addresses then use this bind address <code>"0.0.0.0"</code>.
-   * <p> A <code>null</code> value will be treated the same as the default <code>""</code>.
-   * @param address the ip address or host name that this server is to listen on
-   * @see #DEFAULT_BIND_ADDRESS
-   * @since 5.7
-   */
-  public void setBindAddress(String address);
-  /**
-   * Returns a string representing the ip address or host name that server locators
-   * will tell clients that this server is listening on.
-   * @return the ip address or host name to give to clients so they can connect
-   *         to this server
-   * @see #DEFAULT_HOSTNAME_FOR_CLIENTS
-   * @since 5.7
-   */
-  public String getHostnameForClients();
-  /**
-   * Sets the ip address or host name that this server is to listen on for
-   * client connections.
-   * <p>Setting a specific hostname-for-clients will cause server locators
-   * to use this value when telling clients how to connect to this server.
-   * This is useful in the case where the server may refer to itself with one
-   * hostname, but the clients need to use a different hostname to find the 
-   * server.
-   * <p> The value <code>""</code> causes the <code>bind-address</code> to be given to clients.
-   * <p> A <code>null</code> value will be treated the same as the default <code>""</code>.
-   * @param name the ip address or host name that will be given to clients
-   *   so they can connect to this server
-   * @see #DEFAULT_HOSTNAME_FOR_CLIENTS
-   * @since 5.7
-   */
-  public void setHostnameForClients(String name);
-  /**
-   * Sets whether or not this server should notify clients based on
-   * key subscription.
-   *
-   * If false, then an update to any key on the server causes an update to
-   * be sent to all clients. This update does not push the actual data to the
-   * clients. Instead, it causes the client to locally invalidate or destroy
-   * the corresponding entry. The next time the client requests the key, it
-   * goes to the server for the value.
-   *
-   * If true, then an update to any key on the server causes an update to be
-   * sent to only those clients who have registered interest in that key. Other
-   * clients are not notified of the change. In addition, the actual value is
-   * pushed to the client. The client does not need to request the new value
-   * from the server.
-   *
-   * @since 4.2
-   * @deprecated as of 6.0.1. This method is no more in use, by default 
-   * notifyBySubscription attribute is set to true.
-   */
-  @Deprecated
-  public void setNotifyBySubscription(boolean b);
-
-  /**
-   * Answers whether or not this server should notify clients based on
-   * key subscription.
-   *
-   * @since 4.2
-   * @deprecated as of 6.0.1. This method is no more in use, by default 
-   * notifyBySubscription attribute is set to true.
-   */
-  @Deprecated
-  public boolean getNotifyBySubscription();
-
-  /**
-   * Sets the buffer size in bytes of the socket connection for this
-   * <code>BridgeServer</code>. The default is 32768 bytes.
-   *
-   * @param socketBufferSize The size in bytes of the socket buffer
-   *
-   * @since 4.2.1
-   */
-  public void setSocketBufferSize(int socketBufferSize);
-
-  /**
-   * Returns the configured buffer size of the socket connection for this
-   * <code>BridgeServer</code>. The default is 32768 bytes.
-   * @return the configured buffer size of the socket connection for this
-   * <code>BridgeServer</code>
-   *
-   * @since 4.2.1
-   */
-  public int getSocketBufferSize();
-
-  /**
-   * Sets the maximum amount of time between client pings. This value is
-   * used by the <code>ClientHealthMonitor</code> to determine the health
-   * of this <code>BridgeServer</code>'s clients. The default is 60000 ms.
-   *
-   * @param maximumTimeBetweenPings The maximum amount of time between client
-   * pings
-   *
-   * @since 4.2.3
-   */
-  public void setMaximumTimeBetweenPings(int maximumTimeBetweenPings);
-
-  /**
-   * Returns the maximum amount of time between client pings. This value is
-   * used by the <code>ClientHealthMonitor</code> to determine the health
-   * of this <code>BridgeServer</code>'s clients. The default is 60000 ms.
-   * @return the maximum amount of time between client pings.
-   *
-   * @since 4.2.3
-   */
-  public int getMaximumTimeBetweenPings();
-
-  /**
-   * Starts this server.  Once the server is running, its
-   * configuration cannot be changed.
-   *
-   * @throws IOException
-   *         If an error occurs while starting the server
-   */
-  public void start() throws IOException;
-
-  /**
-   * Returns whether or not this server is running
-   */
-  public boolean isRunning();
-
-  /**
-   * Stops this server.  Note that the
-   * <code>BridgeServer</code> can be reconfigured and restarted if
-   * desired.
-   */
-  public void stop();
-
-  /** 
-   *  Returns the maximum allowed client connections
-   */
-  public int getMaxConnections();
-
-  /**
-   * Sets the maxium number of client connections allowed.
-   * When the maximum is reached the server will stop accepting
-   * connections.
-   * 
-   * @see #DEFAULT_MAX_CONNECTIONS
-   */
-  public void setMaxConnections(int maxCons);
-
-  /** 
-   * Returns the maxium number of threads allowed in this server to service
-   * client requests.
-   * The default of <code>0</code> causes the server to dedicate a thread for
-   * every client connection.
-   * @since 5.1
-   */
-  public int getMaxThreads();
-
-  /**
-   * Sets the maxium number of threads allowed in this server to service
-   * client requests.
-   * The default of <code>0</code> causes the server to dedicate a thread for
-   * every client connection.
-   * 
-   * @see #DEFAULT_MAX_THREADS
-   * @since 5.1
-   */
-  public void setMaxThreads(int maxThreads);
-
-  /**
-   * Returns the maximum number of messages that can be enqueued in a
-   * client-queue.
-   */
-  public int getMaximumMessageCount();
-
-  /**
-   * Sets maximum number of messages that can be enqueued in a client-queue.
-   * 
-   * @see #DEFAULT_MAXIMUM_MESSAGE_COUNT
-   */
-  public void setMaximumMessageCount(int maxMessageCount);
-  
-  /**
-   * Returns the time (in seconds ) after which a message in the client queue
-   * will expire.
-   */
-  public int getMessageTimeToLive();
-
-  /**
-   * Sets the time (in seconds ) after which a message in the client queue
-   * will expire.Expiry settings are applicable for the secondary queues only
-   * This setting has no impact on the primary queue.
-   * 
-   * @see #DEFAULT_MESSAGE_TIME_TO_LIVE
-   */
-  public void setMessageTimeToLive(int messageTimeToLive);
-  
-  /**
-   * Returns the <code>ClientSession</code> associated with the
-   * <code>DistributedMember</code>
-   * @return the <code>ClientSession</code> associated with the
-   * <code>DistributedMember</code>
-   * @since 5.6
-   */
-  public ClientSession getClientSession(DistributedMember member);
-  
-  /**
-   * Returns the <code>ClientSession</code> associated with the
-   * durable client id
-   * @return the <code>ClientSession</code> associated with the
-   * durable
-   * @since 5.6
-   */
-  public ClientSession getClientSession(String durableClientId);
-  
-  /**
-   * Returns a set of all <code>ClientSession</code>s
-   * @return a set of all <code>ClientSession</code>s
-   */
-  public Set getAllClientSessions();
-
-  /**
-   * Sets the list of server groups this cache server will belong to.
-   * By default cache servers belong to the default global server group
-   * which all cache servers always belong to.
-   * @param groups possibly empty array of <code>String</code> where each string
-   * is a server groups that this cache server will be a member of.
-   * @see #DEFAULT_GROUPS
-   * @since 5.7
-   */
-  public void setGroups(String[] groups);
-  /**
-   * Returns the list of server groups that this cache server belongs to.
-   * @return a possibly empty array of <code>String</code>s where
-   * each string is a server group. Modifying this array will not change the
-   * server groups that this cache server belongs to.
-   * @since 5.7
-   */
-  public String[] getGroups();
-
-  /**
-   * Get the load probe for this cache server. See
-   * {@link ServerLoadProbe} for details on the load probe.
-   * @return the load probe used by this cache
-   * server.
-   * @since 5.7
-   */
-  public ServerLoadProbe getLoadProbe();
-
-  /**
-   * Set the load probe for this cache server. See
-   * {@link ServerLoadProbe} for details on how to implement
-   * a load probe.
-   * @param loadProbe the load probe to use for
-   * this cache server.
-   * @since 5.7
-   */
-  public void setLoadProbe(ServerLoadProbe loadProbe);
-
-  /**
-   * Get the frequency in milliseconds to poll the load probe on this cache
-   * server.
-   * 
-   * @return the frequency in milliseconds that we will poll the load probe.
-   */
-  public long getLoadPollInterval();
-
-  /**
-   * Set the frequency in milliseconds to poll the load probe on this cache
-   * server
-   * @param loadPollInterval the frequency in milliseconds to poll
-   * the load probe. Must be greater than 0.
-   */
-  public void setLoadPollInterval(long loadPollInterval);
-  
-  /**
-   * Get the ClientSubscriptionConfig for this cache server. See
-   * {@link ClientSubscriptionConfig} for details on the client subscription configuration.
-   * 
-   * @return ClientSubscriptionConfig
-   * @since 5.7
-   */
-  public ClientSubscriptionConfig getClientSubscriptionConfig();
-}


[17/17] incubator-geode git commit: GEODE-243: remove deprecated Bridge feature

Posted by ds...@apache.org.
GEODE-243: remove deprecated Bridge feature

All the public classes and most of the internal ones
have been removed. The cache xsd also has its bridge
elements removed.
The deprecated admin package did not have its bridge
apis removed since the entire admin package is going
to be removed as a seperate project.
The external javadocs have also been updated to no
longer use the term "bridge".
Localized strings were changed to no longer use "bridge".
Internal code and test code continues to have some
bridge references. Additional cleanup will be done
in the future.


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

Branch: refs/heads/develop
Commit: 2eb4e17500a8faad994d80c08a149b1ee9baaa3e
Parents: 7111906
Author: Darrel Schneider <ds...@pivotal.io>
Authored: Thu Aug 27 11:02:27 2015 -0700
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Tue Oct 6 10:47:10 2015 -0700

----------------------------------------------------------------------
 .../gemfire/admin/GemFireMemberStatus.java      |   13 +-
 .../gemfire/admin/SystemMemberBridgeServer.java |    5 +-
 .../gemfire/admin/SystemMemberCache.java        |   27 -
 .../DistributedSystemHealthMonitor.java         |    2 +-
 .../admin/internal/SystemMemberCacheImpl.java   |   17 +-
 .../jmx/internal/SystemMemberCacheJmxImpl.java  |   13 -
 .../gemfire/cache/AttributesFactory.java        |   31 -
 .../java/com/gemstone/gemfire/cache/Cache.java  |   27 -
 .../gemfire/cache/DynamicRegionFactory.java     |  121 +-
 .../gemfire/cache/client/PoolFactory.java       |   10 +-
 .../cache/client/internal/AbstractOp.java       |    2 +-
 .../cache/client/internal/BridgePoolImpl.java   |  479 -----
 .../internal/BridgeServerLoadMessage.java       |   99 --
 .../client/internal/CacheServerLoadMessage.java |   99 ++
 .../cache/client/internal/DestroyOp.java        |    5 -
 .../client/internal/EndpointManagerImpl.java    |    8 +-
 .../internal/ExplicitConnectionSourceImpl.java  |   85 +-
 .../gemfire/cache/client/internal/GetOp.java    |    5 -
 .../gemfire/cache/client/internal/PoolImpl.java |   14 +-
 .../gemfire/cache/client/internal/PutOp.java    |    5 -
 .../cache/client/internal/QueueManagerImpl.java |   14 +-
 .../cache/client/internal/QueueStateImpl.java   |    6 +-
 .../internal/RegisterDataSerializersOp.java     |    8 +-
 .../internal/RegisterInstantiatorsOp.java       |    8 +-
 .../client/internal/ServerRegionProxy.java      |   44 +-
 .../internal/FunctionServiceManager.java        |    3 +-
 .../gemfire/cache/server/ServerLoadProbe.java   |   10 +-
 .../gemfire/cache/server/ServerMetrics.java     |   10 +-
 .../cache/server/internal/LoadMonitor.java      |   12 +-
 .../gemfire/cache/util/BridgeClient.java        |  156 --
 .../gemfire/cache/util/BridgeLoader.java        |  607 -------
 .../gemfire/cache/util/BridgeMembership.java    |   55 -
 .../cache/util/BridgeMembershipEvent.java       |   23 -
 .../cache/util/BridgeMembershipListener.java    |   41 -
 .../util/BridgeMembershipListenerAdapter.java   |   43 -
 .../gemfire/cache/util/BridgeServer.java        |  442 -----
 .../gemfire/cache/util/BridgeWriter.java        |  795 ---------
 .../cache/util/BridgeWriterException.java       |   48 -
 .../util/EndpointDoesNotExistException.java     |   34 -
 .../gemfire/cache/util/EndpointException.java   |   61 -
 .../cache/util/EndpointExistsException.java     |   28 -
 .../cache/util/EndpointInUseException.java      |   27 -
 .../util/IncompatibleVersionException.java      |   47 -
 .../util/ServerRefusedConnectionException.java  |   36 -
 .../UniversalMembershipListenerAdapter.java     |  352 ----
 .../cache/util/UnknownVersionException.java     |   39 -
 .../gemfire/cache/util/VersionException.java    |   45 -
 .../gemstone/gemfire/cache/util/package.html    |    3 -
 .../gemfire/distributed/ServerLauncher.java     |    4 +-
 .../internal/InternalDistributedSystem.java     |   12 +-
 .../distributed/internal/ServerLocator.java     |   10 +-
 .../jgroup/JGroupMembershipManager.java         |    6 +-
 .../gemstone/gemfire/internal/DSFIDFactory.java |   12 +-
 .../internal/DataSerializableFixedID.java       |    6 +-
 .../internal/admin/ClientStatsManager.java      |    7 -
 .../gemfire/internal/admin/GemFireVM.java       |    2 +-
 .../admin/remote/BridgeServerResponse.java      |   18 +-
 .../admin/remote/DurableClientInfoResponse.java |    4 +-
 .../admin/remote/RemoteBridgeServer.java        |   10 +-
 .../internal/admin/remote/RemoteCacheInfo.java  |    6 +-
 .../internal/admin/remote/RemoteGemFireVM.java  |    2 +-
 .../internal/cache/AbstractBridgeServer.java    |  425 -----
 .../internal/cache/AbstractCacheServer.java     |  398 +++++
 .../gemfire/internal/cache/AbstractRegion.java  |   52 -
 .../gemfire/internal/cache/BridgeObserver.java  |   89 -
 .../internal/cache/BridgeObserverAdapter.java   |  107 --
 .../internal/cache/BridgeObserverHolder.java    |   53 -
 .../internal/cache/BridgeRegionEventImpl.java   |  108 --
 .../internal/cache/BridgeServerAdvisor.java     |  165 --
 .../internal/cache/BridgeServerImpl.java        |  816 ---------
 .../gemfire/internal/cache/BucketAdvisor.java   |    2 +-
 .../gemfire/internal/cache/CacheConfig.java     |    8 +-
 .../internal/cache/CacheServerAdvisor.java      |  164 ++
 .../gemfire/internal/cache/CacheServerImpl.java |  812 +++++++++
 .../internal/cache/ClientRegionEventImpl.java   |  108 ++
 .../internal/cache/ClientServerObserver.java    |   90 +
 .../cache/ClientServerObserverAdapter.java      |  107 ++
 .../cache/ClientServerObserverHolder.java       |   53 +
 .../internal/cache/DestroyRegionOperation.java  |    6 +-
 .../cache/DistributedClearOperation.java        |    6 +-
 .../internal/cache/DistributedRegion.java       |    6 -
 .../gemfire/internal/cache/ExpiryTask.java      |   18 -
 .../cache/FindDurableQueueProcessor.java        |    4 +-
 .../internal/cache/GemFireCacheImpl.java        |   92 +-
 .../gemfire/internal/cache/GridAdvisor.java     |    6 +-
 .../gemfire/internal/cache/LocalRegion.java     |   41 +-
 .../internal/cache/PartitionedRegion.java       |    8 +-
 .../gemfire/internal/cache/PoolFactoryImpl.java |  171 +-
 .../gemfire/internal/cache/PoolManagerImpl.java |   19 -
 .../gemfire/internal/cache/RegionEventImpl.java |    2 +-
 .../internal/cache/doc-files/properties.html    |    4 +-
 .../cache/execute/InternalFunctionService.java  |    4 +-
 .../internal/cache/ha/HARegionQueue.java        |    6 +-
 .../PartitionedRegionObserverHolder.java        |    2 +-
 .../internal/cache/tier/ConnectionProxy.java    |  160 +-
 .../cache/tier/InternalBridgeMembership.java    |  715 --------
 .../cache/tier/InternalClientMembership.java    |  617 +++++++
 .../cache/tier/sockets/AcceptorImpl.java        |   20 +-
 .../cache/tier/sockets/CacheClientNotifier.java |   16 +-
 .../cache/tier/sockets/CacheClientProxy.java    |    6 +-
 .../cache/tier/sockets/CacheClientUpdater.java  |   12 +-
 .../tier/sockets/ClientBlacklistProcessor.java  |    4 +-
 .../RemoveClientFromBlacklistMessage.java       |    4 +-
 .../cache/tier/sockets/ServerConnection.java    |    8 +-
 .../doc-files/communication-architecture.fig    |    4 +-
 .../cache/xmlcache/BridgeServerCreation.java    |  249 ---
 .../internal/cache/xmlcache/CacheCreation.java  |   47 +-
 .../cache/xmlcache/CacheServerCreation.java     |  238 +++
 .../cache/xmlcache/CacheXmlGenerator.java       |   41 +-
 .../internal/cache/xmlcache/CacheXmlParser.java |   18 +-
 .../cache/xmlcache/ClientCacheCreation.java     |    5 -
 .../xmlcache/RegionAttributesCreation.java      |    9 -
 .../gemfire/internal/i18n/LocalizedStrings.java |   20 +-
 .../internal/i18n/ParentLocalizedStrings.java   |   81 +-
 .../internal/beans/CacheServerBridge.java       |   18 +-
 .../beans/GatewayReceiverMBeanBridge.java       |    4 +-
 .../internal/beans/ManagementAdapter.java       |   42 +-
 .../management/internal/beans/ServerBridge.java |    6 +-
 .../cli/functions/ContunuousQueryFunction.java  |    4 +-
 .../functions/GetMemberInformationFunction.java |    4 +-
 .../management/membership/ClientMembership.java |    8 +-
 .../gemfire/cache/cache-9.0.xsd                 |   26 -
 .../batterytest/greplogs/ExpectedStrings.java   |    3 +-
 .../cache/AttributesFactoryJUnitTest.java       |   18 -
 .../gemstone/gemfire/cache/ClientHelper.java    |    1 -
 .../cache/ConnectionPoolAndLoaderDUnitTest.java |    4 +-
 .../internal/AutoConnectionSourceDUnitTest.java |   23 +-
 .../AutoConnectionSourceWithUDPDUnitTest.java   |    4 +-
 .../internal/ConnectionPoolImplJUnitTest.java   |   11 +-
 .../internal/LocatorLoadBalancingDUnitTest.java |   10 +-
 .../cache/client/internal/LocatorTestBase.java  |   12 +-
 .../management/MemoryThresholdsDUnitTest.java   |    4 +-
 .../MemoryThresholdsOffHeapDUnitTest.java       |    4 +-
 .../query/dunit/PdxStringQueryDUnitTest.java    |   16 +-
 .../query/dunit/QueryUsingPoolDUnitTest.java    |   12 +-
 .../cache/query/dunit/RemoteQueryDUnitTest.java |   90 +-
 ...esourceManagerWithQueryMonitorDUnitTest.java |    4 +-
 ...rrentIndexInitOnOverflowRegionDUnitTest.java |    4 +-
 .../cache30/BridgeMembershipDUnitTest.java      | 1642 ------------------
 .../BridgeMembershipSelectorDUnitTest.java      |   16 -
 .../gemfire/cache30/BridgeTestCase.java         |  376 ----
 .../gemfire/cache30/BridgeWriterDUnitTest.java  |  418 -----
 .../cache30/BridgeWriterSelectorDUnitTest.java  |   16 -
 .../gemfire/cache30/Bug38741DUnitTest.java      |   10 +-
 .../gemfire/cache30/CacheXml30DUnitTest.java    |  127 --
 .../gemfire/cache30/CacheXml40DUnitTest.java    |    8 +-
 .../gemfire/cache30/CacheXml41DUnitTest.java    |   28 +-
 .../gemfire/cache30/CacheXml45DUnitTest.java    |    4 +-
 .../gemfire/cache30/CacheXml51DUnitTest.java    |    8 +-
 .../gemfire/cache30/CacheXml57DUnitTest.java    |    1 -
 .../cache30/ClientMembershipDUnitTest.java      | 1642 ++++++++++++++++++
 .../ClientMembershipSelectorDUnitTest.java      |   16 +
 .../ClientRegisterInterestDUnitTest.java        |  418 +++++
 ...ClientRegisterInterestSelectorDUnitTest.java |   16 +
 .../gemfire/cache30/ClientServerTestCase.java   |  376 ++++
 .../AbstractServerLauncherJUnitTestCase.java    |    4 +-
 .../ServerLauncherLocalJUnitTest.java           |    4 +-
 .../ServerLauncherRemoteJUnitTest.java          |    8 +-
 .../internal/ProductUseLogDUnitTest.java        |    2 +-
 .../disttx/DistributedTransactionDUnitTest.java |    4 +-
 .../internal/cache/Bug39079DUnitTest.java       |    6 +-
 .../internal/cache/Bug41957DUnitTest.java       |    6 +-
 ...ssagesRegionCreationAndDestroyJUnitTest.java |   10 +-
 .../cache/ClientServerGetAllDUnitTest.java      |   40 +-
 .../cache/ClientServerTransactionDUnitTest.java |    6 +-
 .../cache/ConcurrentMapOpsDUnitTest.java        |    6 +-
 .../cache/DeltaPropagationDUnitTest.java        |    8 +-
 .../cache/DeltaPropagationStatsDUnitTest.java   |    2 +-
 .../internal/cache/DiskRegionJUnitTest.java     |    9 +-
 .../internal/cache/EventTrackerDUnitTest.java   |    8 +-
 .../internal/cache/GridAdvisorDUnitTest.java    |  106 +-
 .../internal/cache/HABug36773DUnitTest.java     |    8 +-
 .../HAOverflowMemObjectSizerDUnitTest.java      |   12 +-
 .../cache/execute/Bug51193DUnitTest.java        |    4 +-
 .../internal/cache/functions/TestFunction.java  |   10 +-
 .../cache/ha/Bug36853EventsExpiryDUnitTest.java |    8 +-
 .../internal/cache/ha/Bug48571DUnitTest.java    |    2 +-
 .../cache/ha/EventIdOptimizationDUnitTest.java  |   12 +-
 .../internal/cache/ha/FailoverDUnitTest.java    |   22 +-
 .../internal/cache/ha/HABugInPutDUnitTest.java  |    8 +-
 .../internal/cache/ha/HAClearDUnitTest.java     |   10 +-
 .../cache/ha/HAConflationDUnitTest.java         |    8 +-
 .../internal/cache/ha/HADuplicateDUnitTest.java |   10 +-
 .../cache/ha/HAEventIdPropagationDUnitTest.java |   10 +-
 .../internal/cache/ha/HAGIIDUnitTest.java       |   14 +-
 .../cache/ha/HARQueueNewImplDUnitTest.java      |   66 +-
 .../cache/ha/HASlowReceiverDUnitTest.java       |   10 +-
 .../ha/OperationsPropagationDUnitTest.java      |    8 +-
 .../internal/cache/ha/PutAllDUnitTest.java      |   12 +-
 .../cache/ha/StatsBugDUnitDisabledTest.java     |   14 +-
 .../cache/partitioned/Bug43684DUnitTest.java    |    4 +-
 .../fixed/FixedPartitioningTestBase.java        |    6 +-
 .../tier/sockets/AcceptorImplJUnitTest.java     |   62 +-
 ...rdCompatibilityCommandDUnitDisabledTest.java |  235 ---
 ...CompatibilityHandshakeDUnitDisabledTest.java |  218 ---
 ...mpatibilityHigherVersionClientDUnitTest.java |    4 +-
 ...rdCompatibilityMessageDUnitDisabledTest.java |  299 ----
 .../BridgeServerMaxConnectionsJUnitTest.java    |  221 ---
 ...geServerSelectorMaxConnectionsJUnitTest.java |   19 -
 .../tier/sockets/BridgeWriterMiscDUnitTest.java | 1384 ---------------
 .../BridgeWriterMiscSelectorDUnitTest.java      |   27 -
 .../cache/tier/sockets/Bug36269DUnitTest.java   |    4 +-
 .../cache/tier/sockets/Bug36457DUnitTest.java   |   18 +-
 .../cache/tier/sockets/Bug36805DUnitTest.java   |    6 +-
 .../cache/tier/sockets/Bug36995DUnitTest.java   |   11 +-
 .../cache/tier/sockets/Bug37210DUnitTest.java   |   10 +-
 .../CacheServerMaxConnectionsJUnitTest.java     |  220 +++
 ...heServerSelectorMaxConnectionsJUnitTest.java |   19 +
 .../cache/tier/sockets/CacheServerTestUtil.java |   51 +-
 .../CacheServerTransactionsDUnitTest.java       |    4 +-
 .../tier/sockets/ClearPropagationDUnitTest.java |    4 +-
 .../tier/sockets/ClientConflationDUnitTest.java |   20 +-
 .../sockets/ClientHealthMonitorJUnitTest.java   |    6 +-
 .../sockets/ClientInterestNotifyDUnitTest.java  |   14 +-
 .../tier/sockets/ClientServerMiscDUnitTest.java | 1381 +++++++++++++++
 .../ClientServerMiscSelectorDUnitTest.java      |   27 +
 .../cache/tier/sockets/ConflationDUnitTest.java |   24 +-
 .../tier/sockets/ConnectionProxyJUnitTest.java  |  257 +--
 .../DataSerializerPropogationDUnitTest.java     |   36 +-
 .../DestroyEntryPropagationDUnitTest.java       |   12 +-
 .../DurableClientReconnectDUnitTest.java        |   10 +-
 .../sockets/DurableClientStatsDUnitTest.java    |   10 +-
 .../sockets/DurableRegistrationDUnitTest.java   |    8 +-
 .../sockets/DurableResponseMatrixDUnitTest.java |   10 +-
 .../sockets/EventIDVerificationDUnitTest.java   |   10 +-
 .../ForceInvalidateEvictionDUnitTest.java       |   10 +-
 .../cache/tier/sockets/HAInterestBaseTest.java  |   64 +-
 .../tier/sockets/HAInterestPart2DUnitTest.java  |   12 +-
 .../sockets/HAStartupAndFailoverDUnitTest.java  |   81 +-
 .../tier/sockets/InterestListDUnitTest.java     |    4 +-
 .../sockets/InterestListEndpointDUnitTest.java  |   18 +-
 .../sockets/InterestListFailoverDUnitTest.java  |    6 +-
 .../sockets/InterestListRecoveryDUnitTest.java  |   10 +-
 .../sockets/InterestResultPolicyDUnitTest.java  |    4 +-
 .../tier/sockets/RedundancyLevelJUnitTest.java  |   14 +-
 .../sockets/RedundancyLevelPart1DUnitTest.java  |    4 +-
 .../sockets/RedundancyLevelPart3DUnitTest.java  |    6 +-
 .../tier/sockets/RedundancyLevelTestBase.java   |   51 +-
 .../tier/sockets/RegionCloseDUnitTest.java      |   14 +-
 ...erInterestBeforeRegionCreationDUnitTest.java |    6 +-
 .../sockets/RegisterInterestKeysDUnitTest.java  |    4 +-
 .../sockets/ReliableMessagingDUnitTest.java     |   24 +-
 .../internal/cache/tier/sockets/TestPut.java    |   53 -
 .../sockets/UpdatePropagationDUnitTest.java     |   10 +-
 ...UpdatesFromNonInterestEndPointDUnitTest.java |    4 +-
 ...ersalMembershipListenerAdapterDUnitTest.java |   32 +-
 .../pdx/PdxFormatterPutGetJUnitTest.java        |    4 +-
 .../test/java/dunit/DistributedTestCase.java    |    4 +-
 .../gemfire/codeAnalysis/excludedClasses.txt    |    2 +-
 .../sanctionedDataSerializables.txt             |   10 +-
 .../codeAnalysis/sanctionedSerializables.txt    |    9 -
 .../tier/sockets/RedundancyLevelJUnitTest.xml   |   21 +-
 252 files changed, 8011 insertions(+), 13441 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/admin/GemFireMemberStatus.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/GemFireMemberStatus.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/GemFireMemberStatus.java
index b1b91dd..e63cff5 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/GemFireMemberStatus.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/GemFireMemberStatus.java
@@ -37,7 +37,7 @@ import com.gemstone.gemfire.internal.cache.LocalRegion;
 import com.gemstone.gemfire.internal.cache.PartitionedRegion;
 import com.gemstone.gemfire.internal.cache.PartitionedRegionStatus;
 import com.gemstone.gemfire.internal.cache.RegionStatus;
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
 
 /**
@@ -539,7 +539,7 @@ public class GemFireMemberStatus implements Serializable {
       // The following method returns a map of client member id to a cache
       // client info. For now, keep track of the member ids in the set of
       // _connectedClients.
-      Map allConnectedClients = InternalBridgeMembership.getStatusForAllClientsIgnoreSubscriptionStatus();
+      Map allConnectedClients = InternalClientMembership.getStatusForAllClientsIgnoreSubscriptionStatus();
       Iterator allConnectedClientsIterator = allConnectedClients.values().iterator();
       while (allConnectedClientsIterator.hasNext()) {
         CacheClientStatus ccs = (CacheClientStatus) allConnectedClientsIterator.next();
@@ -549,7 +549,7 @@ public class GemFireMemberStatus implements Serializable {
       }
 
       // Get client queue sizes
-      Map clientQueueSize = getClientIDMap(InternalBridgeMembership.getClientQueueSizes());
+      Map clientQueueSize = getClientIDMap(InternalClientMembership.getClientQueueSizes());
       setClientQueueSizes(clientQueueSize);
       
       // Set server acceptor port (set it based on the first CacheServer)
@@ -590,11 +590,6 @@ public class GemFireMemberStatus implements Serializable {
 	  }
 
   protected void initializeClient() {
-    // There are several ways to detect a client:
-    // - is a loner
-    // - has regions that use BridgeWriters or BridgeLoaders
-    // This method uses the presence of a connection proxy or
-    // a pool on the PoolManager.
     Map poolMap = PoolManager.getAll();
     if (poolMap.size() == 0) {
       setIsClient(false);
@@ -608,7 +603,7 @@ public class GemFireMemberStatus implements Serializable {
       // the logical connections for that server will be 0. For now, keep track
       // of the keys (server names) of this map in the sets of _connectedServers
       // and _unconnectedServers.
-      Map connectedServers = InternalBridgeMembership.getConnectedServers();
+      Map connectedServers = InternalClientMembership.getConnectedServers();
       if (!connectedServers.isEmpty()) {
         Iterator connected = connectedServers.entrySet().iterator();
         while (connected.hasNext()) {

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberBridgeServer.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberBridgeServer.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberBridgeServer.java
index 4cef371..b677cca 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberBridgeServer.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberBridgeServer.java
@@ -10,11 +10,10 @@ package com.gemstone.gemfire.admin;
 import com.gemstone.gemfire.cache.server.ServerLoadProbe;
 
 /**
- * Administrative interface that represents a {@link
- * com.gemstone.gemfire.cache.util.BridgeServer BridgeServer} that
+ * Administrative interface that represents a CacheServer that
  * serves the contents of a system member's cache. 
  *
- * @see SystemMemberCache#addBridgeServer
+ * @see SystemMemberCache#addCacheServer
  *
  * @author David Whitlock
  * @since 4.0

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberCache.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberCache.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberCache.java
index 00749d6..14cf189 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberCache.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/SystemMemberCache.java
@@ -160,33 +160,6 @@ public interface SystemMemberCache {
   public void refresh();
 
   /**
-   * Adds a new, unstarted bridge server that will serve the contents
-   * of this cache.
-   *
-   * @see com.gemstone.gemfire.cache.Cache#addBridgeServer
-   *
-   * @since 4.0
-   * @deprecated as of 5.7 use {@link #addCacheServer} instead.
-   */
-  @Deprecated
-  public SystemMemberBridgeServer addBridgeServer()
-    throws AdminException;
-
-  /**
-   * Returns the bridge servers that run in this member's VM.  Note
-   * that this list will not be updated until {@link #refresh} is
-   * called.
-   *
-   * @see com.gemstone.gemfire.cache.Cache#getBridgeServers
-   *
-   * @since 4.0
-   * @deprecated as of 5.7 use {@link #getCacheServers} instead.
-   */
-  @Deprecated
-  public SystemMemberBridgeServer[] getBridgeServers()
-    throws AdminException;
-
-  /**
    * Adds a new, unstarted cache server that will serve the contents
    * of this cache to clients.
    *

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthMonitor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthMonitor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthMonitor.java
index ca7f067..6058487 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthMonitor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthMonitor.java
@@ -373,7 +373,7 @@ class DistributedSystemHealthMonitor implements Runnable, GemFireVM {
     throw new UnsupportedOperationException(LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());
   }
 
-  public AdminBridgeServer addBridgeServer(CacheInfo cache)
+  public AdminBridgeServer addCacheServer(CacheInfo cache)
     throws AdminException {
 
     throw new UnsupportedOperationException(LocalizedStrings.DistributedSystemHealthMonitor_NOT_A_REAL_GEMFIREVM.toLocalizedString());

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/SystemMemberCacheImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/SystemMemberCacheImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/SystemMemberCacheImpl.java
index d823c5e..88792d8 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/SystemMemberCacheImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/SystemMemberCacheImpl.java
@@ -235,14 +235,9 @@ public class SystemMemberCacheImpl implements SystemMemberCache {
 
   public SystemMemberCacheServer addCacheServer()
     throws AdminException {
-    return (SystemMemberCacheServer)addBridgeServer();
-  }
-
-  public SystemMemberBridgeServer addBridgeServer()
-    throws AdminException {
 
-    AdminBridgeServer bridge = this.vm.addBridgeServer(this.info);
-    SystemMemberBridgeServer admin =
+    AdminBridgeServer bridge = this.vm.addCacheServer(this.info);
+    SystemMemberCacheServer admin =
       createSystemMemberBridgeServer(bridge);
     bridgeServers.put(bridge.getId(), admin);
     return admin;
@@ -280,14 +275,6 @@ public class SystemMemberCacheImpl implements SystemMemberCache {
     return (SystemMemberCacheServer[]) bridges.toArray(array);
   };
 
-  public SystemMemberBridgeServer[] getBridgeServers()
-    throws AdminException {
-    Collection bridges = getCacheServersCollection();
-    SystemMemberBridgeServer[] array =
-      new SystemMemberBridgeServer[bridges.size()];
-    return (SystemMemberBridgeServer[]) bridges.toArray(array);
-  }
-
   /**
    * Creates a new instance of <Code>SystemMemberBridgeServer</code>
    * with the given configuration.

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/SystemMemberCacheJmxImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/SystemMemberCacheJmxImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/SystemMemberCacheJmxImpl.java
index 8a7c582..8376719 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/SystemMemberCacheJmxImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/jmx/internal/SystemMemberCacheJmxImpl.java
@@ -285,19 +285,6 @@ implements com.gemstone.gemfire.admin.jmx.internal.ManagedResource {
   }
 
   /**
-   * Creates a new bridge server MBean and returns its
-   * <code>ObjectName</code>.
-   *
-   * @since 4.0
-   * @deprecated as of 5.7
-   */
-  @Deprecated
-  public ObjectName manageBridgeServer()
-    throws AdminException, MalformedObjectNameException {
-    return manageCacheServer();
-  }
-  
-  /**
    * Returns the MBean <code>ObjectName</code>s for all cache servers
    * that serve this cache to clients.
    *

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/AttributesFactory.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/AttributesFactory.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/AttributesFactory.java
index fb3343f..7acd72a 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/AttributesFactory.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/AttributesFactory.java
@@ -501,11 +501,6 @@ public class AttributesFactory<K,V> {
    */
   public void setCacheLoader(CacheLoader<K,V> cacheLoader)
   {
-    if (cacheLoader != null) {
-      if (AbstractRegion.isBridgeLoader(cacheLoader) && this.regionAttributes.getPoolName() != null) {
-        throw new IllegalStateException("A region with a pool name can not have a BridgeLoader or BridgeClient. Please use pools OR BridgeClient.");
-      }
-    }
     this.regionAttributes.cacheLoader = cacheLoader;
     this.regionAttributes.setHasCacheLoader(true);
   }
@@ -519,11 +514,6 @@ public class AttributesFactory<K,V> {
    */
   public void setCacheWriter(CacheWriter<K,V> cacheWriter)
   {
-    if (cacheWriter != null) {
-      if (AbstractRegion.isBridgeWriter(cacheWriter) &&  this.regionAttributes.getPoolName() != null) {
-        throw new IllegalStateException("A region with a pool name can not have a BridgeWriter or BridgeClient. Please use pools OR BridgeClient.");
-      }
-    }
     this.regionAttributes.cacheWriter = cacheWriter;
     this.regionAttributes.setHasCacheWriter(true);
   }
@@ -1285,8 +1275,6 @@ public class AttributesFactory<K,V> {
    * @param name the name of the connection pool to use; if <code>null</code>
    * or <code>""</code> then the connection pool is disabled for regions
    * using these attributes.
-   * @throws IllegalStateException if a cache loader or cache writer has already
-   * been set.
    * @since 5.7
    */
   public void setPoolName(String name) {
@@ -1294,17 +1282,6 @@ public class AttributesFactory<K,V> {
     if ("".equals(nm)) {
       nm = null;
     }
-    if (nm != null) {
-      // make sure a cache listener or writer has not already been installed
-      if (this.regionAttributes.getCacheLoader() != null 
-          && AbstractRegion.isBridgeLoader(this.regionAttributes.getCacheLoader())) {
-        throw new IllegalStateException("A region with a bridge loader can not have a pool name.");
-      }
-      if (this.regionAttributes.getCacheWriter() != null 
-          && AbstractRegion.isBridgeWriter(this.regionAttributes.getCacheWriter())) {
-        throw new IllegalStateException("A region with a bridge writer can not have a pool name.");
-      }
-    }
     this.regionAttributes.poolName = nm;
     this.regionAttributes.setHasPoolName(true);
     
@@ -1547,14 +1524,6 @@ public class AttributesFactory<K,V> {
         throw new IllegalStateException(LocalizedStrings.AttributesFactory_IF_THE_MEMBERSHIP_ATTRIBUTES_HAS_REQUIRED_ROLES_THEN_SCOPE_MUST_NOT_BE_LOCAL.toLocalizedString());
       }
     }
-    if (attrs.getPoolName() != null) {
-      if (attrs.getCacheLoader() != null && AbstractRegion.isBridgeLoader(attrs.getCacheLoader())) {
-        throw new IllegalStateException("A region with a pool name can not have a BridgeLoader or BridgeClient. Please use pools OR BridgeClient.");
-      }
-      if (attrs.getCacheWriter() != null && AbstractRegion.isBridgeWriter(attrs.getCacheWriter())) {
-        throw new IllegalStateException("A region with a pool name can not have a BridgeWriter or BridgeClient. Please use pools OR BridgeClient.");
-      }
-    }
     
     final PartitionAttributes pa = attrs.getPartitionAttributes();
     // Validations for PartitionRegion Attributes

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/Cache.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/Cache.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/Cache.java
index 72a5555..c6495d0 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/Cache.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/Cache.java
@@ -19,7 +19,6 @@ import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.hdfs.HDFSStoreFactory;
 import com.gemstone.gemfire.cache.server.CacheServer;
 import com.gemstone.gemfire.cache.snapshot.CacheSnapshotService;
-import com.gemstone.gemfire.cache.util.BridgeServer;
 import com.gemstone.gemfire.cache.util.GatewayConflictResolver;
 import com.gemstone.gemfire.cache.wan.GatewayReceiver;
 import com.gemstone.gemfire.cache.wan.GatewayReceiverFactory;
@@ -237,18 +236,6 @@ public interface Cache extends GemFireCache {
   public void setSearchTimeout(int seconds);
 
   /**
-   * Creates a new bridge server with the default configuration.
-   *
-   * @see com.gemstone.gemfire.cache.util.BridgeLoader
-   * @see com.gemstone.gemfire.cache.util.BridgeWriter
-   *
-   * @since 4.0
-   * @deprecated as of 5.7 use {@link #addCacheServer} instead.
-   */
-  @Deprecated
-  public BridgeServer addBridgeServer();
-
-  /**
    * Creates a new cache server, with the default configuration,
    * that will allow clients to access this cache.
    * <p>For the default configuration see the constants in
@@ -260,20 +247,6 @@ public interface Cache extends GemFireCache {
   public CacheServer addCacheServer();
 
   /**
-   * Returns a collection of all of the <code>BridgeServer</code>s
-   * that can serve the contents of this <code>Cache</code>.
-   * <p>Since <code>5.7</code> this method returns a <code>List</code
-   * instead of a <code>Collection</code>.
-   *
-   * @see #addBridgeServer
-   *
-   * @since 4.0
-   * @deprecated as of 5.7 use {@link #getCacheServers} instead.
-   */
-  @Deprecated
-  public List<CacheServer> getBridgeServers();
-
-  /**
    * Returns a collection of all of the <code>CacheServer</code>s
    * that can serve the contents of this <code>Cache</code> to clients.
    *

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/DynamicRegionFactory.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/DynamicRegionFactory.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/DynamicRegionFactory.java
index 4922df9..8239ea2 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/DynamicRegionFactory.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/DynamicRegionFactory.java
@@ -22,7 +22,6 @@ import com.gemstone.gemfire.SystemFailure;
 import com.gemstone.gemfire.cache.client.Pool;
 import com.gemstone.gemfire.cache.client.PoolManager;
 import com.gemstone.gemfire.cache.client.internal.ServerRegionProxy;
-import com.gemstone.gemfire.cache.util.BridgeWriter;
 import com.gemstone.gemfire.cache.wan.GatewaySender;
 import com.gemstone.gemfire.distributed.DistributedMember;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
@@ -100,7 +99,7 @@ import com.gemstone.gemfire.security.GemFireSecurityException;
  * <p>
  * Notes:
  * <ul>
- * <li>DynamicRegionFactories in non-client VMs must not be configured with a BridgeWriter.
+ * <li>DynamicRegionFactories in non-client VMs must not be configured with a pool.
  * <li>If {@link #open()} is called before cache creation and the cache.xml has a dynamic-region-factory
  * element then the cache.xml will override the open call's configuration.
  * 
@@ -110,7 +109,7 @@ import com.gemstone.gemfire.security.GemFireSecurityException;
  * are shared by the parent and all its dynamic children
  * so make sure the callback is thread-safe and that its
  * {@link CacheCallback#close} implementation does not stop it from functioning.
- * However the products BridgeLoader, BridgeWriter, and all LRUAlgorithm instances will
+ * However the products LRUAlgorithm instances will
  * be cloned so that each dynamic Region has its own callback.
  * 
  * <li>The root Region name "DynamicRegions" is reserved. The factory creates a root Region of
@@ -223,7 +222,7 @@ public abstract class DynamicRegionFactory  {
     try {
       this.c = theCache;
       this.dynamicRegionList = theCache.getRegion(dynamicRegionListName);
-      final boolean isClient = this.config.getBridgeWriter() != null || this.config.getPoolName()!=null;
+      final boolean isClient = this.config.getPoolName()!=null;
       if (this.dynamicRegionList == null) {
         InternalRegionArguments ira = new InternalRegionArguments()
         .setDestroyLockFlag(true)
@@ -239,7 +238,6 @@ public abstract class DynamicRegionFactory  {
         }
 
         if (isClient) {
-          // BRIDGE CLIENT
           af.setScope(Scope.LOCAL);
           af.setDataPolicy(DataPolicy.NORMAL); //MirrorType(MirrorType.NONE);
           af.setStatisticsEnabled(true);
@@ -254,12 +252,6 @@ public abstract class DynamicRegionFactory  {
               }
               af.setPoolName(cpName);
             }
-          } else {
-            BridgeWriter bw = this.config.getBridgeWriter();
-            if (!bw.hasEstablishCallbackConnection()) {
-              throw new IllegalStateException(LocalizedStrings.DynamicRegionFactory_THE_CLIENT_POOL_OF_A_DYNAMICREGIONFACTORY_MUST_BE_CONFIGURED_WITH_ESTABLISHCALLBACKCONNECTION_SET_TO_TRUE.toLocalizedString());
-            }
-            af.setCacheWriter(bw);
           }
           ira.setInternalMetaRegion(new LocalMetaRegion(af.create(), ira));
         } else {
@@ -667,7 +659,7 @@ public abstract class DynamicRegionFactory  {
    * The default attributes are:
    * <ul>
    * <li>diskDir: <code>null</code>
-   * <li>bridgeWriter: <code>null</code>
+   * <li>poolName: <code>null</code>
    * <li>persistBackup: <code>true</code>
    * <li>registerInterest: <code>true</code>
    * </ul>
@@ -683,16 +675,10 @@ public abstract class DynamicRegionFactory  {
     public final File diskDir;
     /** Causes regions created by the factory to register interest in all keys in a corresponding server cache region */
     public final boolean registerInterest;
-    /** The {@link BridgeWriter} to be used by the factory to communicate with
-     * the factory in its server.
-     * Client factories must configure a BridgeWriter for their factory
-     * and it must be configured to establish a callback connection.
-     */
-    public final BridgeWriter bridgeWriter;
     
     /**
-     * The ${link Pool} to be used by the factory to communicate with 
-     * the server-side factory. Client factories may use this instead of a BridgeWriter 
+     * The ${link Pool} to be used by a client factory to communicate with 
+     * the server-side factory.
      */
     public final String poolName;
 
@@ -700,47 +686,15 @@ public abstract class DynamicRegionFactory  {
      * Creates a configuration with the default attributes.
      */
     public Config() {
-      this(null, null, !DISABLE_PERSIST_BACKUP);
-    }
-    /**
-     * Creates a configuration with the given attributes and defaults for other attributes.
-     * @deprecated use a pool name instead of a bridge writer
-     */
-    @Deprecated
-    public Config(File diskDir, BridgeWriter bridgeWriter) {
-      this(diskDir, bridgeWriter, !DISABLE_PERSIST_BACKUP);
+      this(null, null, !DISABLE_PERSIST_BACKUP, !DISABLE_REGISTER_INTEREST);
     }
-    
+
     /**
-     * Creates a configuration with the given attributes and defaults for other attributes.
-     * @deprecated use a pool name instead of a bridge writer
+     * Creates a configuration with defaults and the given diskDir and poolName.
      */
-    @Deprecated
-    public Config(File diskDir, BridgeWriter bridgeWriter, boolean persistBackup) {
-      this(diskDir, bridgeWriter, persistBackup, !DISABLE_REGISTER_INTEREST);
+    public Config(File diskDir, String poolName) {
+      this(diskDir, poolName, !DISABLE_PERSIST_BACKUP, !DISABLE_REGISTER_INTEREST);
     }
-    
-    
-    
-    /**
-     * Creates a configuration with the given attributes
-     * @deprecated use a pool name instead of a bridge writer
-     */
-    @Deprecated
-    public Config(
-      File diskDir,
-      BridgeWriter bridgeWriter,
-      boolean persistBackup,
-      boolean registerInterest)
-    {
-      this.registerInterest = registerInterest;
-      this.persistBackup = persistBackup;
-      this.diskDir = diskDir;
-      this.bridgeWriter = bridgeWriter;
-      this.poolName = null;
-    }
-    
-
     /**
      * Creates a configuration with the given attributes
      */
@@ -754,7 +708,43 @@ public abstract class DynamicRegionFactory  {
       this.persistBackup = persistBackup;
       this.diskDir = diskDir;
       this.poolName = poolName;
-      this.bridgeWriter = null;
+    }
+
+    @Override
+    public int hashCode() {
+      final int prime = 31;
+      int result = 1;
+      result = prime * result + ((diskDir == null) ? 0 : diskDir.hashCode());
+      result = prime * result + (persistBackup ? 1231 : 1237);
+      result = prime * result + ((poolName == null) ? 0 : poolName.hashCode());
+      result = prime * result + (registerInterest ? 1231 : 1237);
+      return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+      if (this == obj)
+        return true;
+      if (obj == null)
+        return false;
+      if (getClass() != obj.getClass())
+        return false;
+      Config other = (Config) obj;
+      if (diskDir == null) {
+        if (other.diskDir != null)
+          return false;
+      } else if (!diskDir.equals(other.diskDir))
+        return false;
+      if (persistBackup != other.persistBackup)
+        return false;
+      if (poolName == null) {
+        if (other.poolName != null)
+          return false;
+      } else if (!poolName.equals(other.poolName))
+        return false;
+      if (registerInterest != other.registerInterest)
+        return false;
+      return true;
     }
 
     /**
@@ -782,14 +772,6 @@ public abstract class DynamicRegionFactory  {
       return this.diskDir;
     }
     
-    /**
-     * Returns the {@link BridgeWriter} associated with the dynamic region factory.
-     * Returns null if there is no cache writer for dynamic regions.
-     * A cache writer will only exist if this is a client and the cache writer connects to a server.
-     */
-    public BridgeWriter getBridgeWriter() {
-      return this.bridgeWriter;
-    }
     
     /**
      * Returns the name of the {@link Pool} associated with the dynamic region factory.
@@ -803,7 +785,6 @@ public abstract class DynamicRegionFactory  {
     Config(Config conf) {
       this.diskDir = conf.diskDir;
       this.persistBackup = conf.persistBackup;
-      this.bridgeWriter = conf.bridgeWriter;
       this.registerInterest = conf.registerInterest;
       this.poolName = conf.poolName;
     }
@@ -814,7 +795,7 @@ public abstract class DynamicRegionFactory  {
       return;
     
     // Ignore the callback if it originated in this process (because the region
-    // will already have been created) and the event is not a bridge event
+    // will already have been created) and the event is not a client event
     if ( !event.isOriginRemote() && !event.isBridgeEvent() ) return;
     //
     DynamicRegionAttributes dra = (DynamicRegionAttributes)event.getNewValue();
@@ -913,7 +894,7 @@ public abstract class DynamicRegionFactory  {
     @Override
     protected boolean shouldNotifyBridgeClients()
     {
-      return getCache().getBridgeServers().size() > 0;
+      return getCache().getCacheServers().size() > 0;
     }
 
     // Over-ride the super behavior to perform the destruction of the dynamic region
@@ -1024,7 +1005,7 @@ public abstract class DynamicRegionFactory  {
     @Override
     final public boolean shouldNotifyBridgeClients()
     {
-      return getCache().getBridgeServers().size() > 0;
+      return getCache().getCacheServers().size() > 0;
     }    
    
     // Over-ride the super behavior to perform the destruction of the dynamic region

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/PoolFactory.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/PoolFactory.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/PoolFactory.java
index 547971f..5c29938 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/PoolFactory.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/PoolFactory.java
@@ -17,7 +17,7 @@ import com.gemstone.gemfire.cache.query.*; // for javadocs
  * {@link Pool}.
  * <p>Every pool needs to have at least one {@link #addLocator locator} or {@link #addServer server} added
  * to it. Locators should be added unless direct connections to
- * bridge servers are desired.
+ * cache servers are desired.
  * <p>The setter methods are used to specify
  * non-default values for the other pool properties.
  * <p>Once it is configured {@link #create}
@@ -290,7 +290,7 @@ public interface PoolFactory {
    * 
    * These pings are used by the server to monitor the health of
    * the client. Make sure that the pingInterval is less than the 
-   * maximum time between pings allowed by the bridge server.
+   * maximum time between pings allowed by the cache server.
    * @param pingInterval The amount of time in milliseconds between
    * pings.
    * @return a reference to <code>this</code>
@@ -325,7 +325,7 @@ public interface PoolFactory {
   /**
    * Add a locator, given its host and port, to this factory.
    * The locator must be a server locator and will be used to discover other running
-   * bridge servers and locators.
+   * cache servers and locators.
    * Note that if the host is unknown at the time of this call
    * the locator will still be added. When the pool is used for
    * an operation if the host is still unknown an exception will
@@ -341,7 +341,7 @@ public interface PoolFactory {
 
   /**
    * Add a server, given its host and port, to this factory.
-   * The server must be a bridge server and this client will
+   * The server must be a cache server and this client will
    * directly connect to without consulting a server locator.
    * Note that if the host is unknown at the time of this call
    * the server will still be added. When the pool is used for
@@ -392,7 +392,7 @@ public interface PoolFactory {
   
   /**
    * Sets the interval in milliseconds
-   * to wait before sending acknowledgements to the bridge server for
+   * to wait before sending acknowledgements to the cache server for
    * events received from the server subscriptions.
    * 
    * @param ackInterval number of milliseconds to wait before sending event

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/AbstractOp.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/AbstractOp.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/AbstractOp.java
index ab11517..32f184e 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/AbstractOp.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/AbstractOp.java
@@ -19,7 +19,7 @@ import com.gemstone.gemfire.cache.client.ServerOperationException;
 import com.gemstone.gemfire.distributed.internal.DistributionManager;
 import com.gemstone.gemfire.internal.HeapDataOutputStream;
 import com.gemstone.gemfire.internal.Version;
-import com.gemstone.gemfire.internal.cache.BridgeServerImpl;
+import com.gemstone.gemfire.internal.cache.CacheServerImpl;
 import com.gemstone.gemfire.internal.cache.PutAllPartialResultException;
 import com.gemstone.gemfire.internal.cache.TXManagerImpl;
 import com.gemstone.gemfire.internal.cache.tier.MessageType;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgePoolImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgePoolImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgePoolImpl.java
deleted file mode 100644
index 25abf2d..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgePoolImpl.java
+++ /dev/null
@@ -1,479 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.client.internal;
-
-import java.util.Properties;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import org.apache.logging.log4j.Logger;
-
-import com.gemstone.gemfire.CancelException;
-import com.gemstone.gemfire.cache.CacheLoaderException;
-import com.gemstone.gemfire.cache.CacheWriterException;
-import com.gemstone.gemfire.cache.NoSubscriptionServersAvailableException;
-import com.gemstone.gemfire.cache.Region;
-import com.gemstone.gemfire.cache.client.Pool;
-import com.gemstone.gemfire.cache.client.PoolManager;
-import com.gemstone.gemfire.cache.client.ServerConnectivityException;
-import com.gemstone.gemfire.cache.client.SubscriptionNotEnabledException;
-import com.gemstone.gemfire.cache.client.internal.GetOp.GetOpImpl;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
-import com.gemstone.gemfire.cache.util.EndpointDoesNotExistException;
-import com.gemstone.gemfire.cache.util.EndpointExistsException;
-import com.gemstone.gemfire.cache.util.EndpointInUseException;
-import com.gemstone.gemfire.distributed.internal.ServerLocation;
-import com.gemstone.gemfire.internal.cache.PoolFactoryImpl;
-import com.gemstone.gemfire.internal.cache.PoolManagerImpl;
-import com.gemstone.gemfire.internal.cache.tier.ConnectionProxy;
-import com.gemstone.gemfire.internal.cache.tier.sockets.AcceptorImpl;
-import com.gemstone.gemfire.internal.logging.LogService;
-
-/**
- * A pool for use by the old BridgeLoader/BridgeWriter.
- * This class can go away once we drop these deprecated classes
- * 
- * @author darrel
- * @since 5.7
- */
-@SuppressWarnings("deprecation")
-public class BridgePoolImpl extends PoolImpl implements ConnectionProxy {
-  private static final Logger logger = LogService.getLogger();
-  
-  private static final AtomicInteger ID_COUNTER = new AtomicInteger();
-  public static final int DEFAULT_CONNECTIONSPERSERVER = 1;
-  public static final int DEFAULT_HANDSHAKE_TIMEOUT = AcceptorImpl.DEFAULT_HANDSHAKE_TIMEOUT_MS;
-  public static final String DEFAULT_LBPOLICY = LBPolicy.STICKY_PROPERTY_NAME;
-  
-  //this field is only set to true when the cache is closing with
-  //keep alive set to true.
-  private boolean keepAlive;
-
-  private static int getBridgePoolId() {
-    return ID_COUNTER.incrementAndGet();
-  }
-  
-  public static BridgePoolImpl create(Properties props, boolean usedByBridgeWriter) {
-    return create(props, usedByBridgeWriter, false/*usedByGateway*/);
-  }
-
-  public static BridgePoolImpl create(Properties props, boolean usedByBridgeWriter,
-                                      boolean usedByGateway) {
-    
-    String name = (usedByGateway ? "GatewayPool-" : "BridgePool-") + getBridgePoolId();
-    PoolFactoryImpl pf = (PoolFactoryImpl)PoolManager.createFactory();
-    pf.init(props, usedByBridgeWriter, usedByGateway);
-    BridgePoolImpl result = (BridgePoolImpl)pf.create(name);
-    if (!result.isDestroyed()) {
-      result.attach();
-    }
-    return result;
-  }
-  /**
-   * Should only be called by PoolFactoryImpl#create.
-   * All other creators should use the static create method
-   */
-  public BridgePoolImpl(PoolManagerImpl pm, String name, Pool attributes) {
-    super(pm, name, attributes);
-    finishCreate(pm); // do this last since we are escaping the constructor
-  }
-  public static void loadEmergencyClasses() {
-    // nyi
-  }
-
-  ////////////////// ConnectionProxy methods ////////////////////
-  /**
-   * Initializes this <code>ConnectionProxy</code> according to the
-   * given properties.
-   */
-  public void initialize(Properties p) {
-    throw new IllegalStateException("nyi");
-  }
-
-
-
-  public void finalizeProxy() {
-    detach();
-    if (getAttachCount() <= 0) {
-      destroy(keepAlive);
-    }
-  }
-
-
-  /**
-   * Returns the load balancing policy in effect for this connection
-   * proxy.
-   */
-  public String getLBPolicy() {
-    if (getThreadLocalConnections()) {
-      return "Sticky";
-    } else {
-      return "RoundRobin";
-    }
-  }
-
-
-  /**
-   * Returns the number of milliseconds to wait before re-connecting
-   * to a dead server.
-   */
-  public int getRetryInterval() {
-    return (int)getPingInterval();
-  }
-
-
-  /**
-   * Closes this connection proxy and all of its connections
-   */
-  public void close() {
-    if (logger.isDebugEnabled()) {
-      logger.debug("BridgePoolImpl - closing");
-    }
-    finalizeProxy();
-  }
-
-
-  /**
-   * Returned true if this ConnectionProxy has been initialized and not closed.
-   */
-  public boolean isOpen() {
-    return !isDestroyed();
-  }
-
-
-  /**
-   * Update bookkeeping on this proxy associated with the loss of a region.
-   * In particular, remove all region interests.
-   */
-  public void detachRegion(Region r) {
-    // nyi
-  }
-
-
-  /**
-   * Returns the number of {@link Connection}s that should be created
-   * to every cache server.
-   */
-  public int getConnectionsPerServer() {
-    return getMinConnections();
-  }
-
-
-  /**
-   * Notes that the server with the given name is unavailable
-   */
-  public void setServerUnavailable(String name) {
-    throw new IllegalStateException("nyi");
-  }
-
-
-  /**
-   * Notes that the server with the given name is available
-   */
-  public void setServerAvailable(String name) {
-    throw new IllegalStateException("nyi");
-  }
-
-
-  /**
-   * Stops this connection proxy and
-   */
-  public void terminate() {
-    finalizeProxy();
-  }
-
-
-  /**
-   * Releases the connection associated with the current thread
-   */
-  public void release() {
-    // nyi
-  }
-
-  /**
-   * Returns value of establishCallbackConnection property.
-   * @since 4.2.3
-   */
-  public boolean getEstablishCallbackConnection() {
-    return getSubscriptionEnabled();
-  }
-
-
-  /**
-   * Add an <code>Endpoint</code> to the known <code>Endpoint</code>s.
-   *
-   * @param name The name of the endpoint to add
-   * @param host The host name or ip address of the endpoint to add
-   * @param port The port of the endpoint to add
-   *
-   * @throws EndpointExistsException if the <code>Endpoint</code> to be
-   * added already exists.
-   *
-   * @since 5.0.2
-   */
-  public void addEndpoint(String name, String host, int port)
-  throws EndpointExistsException {
-    ((ExplicitConnectionSourceImpl)getConnectionSource()).addEndpoint(host,port);
-  }
-
-
-  /**
-   * Remove an <code>Endpoint</code> from the dead <code>Endpoint</code>s.
-   * The specified <code>Endpoint</code> must be dead.
-   *
-   * @param name The name of the endpoint to remove
-   * @param host The host name or ip address of the endpoint to remove
-   * @param port The port of the endpoint to remove
-   *
-   * @throws EndpointDoesNotExistException if the <code>Endpoint</code> to be
-   * removed doesn't exist.
-   *
-   * @since 5.0.2
-   */
-  public void removeEndpoint(String name, String host, int port)
-  throws EndpointDoesNotExistException,EndpointInUseException {
-    ((ExplicitConnectionSourceImpl)getConnectionSource()).removeEndpoint(host,port);
-  }
-
-
-  /**
-   * @return Returns the redundancy number
-   * @since 5.1
-   */
-  public int getRedundancyLevel() {
-    return getSubscriptionRedundancy();
-  }
-
-  /**
-   * The configurable expiry time of last received sequence ID
-   *
-   * @return The configurable expiry time of last received sequence ID
-   */
-  public long getMessageTrackingTimeout() {
-    return getSubscriptionMessageTrackingTimeout();
-  }
-
-  public void reuse() {
-    attach();
-  }
-  
-  
-  public static boolean isLoaderOp(Op op) {
-    return op instanceof GetOpImpl;
-  }
-
-  private RuntimeException transformException(RuntimeException ex, Op op) {
-    if(isLoaderOp(op)) {
-      if (ex instanceof SubscriptionNotEnabledException) {
-        return new CacheLoaderException("establishCallbackConnection must be set to true", ex);
-      } else if (ex instanceof CacheLoaderException) {
-        return ex;
-      } else if (ex instanceof CancelException) {
-        return ex;
-      } else if (ex instanceof ServerConnectivityException && ex.getCause() != null) {
-        return new CacheLoaderException(ex.getCause());
-      } else {
-        return new CacheLoaderException(ex);
-      }
-    }
-    else {
-      if (ex instanceof SubscriptionNotEnabledException) {
-        return new BridgeWriterException("establishCallbackConnection must be set to true", ex);
-      } else if (ex instanceof CacheWriterException) {
-        return ex;
-      } else if (ex instanceof CancelException) {
-        return ex;
-      } else if (ex instanceof ServerConnectivityException && ex.getCause() != null) {
-        return new BridgeWriterException(ex.getCause());
-      } else {
-        return new BridgeWriterException(ex);
-      }
-    }
-  }
-  
-  @Override
-  public Object execute(Op op) {
-    try {
-      return super.execute(op);
-    } catch (RuntimeException ex) {
-      throw transformException(ex, op);
-    }
-  }
-
-  @Override
-  public Object executeOn(ServerLocation server, Op op) {
-    try {
-      return super.executeOn(server, op);
-    } catch (RuntimeException ex) {
-      throw transformException(ex, op);
-    }
-  }
-  
-  @Override
-  public Object executeOn(Connection con, Op op) {
-    try {
-      return super.executeOn(con, op);
-    } catch (RuntimeException ex) {
-      throw transformException(ex, op);
-    }
-  }
-
-  @Override
-  public Object executeOn(Connection con, Op op, boolean timeoutFatal) {
-    try {
-      return super.executeOn(con, op, timeoutFatal);
-    } catch (RuntimeException ex) {
-      throw transformException(ex, op);
-    }
-  }
-
-  @Override
-  public Object executeOnQueuesAndReturnPrimaryResult(Op op) {
-    try {
-      return super.executeOnQueuesAndReturnPrimaryResult(op);
-    } catch (RuntimeException ex) {
-      throw transformException(ex, op);
-    }
-  }
-
-  @Override
-  public void executeOnAllQueueServers(Op op)
-    throws NoSubscriptionServersAvailableException, SubscriptionNotEnabledException {
-    try {
-      super.executeOnAllQueueServers(op);
-    } catch (RuntimeException ex) {
-      throw transformException(ex, op);
-    }
-  }
-
-  @Override
-  public Object executeOnPrimary(Op op) {
-    try {
-      return super.executeOnPrimary(op);
-    } catch (RuntimeException ex) {
-      throw transformException(ex, op);
-    }
-  }
-  public void setKeepAlive(boolean keepAlive) {
-    this.keepAlive = keepAlive;
-  }
-  
-  /** ******** INNER CLASSES ************************* */
-  public static class LBPolicy
-  {
-    public static final String STICKY_PROPERTY_NAME = "Sticky";
-
-    public static final String RANDOMSTICKY_PROPERTY_NAME = "RandomSticky";
-
-    public static final String ROUNDROBIN_PROPERTY_NAME = "RoundRobin";
-
-    public static final String RANDOM_PROPERTY_NAME = "Random";
-
-    public static final String APPASSISTED_PROPERTY_NAME = "AppAssisted";
-
-    public static final int STICKY = 0;
-
-    public static final int ROUNDROBIN = 1;
-
-    public static final int APPASSISTED = 2;
-
-    public static final int RANDOM = 3;
-
-    public static final int RANDOMSTICKY = 4;
-
-    public final int thePolicy;
-
-    public LBPolicy(String name) {
-      if (name.equalsIgnoreCase(STICKY_PROPERTY_NAME)) {
-        this.thePolicy = STICKY;
-      }
-      else if (name.equalsIgnoreCase(ROUNDROBIN_PROPERTY_NAME)) {
-        this.thePolicy = ROUNDROBIN;
-      }
-      else if (name.equalsIgnoreCase(APPASSISTED_PROPERTY_NAME)) {
-        this.thePolicy = APPASSISTED;
-      }
-      else if (name.equalsIgnoreCase(RANDOM_PROPERTY_NAME)) {
-        this.thePolicy = RANDOM;
-      }
-      else if (name.equalsIgnoreCase(RANDOMSTICKY_PROPERTY_NAME)) {
-        this.thePolicy = RANDOMSTICKY;
-      }
-      else {
-        this.thePolicy = STICKY; // DEFAULT
-      }
-    }
-
-    public int getPolicy()
-    {
-      return this.thePolicy;
-    }
-
-    public boolean isSticky() {
-      return getPolicy() == STICKY || getPolicy() == RANDOMSTICKY;
-    }
-
-    public boolean isRandom() {
-      return getPolicy() == RANDOM || getPolicy() == RANDOMSTICKY;
-    }
-
-    public String getPolicyPropertyName(int pol)
-    {
-      String retStr;
-      switch (pol) {
-      case STICKY:
-        retStr = STICKY_PROPERTY_NAME;
-        break;
-      case ROUNDROBIN:
-        retStr = ROUNDROBIN_PROPERTY_NAME;
-        break;
-      case APPASSISTED:
-        retStr = APPASSISTED_PROPERTY_NAME;
-        break;
-      case RANDOM:
-        retStr = RANDOM_PROPERTY_NAME;
-        break;
-      case RANDOMSTICKY:
-        retStr = RANDOMSTICKY_PROPERTY_NAME;
-        break;
-      default:
-        return Integer.toString(pol);
-      }
-      return retStr;
-    }
-
-    @Override
-    public boolean equals(Object obj)
-    {
-      if (obj == this) {
-        return true;
-      }
-
-      if (obj instanceof LBPolicy) {
-        LBPolicy other = (LBPolicy)obj;
-        return this.thePolicy == other.thePolicy;
-      }
-      else {
-        return false;
-      }
-    }
-
-    @Override
-    public int hashCode()
-    {
-      return this.thePolicy;
-    }
-
-    @Override
-    public String toString()
-    {
-      return getPolicyPropertyName(this.thePolicy);
-    }
-  }
-
-  
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgeServerLoadMessage.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgeServerLoadMessage.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgeServerLoadMessage.java
deleted file mode 100644
index a419216..0000000
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/BridgeServerLoadMessage.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*=========================================================================
- * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
- * This product is protected by U.S. and international copyright
- * and intellectual property laws. Pivotal products are covered by
- * more patents listed at http://www.pivotal.io/patents.
- *=========================================================================
- */
-package com.gemstone.gemfire.cache.client.internal;
-
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.gemstone.gemfire.DataSerializer;
-import com.gemstone.gemfire.cache.server.ServerLoad;
-import com.gemstone.gemfire.distributed.Locator;
-import com.gemstone.gemfire.distributed.internal.DistributionManager;
-import com.gemstone.gemfire.distributed.internal.InternalLocator;
-import com.gemstone.gemfire.distributed.internal.SerialDistributionMessage;
-import com.gemstone.gemfire.distributed.internal.ServerLocation;
-import com.gemstone.gemfire.distributed.internal.ServerLocator;
-import com.gemstone.gemfire.internal.InternalDataSerializer;
-
-/**
- * A message from bridge server to locator to update the locator
- * with new load information from the bridge server.
- * Also includes the id of any clients whose estimate is no
- * longer needed on the server-locator.
- * @author dsmith
- * @since 5.7
- *
- */
-public class BridgeServerLoadMessage extends SerialDistributionMessage {
-  protected ServerLoad load;
-  protected ServerLocation location;
-  protected ArrayList clientIds;
-
-  public BridgeServerLoadMessage() {
-    super();
-  }
-  
-  public BridgeServerLoadMessage(ServerLoad load, ServerLocation location,
-                                 ArrayList clientIds) {
-    super();
-    this.load = load;
-    this.location = location;
-    this.clientIds = clientIds;
-  }
-
-  @Override
-  protected void process(DistributionManager dm) {
-    updateLocalLocators();
-  }
-
-  public void updateLocalLocators() {
-    List locators = Locator.getLocators();
-    for (int i=0; i < locators.size(); i++) {
-      InternalLocator l = (InternalLocator)locators.get(i);
-      ServerLocator serverLocator = l.getServerLocatorAdvisee();
-      if(serverLocator != null) {
-        serverLocator.updateLoad(location, load, this.clientIds);
-      }
-    }
-  }
-  
-  
-
-  public int getDSFID() {
-   return BRIDGE_SERVER_LOAD_MESSAGE;
-  }
-
-  @Override
-  public void fromData(DataInput in) throws IOException, ClassNotFoundException {
-    super.fromData(in);
-    load = new ServerLoad();
-    InternalDataSerializer.invokeFromData(load, in);
-    location = new ServerLocation();
-    InternalDataSerializer.invokeFromData(location, in);
-    this.clientIds = DataSerializer.readArrayList(in);
-  }
-
-  @Override
-  public void toData(DataOutput out) throws IOException {
-    super.toData(out);
-    InternalDataSerializer.invokeToData(load, out);
-    InternalDataSerializer.invokeToData(location, out);
-    DataSerializer.writeArrayList(this.clientIds, out);
-  }
-
-  @Override
-  protected Object clone() throws CloneNotSupportedException {
-    return super.clone();
-  }
-  
-  
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/CacheServerLoadMessage.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/CacheServerLoadMessage.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/CacheServerLoadMessage.java
new file mode 100644
index 0000000..e4f63dc
--- /dev/null
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/CacheServerLoadMessage.java
@@ -0,0 +1,99 @@
+/*=========================================================================
+ * Copyright (c) 2002-2014 Pivotal Software, Inc. All Rights Reserved.
+ * This product is protected by U.S. and international copyright
+ * and intellectual property laws. Pivotal products are covered by
+ * more patents listed at http://www.pivotal.io/patents.
+ *=========================================================================
+ */
+package com.gemstone.gemfire.cache.client.internal;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
+import com.gemstone.gemfire.DataSerializer;
+import com.gemstone.gemfire.cache.server.ServerLoad;
+import com.gemstone.gemfire.distributed.Locator;
+import com.gemstone.gemfire.distributed.internal.DistributionManager;
+import com.gemstone.gemfire.distributed.internal.InternalLocator;
+import com.gemstone.gemfire.distributed.internal.SerialDistributionMessage;
+import com.gemstone.gemfire.distributed.internal.ServerLocation;
+import com.gemstone.gemfire.distributed.internal.ServerLocator;
+import com.gemstone.gemfire.internal.InternalDataSerializer;
+
+/**
+ * A message from a server to a locator to update the locator
+ * with new load information from the server.
+ * Also includes the id of any clients whose estimate is no
+ * longer needed on the server-locator.
+ * @author dsmith
+ * @since 5.7
+ *
+ */
+public class CacheServerLoadMessage extends SerialDistributionMessage {
+  protected ServerLoad load;
+  protected ServerLocation location;
+  protected ArrayList clientIds;
+
+  public CacheServerLoadMessage() {
+    super();
+  }
+  
+  public CacheServerLoadMessage(ServerLoad load, ServerLocation location,
+                                 ArrayList clientIds) {
+    super();
+    this.load = load;
+    this.location = location;
+    this.clientIds = clientIds;
+  }
+
+  @Override
+  protected void process(DistributionManager dm) {
+    updateLocalLocators();
+  }
+
+  public void updateLocalLocators() {
+    List locators = Locator.getLocators();
+    for (int i=0; i < locators.size(); i++) {
+      InternalLocator l = (InternalLocator)locators.get(i);
+      ServerLocator serverLocator = l.getServerLocatorAdvisee();
+      if(serverLocator != null) {
+        serverLocator.updateLoad(location, load, this.clientIds);
+      }
+    }
+  }
+  
+  
+
+  public int getDSFID() {
+   return CACHE_SERVER_LOAD_MESSAGE;
+  }
+
+  @Override
+  public void fromData(DataInput in) throws IOException, ClassNotFoundException {
+    super.fromData(in);
+    load = new ServerLoad();
+    InternalDataSerializer.invokeFromData(load, in);
+    location = new ServerLocation();
+    InternalDataSerializer.invokeFromData(location, in);
+    this.clientIds = DataSerializer.readArrayList(in);
+  }
+
+  @Override
+  public void toData(DataOutput out) throws IOException {
+    super.toData(out);
+    InternalDataSerializer.invokeToData(load, out);
+    InternalDataSerializer.invokeToData(location, out);
+    DataSerializer.writeArrayList(this.clientIds, out);
+  }
+
+  @Override
+  protected Object clone() throws CloneNotSupportedException {
+    return super.clone();
+  }
+  
+  
+
+}

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/DestroyOp.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/DestroyOp.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/DestroyOp.java
index 7dc0eaa..dbcc7ed 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/DestroyOp.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/DestroyOp.java
@@ -15,7 +15,6 @@ import com.gemstone.gemfire.cache.Operation;
 import com.gemstone.gemfire.cache.client.AllConnectionsInUseException;
 import com.gemstone.gemfire.cache.client.ServerConnectivityException;
 import com.gemstone.gemfire.cache.client.ServerOperationException;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
 import com.gemstone.gemfire.internal.cache.EntryEventImpl;
@@ -80,10 +79,6 @@ public class DestroyOp {
           }
           cms.removeBucketServerLocation(server);
         }
-        catch (BridgeWriterException e) {
-          if (e.getCause() instanceof ServerConnectivityException)
-            cms.removeBucketServerLocation(server);
-        }
       }
     }
     return pool.execute(op);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/EndpointManagerImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/EndpointManagerImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/EndpointManagerImpl.java
index 5bf3a48..e4741de 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/EndpointManagerImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/EndpointManagerImpl.java
@@ -26,7 +26,7 @@ import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.DummyStatisticsFactory;
 import com.gemstone.gemfire.internal.cache.PoolStats;
 import com.gemstone.gemfire.internal.cache.execute.TransactionFunctionService;
-import com.gemstone.gemfire.internal.cache.tier.InternalBridgeMembership;
+import com.gemstone.gemfire.internal.cache.tier.InternalClientMembership;
 import com.gemstone.gemfire.internal.logging.LogService;
 
 /**
@@ -274,7 +274,7 @@ public class EndpointManagerImpl implements EndpointManager {
         return;
       }
       //logger.warn("EMANFIRE:CRASH:"+endpoint.getLocation());
-      InternalBridgeMembership.notifyCrashed(endpoint.getMemberId(), false);
+      InternalClientMembership.notifyCrashed(endpoint.getMemberId(), false);
     }
 
     public void endpointNoLongerInUse(Endpoint endpoint) {
@@ -282,7 +282,7 @@ public class EndpointManagerImpl implements EndpointManager {
         return;
       }
       //logger.warn("EMANFIRE:LEFT:"+endpoint.getLocation());
-      InternalBridgeMembership.notifyLeft(endpoint.getMemberId(), false);
+      InternalClientMembership.notifyLeft(endpoint.getMemberId(), false);
     }
 
     public void endpointNowInUse(Endpoint endpoint) {
@@ -290,7 +290,7 @@ public class EndpointManagerImpl implements EndpointManager {
         return;
       }
       //logger.warn("EMANFIRE:JOIN:"+endpoint.getLocation()+" mid:"+endpoint.getMemberId(),new Exception());
-      InternalBridgeMembership.notifyJoined(endpoint.getMemberId(), false);
+      InternalClientMembership.notifyJoined(endpoint.getMemberId(), false);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ExplicitConnectionSourceImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ExplicitConnectionSourceImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ExplicitConnectionSourceImpl.java
index a1bdc16..9e2b6ca 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ExplicitConnectionSourceImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/ExplicitConnectionSourceImpl.java
@@ -7,9 +7,7 @@
  */
 package com.gemstone.gemfire.cache.client.internal;
 
-import java.net.InetAddress;
 import java.net.InetSocketAddress;
-import java.net.UnknownHostException; 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
@@ -19,9 +17,6 @@ import java.util.Set;
 
 import org.apache.logging.log4j.Logger;
 
-import com.gemstone.gemfire.cache.util.EndpointDoesNotExistException;
-import com.gemstone.gemfire.cache.util.EndpointExistsException;
-import com.gemstone.gemfire.cache.util.EndpointInUseException;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
 import com.gemstone.gemfire.internal.cache.tier.sockets.ServerQueueStatus;
@@ -64,15 +59,18 @@ public class ExplicitConnectionSourceImpl implements ConnectionSource {
     this.serverList = Collections.unmodifiableList(serverList);
   }
 
+  @Override
   public synchronized void start(InternalPool pool) {
     this.pool = pool;
     pool.getStats().setInitialContacts(serverList.size());
   }
   
+  @Override
   public void stop() {
     //do nothing
   }
 
+  @Override
   public ServerLocation findReplacementServer(ServerLocation currentServer, Set/*<ServerLocation>*/ excludedServers) {
     // at this time we always try to find a server other than currentServer
     // and if we do return it. Otherwise return null;
@@ -85,6 +83,7 @@ public class ExplicitConnectionSourceImpl implements ConnectionSource {
     return findServer(excludedPlusCurrent);
   }
   
+  @Override
   public synchronized ServerLocation findServer(Set excludedServers) {
     if(PoolImpl.TEST_DURABLE_IS_NET_DOWN) {
       return null;
@@ -109,6 +108,7 @@ public class ExplicitConnectionSourceImpl implements ConnectionSource {
    * connect to every server in the system to find where our durable
    * queue lives.
    */
+  @Override
   public synchronized List findServersForQueue(Set excludedServers,
       int numServers, ClientProxyMembershipID proxyId, boolean findDurableQueue) {
     if(PoolImpl.TEST_DURABLE_IS_NET_DOWN) {
@@ -124,80 +124,7 @@ public class ExplicitConnectionSourceImpl implements ConnectionSource {
     }
   }
   
-  /**
-   * Remove an endpoint from this connection source.
-   * 
-   * @param host
-   * @param port
-   * @throws EndpointDoesNotExistException if the <code>Endpoint</code> to be
-   * removed doesn't exist.
-   */
-  public synchronized void removeEndpoint(String host,int port) throws EndpointInUseException,EndpointDoesNotExistException {
-    serverList = new ArrayList(serverList);
-    Iterator it = serverList.iterator();
-    boolean found = false;
-    host = lookupHostName(host);
-    while(it.hasNext()) {
-      ServerLocation loc = (ServerLocation)it.next();
-      if(loc.getHostName().equalsIgnoreCase(host)) {
-        if(loc.getPort()==port) {
-          EndpointManager em = pool.getEndpointManager();
-          if(em.getEndpointMap().containsKey(loc)) {
-            throw new EndpointInUseException("Endpoint in use cannot be removed:"+loc);
-          } else {
-            it.remove();
-            found = true;
-          }
-        }
-      }
-    }
-    serverList = Collections.unmodifiableList(serverList);
-    if(!found) {
-      throw new EndpointDoesNotExistException("endpointlist:"+serverList,host,port);
-    }
-  }
-  
-  /**
-   * Add an endpoint to this connection source.
-   * 
-   * @param host
-   * @param port
-   * @throws EndpointExistsException if the <code>Endpoint</code> to be
-   * added already exists.
-   */
-  public synchronized void addEndpoint(String host,int port) throws EndpointExistsException {
-    Iterator it = serverList.iterator();
-    host = lookupHostName(host);
-    while(it.hasNext()) {
-      ServerLocation loc = (ServerLocation)it.next();
-      if(loc.getHostName().equalsIgnoreCase(host)) {
-        if(loc.getPort()==port) {
-          throw new EndpointExistsException("Endpoint already exists host="+host+" port="+port);
-        }
-      }
-    }
-    serverList = new ArrayList(serverList);
-    serverList.add(new ServerLocation(host,port));
-    serverList = Collections.unmodifiableList(serverList);
-  }
- 
-  /**
-   * When we create an ExplicitConnectionSource, we convert a the hostname of an
-   * endpoint from a string to an InetAddress and back. This method duplicates
-   * that process for endpoints that are added or removed after the fact.
-   */
-  private String lookupHostName(String host) {
-    try {
-      InetAddress hostAddr = InetAddress.getByName(host);
-      host = hostAddr.getHostName();
-    } catch (UnknownHostException cause) {
-      IllegalArgumentException ex = new IllegalArgumentException("Unknown host " + host);
-      ex.initCause(cause);
-      throw ex;
-    }
-    return host;
-  } 
-
+  @Override
   public boolean isBalanced() {
     return false;
   }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/GetOp.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/GetOp.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/GetOp.java
index 019da2e..a187bcb 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/GetOp.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/GetOp.java
@@ -15,7 +15,6 @@ import com.gemstone.gemfire.cache.Operation;
 import com.gemstone.gemfire.cache.client.AllConnectionsInUseException;
 import com.gemstone.gemfire.cache.client.ServerConnectivityException;
 import com.gemstone.gemfire.cache.client.ServerOperationException;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
 import com.gemstone.gemfire.internal.cache.EntryEventImpl;
@@ -81,10 +80,6 @@ public class GetOp {
             }
             cms.removeBucketServerLocation(server);
           }
-          catch (BridgeWriterException e) {
-            if (e.getCause() instanceof ServerConnectivityException)
-              cms.removeBucketServerLocation(server);
-          }
           catch (CacheLoaderException e) {
             if (e.getCause() instanceof ServerConnectivityException)
               cms.removeBucketServerLocation(server);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PoolImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PoolImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PoolImpl.java
index 851c5c8..d211417 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PoolImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PoolImpl.java
@@ -1204,36 +1204,36 @@ public class PoolImpl implements InternalPool {
   
   ///////////////////// start test hooks ///////////////////////
   /**
-   * A debug flag used for testing used in BridgeObserver
+   * A debug flag used for testing used in ClientServerObserver
    */
   public static volatile boolean AFTER_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = false;
 
   /**
-   * A debug flag used for testing used in BridgeObserver
+   * A debug flag used for testing used in ClientServerObserver
    */
   public static volatile boolean BEFORE_REGISTER_CALLBACK_FLAG = false;
 
   /**
-   * A debug flag used for testing used in BridgeObserver
+   * A debug flag used for testing used in ClientServerObserver
    */
   public static volatile boolean BEFORE_RECOVER_INTEREST_CALLBACK_FLAG = false;
 
   /**
-   * A debug flag used for testing used in BridgeObserver
+   * A debug flag used for testing used in ClientServerObserver
    */
   public static volatile boolean AFTER_REGISTER_CALLBACK_FLAG = false;
 
   /**
-   * A debug flag used for testing used in BridgeObserver
+   * A debug flag used for testing used in ClientServerObserver
    */
   public static volatile boolean BEFORE_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG = false;
 
   /**
-   * A debug flag used for testing used in BridgeObserver
+   * A debug flag used for testing used in ClientServerObserver
    */
   public static volatile boolean BEFORE_SENDING_CLIENT_ACK_CALLBACK_FLAG = false;
   /**
-   * A debug flag used for testing used in BridgeObserver
+   * A debug flag used for testing used in ClientServerObserver
    */  
   public static volatile boolean AFTER_QUEUE_DESTROY_MESSAGE_FLAG = false;
   

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PutOp.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PutOp.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PutOp.java
index 35822ed..05caa9c 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PutOp.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/PutOp.java
@@ -14,7 +14,6 @@ import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.client.AllConnectionsInUseException;
 import com.gemstone.gemfire.cache.client.ServerConnectivityException;
 import com.gemstone.gemfire.cache.client.ServerOperationException;
-import com.gemstone.gemfire.cache.util.BridgeWriterException;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.distributed.internal.membership.InternalDistributedMember;
 import com.gemstone.gemfire.internal.cache.CachedDeserializable;
@@ -91,10 +90,6 @@ public class PutOp {
           }
           cms.removeBucketServerLocation(server);
         }
-        catch (BridgeWriterException e) {
-          if (e.getCause() instanceof ServerConnectivityException)
-            cms.removeBucketServerLocation(server);
-        }
       }
     }
     return pool.execute(op);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueManagerImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueManagerImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueManagerImpl.java
index f0bf9e9..1d6597f 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueManagerImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueManagerImpl.java
@@ -48,8 +48,8 @@ import com.gemstone.gemfire.cache.query.internal.cq.InternalCqQuery;
 import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
 import com.gemstone.gemfire.distributed.internal.ServerLocation;
 import com.gemstone.gemfire.internal.Assert;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
 import com.gemstone.gemfire.internal.cache.tier.InterestType;
@@ -733,7 +733,7 @@ public class QueueManagerImpl implements QueueManager {
   private boolean promoteBackupCnxToPrimary(QueueConnectionImpl cnx) {
     boolean result = false;
     if (PoolImpl.BEFORE_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG) {
-      BridgeObserver bo = BridgeObserverHolder.getInstance();
+      ClientServerObserver bo = ClientServerObserverHolder.getInstance();
       bo.beforePrimaryIdentificationFromBackup();
     }
     try {
@@ -752,7 +752,7 @@ public class QueueManagerImpl implements QueueManager {
         MakePrimaryOp.execute(pool, cnx, haveSentClientReady);
         result = true;
         if (PoolImpl.AFTER_PRIMARY_IDENTIFICATION_FROM_BACKUP_CALLBACK_FLAG) {
-          BridgeObserver bo = BridgeObserverHolder.getInstance();
+          ClientServerObserver bo = ClientServerObserverHolder.getInstance();
           bo.afterPrimaryIdentificationFromBackup(cnx.getServer());
         }
       }
@@ -888,7 +888,7 @@ public class QueueManagerImpl implements QueueManager {
         logger.debug("SubscriptionManager redundancy satisfier - Switched backup server to primary: {}", newPrimary.getEndpoint());
       }
       if (PoolImpl.AFTER_PRIMARY_RECOVERED_CALLBACK_FLAG) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.afterPrimaryRecovered(newPrimary.getServer());
       }
      
@@ -924,7 +924,7 @@ public class QueueManagerImpl implements QueueManager {
       }
 
       if (newPrimary != null && PoolImpl.AFTER_PRIMARY_RECOVERED_CALLBACK_FLAG) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.afterPrimaryRecovered(newPrimary.getServer());
       }
       printPrimaryNotFoundError = true;
@@ -1207,7 +1207,7 @@ public class QueueManagerImpl implements QueueManager {
   protected void recoverAllInterestTypes(final Connection recoveredConnection,
       boolean isFirstNewConnection) {
     if (PoolImpl.BEFORE_RECOVER_INTEREST_CALLBACK_FLAG) {
-      BridgeObserver bo = BridgeObserverHolder.getInstance();
+      ClientServerObserver bo = ClientServerObserverHolder.getInstance();
       bo.beforeInterestRecovery();
     }
     recoverInterestList(recoveredConnection, false, true, isFirstNewConnection);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/2eb4e175/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueStateImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueStateImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueStateImpl.java
index 9a6b3db..9f15155 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueStateImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/cache/client/internal/QueueStateImpl.java
@@ -24,8 +24,8 @@ import com.gemstone.gemfire.cache.Cache;
 import com.gemstone.gemfire.cache.Region;
 import com.gemstone.gemfire.cache.RegionDestroyedException;
 import com.gemstone.gemfire.cache.client.internal.PoolImpl.PoolTask;
-import com.gemstone.gemfire.internal.cache.BridgeObserver;
-import com.gemstone.gemfire.internal.cache.BridgeObserverHolder;
+import com.gemstone.gemfire.internal.cache.ClientServerObserver;
+import com.gemstone.gemfire.internal.cache.ClientServerObserverHolder;
 import com.gemstone.gemfire.internal.cache.EventID;
 import com.gemstone.gemfire.internal.cache.GemFireCacheImpl;
 import com.gemstone.gemfire.internal.cache.LocalRegion;
@@ -257,7 +257,7 @@ public class QueueStateImpl implements QueueState {
         return;
       }
       if (PoolImpl.BEFORE_SENDING_CLIENT_ACK_CALLBACK_FLAG) {
-        BridgeObserver bo = BridgeObserverHolder.getInstance();
+        ClientServerObserver bo = ClientServerObserverHolder.getInstance();
         bo.beforeSendingClientAck();
       }
       //if ((qManager.getPool().getSubscriptionRedundancy() != 0) || (qManager.getPool().isDurableClient())) {