You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2017/06/22 16:06:47 UTC

[03/10] geode git commit: GEODE-3072: Changed getMembershipId to use the client version

GEODE-3072: Changed getMembershipId to use the client version


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

Branch: refs/heads/feature/GEM-1483
Commit: dd90c71d036d9d28b8c593ab8cbae57357a64b03
Parents: a21c971
Author: Barry Oglesby <bo...@pivotal.io>
Authored: Tue Jun 13 18:18:19 2017 -0700
Committer: Barry Oglesby <bo...@pivotal.io>
Committed: Thu Jun 15 09:19:36 2017 -0700

----------------------------------------------------------------------
 .../apache/geode/internal/cache/EventID.java    |  2 +-
 .../sockets/ClientServerMiscBCDUnitTest.java    | 40 ++++++++++++++++++++
 .../tier/sockets/ClientServerMiscDUnitTest.java |  4 +-
 3 files changed, 43 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/geode/blob/dd90c71d/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
index 71acdc9..4d2ddc1 100755
--- a/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
+++ b/geode-core/src/main/java/org/apache/geode/internal/cache/EventID.java
@@ -164,7 +164,7 @@ public class EventID implements DataSerializableFixedID, Serializable, Externali
    */
   public static byte[] getMembershipId(ClientProxyMembershipID client) {
     try {
-      HeapDataOutputStream hdos = new HeapDataOutputStream(256, Version.CURRENT);
+      HeapDataOutputStream hdos = new HeapDataOutputStream(256, client.getClientVersion());
       ((InternalDistributedMember) client.getDistributedMember()).writeEssentialData(hdos);
       return hdos.toByteArray();
     } catch (IOException ioe) {

http://git-wip-us.apache.org/repos/asf/geode/blob/dd90c71d/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java
index d51c196..c732662 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscBCDUnitTest.java
@@ -14,10 +14,13 @@
  */
 package org.apache.geode.internal.cache.tier.sockets;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import org.apache.geode.cache.Region;
 import org.apache.geode.cache.client.Pool;
+import org.apache.geode.internal.cache.EventID;
 import org.apache.geode.internal.cache.LocalRegion;
 import org.apache.geode.test.dunit.Host;
 import org.apache.geode.test.dunit.NetworkUtils;
@@ -33,8 +36,10 @@ import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
 @Category({DistributedTest.class, ClientServerTest.class, BackwardCompatibilityTest.class})
@@ -90,4 +95,39 @@ public class ClientServerMiscBCDUnitTest extends ClientServerMiscDUnitTest {
     });
   }
 
+  @Test
+  public void testDistributedMemberBytesWithCurrentServerAndOldClient() throws Exception {
+    // Start current version server
+    int serverPort = initServerCache(true);
+
+    // Start old version client and do puts
+    VM client = Host.getHost(0).getVM(testVersion, 1);
+    String hostname = NetworkUtils.getServerHostName(Host.getHost(0));
+    client.invoke("create client cache", () -> {
+      createClientCache(hostname, serverPort);
+      populateCache();
+    });
+
+    // Get client member id byte array on client
+    byte[] clientMembershipIdBytesOnClient =
+        client.invoke(() -> getClientMembershipIdBytesOnClient());
+
+    // Get client member id byte array on server
+    byte[] clientMembershipIdBytesOnServer =
+        server1.invoke(() -> getClientMembershipIdBytesOnServer());
+
+    // Verify member id bytes on client and server are equal
+    assertTrue(Arrays.equals(clientMembershipIdBytesOnClient, clientMembershipIdBytesOnServer));
+  }
+
+  private byte[] getClientMembershipIdBytesOnClient() {
+    return EventID.getMembershipId(getCache().getDistributedSystem());
+  }
+
+  private byte[] getClientMembershipIdBytesOnServer() {
+    Set cpmIds = ClientHealthMonitor.getInstance().getClientHeartbeats().keySet();
+    assertEquals(1, cpmIds.size());
+    ClientProxyMembershipID cpmId = (ClientProxyMembershipID) cpmIds.iterator().next();
+    return EventID.getMembershipId(cpmId);
+  }
 }

http://git-wip-us.apache.org/repos/asf/geode/blob/dd90c71d/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
index bbaea9d..bfe4646 100755
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/ClientServerMiscDUnitTest.java
@@ -110,9 +110,9 @@ public class ClientServerMiscDUnitTest extends JUnit4CacheTestCase {
 
   private static Host host;
 
-  private static VM server1;
+  protected static VM server1;
 
-  private static VM server2;
+  protected static VM server2;
 
   private static RegionAttributes attrs;