You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by kl...@apache.org on 2016/02/01 21:55:38 UTC

[21/50] [abbrv] incubator-geode git commit: adding a unit test to ensure that WAN servers aren't reported as cache-servers to clients

adding a unit test to ensure that WAN servers aren't reported as cache-servers to clients


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

Branch: refs/heads/feature/GEODE-773-2
Commit: f13bf0c1d707955567b47d40eb64bddbfcc82da5
Parents: 4a6b0dd
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Thu Jan 28 14:27:18 2016 -0800
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Thu Jan 28 14:27:18 2016 -0800

----------------------------------------------------------------------
 .../distributed/internal/ServerLocator.java     |  2 +-
 .../SerialGatewaySenderOperationsDUnitTest.java | 52 ++++++++++++++++++++
 2 files changed, 53 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f13bf0c1/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 f7fea72..644bf63 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
@@ -164,7 +164,7 @@ public class ServerLocator implements TcpHandler, DistributionAdvisee {
     return this.ds != null;
   }
 
-  public Object processRequest(Object request) throws IOException {
+  public Object processRequest(Object request) {
     if (!readyToProcessRequests()) {
       return null;
     }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f13bf0c1/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderOperationsDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderOperationsDUnitTest.java b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderOperationsDUnitTest.java
index 7f4535e..fe113a2 100644
--- a/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderOperationsDUnitTest.java
+++ b/gemfire-wan/src/test/java/com/gemstone/gemfire/internal/cache/wan/serial/SerialGatewaySenderOperationsDUnitTest.java
@@ -16,17 +16,26 @@
  */
 package com.gemstone.gemfire.internal.cache.wan.serial;
 
+import java.util.HashSet;
 import java.util.Set;
 
 import org.junit.Ignore;
 
 import com.gemstone.gemfire.cache.RegionDestroyedException;
+import com.gemstone.gemfire.cache.client.internal.locator.QueueConnectionRequest;
+import com.gemstone.gemfire.cache.client.internal.locator.QueueConnectionResponse;
 import com.gemstone.gemfire.cache.wan.GatewaySender;
+import com.gemstone.gemfire.distributed.Locator;
+import com.gemstone.gemfire.distributed.internal.InternalDistributedSystem;
+import com.gemstone.gemfire.distributed.internal.InternalLocator;
+import com.gemstone.gemfire.distributed.internal.ServerLocator;
+import com.gemstone.gemfire.internal.cache.tier.sockets.ClientProxyMembershipID;
 import com.gemstone.gemfire.internal.cache.wan.AbstractGatewaySender;
 import com.gemstone.gemfire.internal.cache.wan.GatewaySenderException;
 import com.gemstone.gemfire.internal.cache.wan.WANTestBase;
 import com.gemstone.gemfire.test.dunit.AsyncInvocation;
 import com.gemstone.gemfire.test.dunit.RMIException;
+import com.gemstone.gemfire.test.dunit.SerializableRunnable;
 import com.gemstone.gemfire.test.dunit.VM;
 
 /**
@@ -545,6 +554,49 @@ public class SerialGatewaySenderOperationsDUnitTest extends WANTestBase {
     vm2.invoke(() -> WANTestBase.validateRegionSize(
         testName + "_RR", 10 ));
   }
+
+  
+  public void testGatewaySenderNotRegisteredAsCacheServer() {
+    Integer lnPort = (Integer)vm0.invoke(WANTestBase.class,
+        "createFirstLocatorWithDSId", new Object[] { 1 });
+    Integer nyPort = (Integer)vm1.invoke(WANTestBase.class,
+        "createFirstRemoteLocator", new Object[] { 2, lnPort });
+
+    vm2.invoke(WANTestBase.class, "createReceiver", new Object[] { nyPort });
+    vm3.invoke(WANTestBase.class, "createReceiver", new Object[] { nyPort });
+
+    vm4.invoke(WANTestBase.class, "createCache", new Object[] { lnPort });
+    vm5.invoke(WANTestBase.class, "createCache", new Object[] { lnPort });
+
+    vm4.invoke(WANTestBase.class, "createSender", new Object[] { "ln", 2,
+        false, 100, 10, false, true, null, true });
+    vm5.invoke(WANTestBase.class, "createSender", new Object[] { "ln", 2,
+        false, 100, 10, false, true, null, true });
+
+    vm4.invoke(WANTestBase.class, "startSender", new Object[] { "ln" });
+    vm5.invoke(WANTestBase.class, "startSender", new Object[] { "ln" });
+
+    SerializableRunnable check = new SerializableRunnable("assert no cache servers") {
+      public void run() {
+        InternalLocator inl = (InternalLocator)Locator.getLocator();
+        ServerLocator servel = inl.getServerLocatorAdvisee();
+        getLogWriter().info("Server load map is " + servel.getLoadMap());
+        assertTrue("expected an empty map but found " + servel.getLoadMap(),
+            servel.getLoadMap().isEmpty());
+        QueueConnectionRequest request = new QueueConnectionRequest(
+            ClientProxyMembershipID.getNewProxyMembership(InternalDistributedSystem.getConnectedInstance()),
+            1, new HashSet<>(), "", false);
+        QueueConnectionResponse response = (QueueConnectionResponse)servel.processRequest(request);
+        assertTrue("expected no servers but found " + response.getServers(),
+            response.getServers().isEmpty());
+      }
+    };
+    vm0.invoke(check);
+    vm1.invoke(check);
+    
+  }
+  
+
   
   public static void verifySenderPausedState(String senderId) {
     Set<GatewaySender> senders = cache.getGatewaySenders();