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

[1/6] incubator-geode git commit: GEODE-515 Make sure that we connect to DS using same udp port.

Repository: incubator-geode
Updated Branches:
  refs/heads/develop a8d6015b5 -> 8c690ac6a


GEODE-515 Make sure that we connect to DS using same udp port.


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

Branch: refs/heads/develop
Commit: 397a42db76b6124e47ffc5c08cbde4dfd73f475c
Parents: 22b4330
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Wed Mar 16 15:40:54 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Fri Mar 18 09:23:22 2016 -0700

----------------------------------------------------------------------
 .../internal/membership/gms/messenger/JGroupsMessenger.java        | 1 +
 .../gemfire/distributed/internal/DistributionManagerDUnitTest.java | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/397a42db/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index d95d8df..9476deb 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -236,6 +236,7 @@ public class JGroupsMessenger implements Messenger {
     int port = Integer.getInteger("gemfire.jg-bind-port", 0);
     if (port != 0) {
       properties = replaceStrings(properties, "MEMBERSHIP_PORT_RANGE_START", ""+port);
+      properties = replaceStrings(properties, "MEMBERSHIP_PORT_RANGE_END", ""+0);
     } else {
       int[] ports = dc.getMembershipPortRange();
       properties = replaceStrings(properties, "MEMBERSHIP_PORT_RANGE_START", ""+ports[0]);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/397a42db/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionManagerDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionManagerDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionManagerDUnitTest.java
index 2164fdc..25eec69 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionManagerDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionManagerDUnitTest.java
@@ -144,7 +144,7 @@ public class DistributionManagerDUnitTest extends DistributedTestCase {
     MembershipManager mgr = MembershipManagerHelper.getMembershipManager(sys);
     InternalDistributedMember idm = mgr.getLocalMember();
     // TODO GMS needs to have a system property allowing the bind-port to be set
-//    System.setProperty("gemfire.jg-bind-port", ""+idm.getPort());
+    System.setProperty("gemfire.jg-bind-port", ""+idm.getPort());
     try {
       sys.disconnect();
       sys = getSystem();


[6/6] incubator-geode git commit: GEODE-1106 test was setting testHook asynchronously. Now it set synchronously.

Posted by hi...@apache.org.
GEODE-1106 test was setting testHook asynchronously. Now it set synchronously.

That was causing other thread to not to use testhook


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

Branch: refs/heads/develop
Commit: 8c690ac6ab4e968f404031f2ece8f1b89c7ff9a5
Parents: 9993c76
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Fri Mar 18 09:19:12 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Fri Mar 18 09:23:23 2016 -0700

----------------------------------------------------------------------
 .../tier/sockets/DurableClientSimpleDUnitTest.java   | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8c690ac6/geode-cq/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-cq/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java b/geode-cq/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
index 766fad5..0a263eb 100644
--- a/geode-cq/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
+++ b/geode-cq/src/test/java/com/gemstone/gemfire/internal/cache/tier/sockets/DurableClientSimpleDUnitTest.java
@@ -2856,16 +2856,21 @@ public class DurableClientSimpleDUnitTest extends DurableClientTestCase {
       startClient(publisherClientVM, serverPort, regionName);
     
       // Publish some entries
-      publishEntries(publisherClientVM, regionName, 10);
+      publishEntries(publisherClientVM, regionName, 10);
+      
+      this.server1VM.invoke(new CacheSerializableRunnable(
+          "Set test hook") {
+        public void run2() throws CacheException {
+          //Set the Test Hook!
+          //This test hook will pause during the drain process
+          CacheClientProxy.testHook = new RejectClientReconnectTestHook();
+        }
+      });
               
       this.server1VM.invokeAsync(new CacheSerializableRunnable(
           "Close cq for durable client") {
         public void run2() throws CacheException {
   
-          //Set the Test Hook!
-          //This test hook will pause during the drain process
-          CacheClientProxy.testHook = new RejectClientReconnectTestHook();
-  
           final CacheClientNotifier ccnInstance = CacheClientNotifier
               .getInstance();
           final CacheClientProxy clientProxy = ccnInstance


[3/6] incubator-geode git commit: GEODE-514 Make sure we look for quorum only when networkPartition is enable.

Posted by hi...@apache.org.
GEODE-514 Make sure we look for quorum only when networkPartition is enable.


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

Branch: refs/heads/develop
Commit: 22b4330b9f395c8306d9e9266a4349f70c4fd5a8
Parents: 658981a
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Wed Mar 16 15:37:31 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Fri Mar 18 09:23:22 2016 -0700

----------------------------------------------------------------------
 .../internal/membership/gms/membership/GMSJoinLeave.java           | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/22b4330b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
index 717a0ea..8440ab1 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
@@ -1118,7 +1118,7 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
     services.getConfig().getDistributionConfig().setEnableNetworkPartitionDetection(enabled);
 
     if (response.isUsePreferredCoordinators()) {
-      this.quorumRequired = true;
+      this.quorumRequired = enabled;
       logger.debug("The locator indicates that all locators should be preferred as coordinators");
       if (services.getLocator() != null
           || Locator.hasLocator()


[2/6] incubator-geode git commit: GEODE-1100 Neglect view when it send by member which is not in current view.

Posted by hi...@apache.org.
GEODE-1100 Neglect view when it send by member which is not in current view.

there is possibility that existing member can see view from non-existing
memebr in view. Thus now we just ignore that view, if member is not exist
in current view.


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

Branch: refs/heads/develop
Commit: f226f0108630e0330d993514da1342f226863f96
Parents: a8d6015
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Fri Mar 11 17:19:46 2016 -0800
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Fri Mar 18 09:23:22 2016 -0700

----------------------------------------------------------------------
 .../internal/membership/gms/membership/GMSJoinLeave.java  | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/f226f010/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
index 2b7893e..717a0ea 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
@@ -831,6 +831,11 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
   private void processViewMessage(final InstallViewMessage m) {
 
     NetView view = m.getView();
+    
+    if(currentView != null && !currentView.contains(m.getSender())) {
+      logger.info("Ignoring the view {} from member {}, which is not in my current view {} ", view, m.getSender(), currentView);
+      return;
+    }
 
     if (currentView != null && view.getViewId() < currentView.getViewId()) {
       // ignore old views
@@ -1445,9 +1450,12 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
       processRemoveRequest(msg);
       if (!this.isCoordinator) {
         msg.resetRecipients();
-        msg.setRecipients(v.getPreferredCoordinators(Collections.<InternalDistributedMember>emptySet(), localAddress, 10));
+        msg.setRecipients(v.getPreferredCoordinators(Collections.<InternalDistributedMember> emptySet(), localAddress, 10));
         services.getMessenger().send(msg);
       }
+    } else {
+      RemoveMemberMessage msg = new RemoveMemberMessage(m, m, reason);
+      services.getMessenger().send(msg);
     }
   }
 


[4/6] incubator-geode git commit: GEODE-519 Make sure that membership port range is available.

Posted by hi...@apache.org.
GEODE-519 Make sure that membership port range is available.

test looks for port range of 3 port. Sometime that port is not available
thus now we check range of port before starting the test.


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

Branch: refs/heads/develop
Commit: 658981a9a2015839c710d9dbdc9b20937e8dde22
Parents: f226f01
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Tue Mar 15 14:34:18 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Fri Mar 18 09:23:22 2016 -0700

----------------------------------------------------------------------
 .../distributed/DistributedSystemDUnitTest.java | 47 ++++++++++++++++----
 1 file changed, 38 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/658981a9/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
index fcaaa2d..610be11 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
@@ -316,23 +316,52 @@ public class DistributedSystemDUnitTest extends DistributedTestCase {
     assertTrue(unicastPort <= idm.getPort() && idm.getPort() <= unicastPort+2);
     assertTrue(unicastPort <= idm.getPort() && idm.getDirectChannelPort() <= unicastPort+2);
   }
+  
+  /***
+   * this will return starting port, from it "range" of port will available
+   * @param range
+   * @return
+   */
+  private int getPortRange(int range) {
+    int port = DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[0] + 10000;
+    int startPort = port;
+    int found = 0;
+    while (port <= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1]) {
+      if (AvailablePort.isPortAvailable(port, AvailablePort.SOCKET)) {
+        found++;
+        if (found == range) {
+          break;
+        }
+        port++;
+      } else {
+        port++;
+        startPort = port;
+        found = 0;
+      }
+    }
+    if (port > DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1]) {
+      fail("Unable to find port range " + range);
+    }
+    return startPort;
+  }
 
   public void testMembershipPortRangeWithExactThreeValues() throws Exception {
     Properties config = new Properties();
-    config.setProperty("locators", "localhost["+DistributedTestUtils.getDUnitLocatorPort()+"]");
-    config.setProperty(DistributionConfig.MEMBERSHIP_PORT_RANGE_NAME, ""
-        + (DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1] - 2) + "-"
-        + (DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1]));
-    system = (InternalDistributedSystem)DistributedSystem.connect(config);
+    config.setProperty("locators", "localhost[" + DistributedTestUtils.getDUnitLocatorPort() + "]");
+    int portRange = 3;
+    int portStartRange = getPortRange(portRange);
+    int portEndRange = portStartRange + portRange - 1;
+    config.setProperty(DistributionConfig.MEMBERSHIP_PORT_RANGE_NAME, "" + (portStartRange) + "-" + (portEndRange));
+    system = (InternalDistributedSystem) DistributedSystem.connect(config);
     Cache cache = CacheFactory.create(system);
     cache.addCacheServer();
     DistributionManager dm = (DistributionManager) system.getDistributionManager();
     InternalDistributedMember idm = dm.getDistributionManagerId();
     system.disconnect();
-    assertTrue(idm.getPort() <= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1]);
-    assertTrue(idm.getPort() >= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[0]);
-    assertTrue(idm.getDirectChannelPort() <= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[1]);
-    assertTrue(idm.getDirectChannelPort() >= DistributionConfig.DEFAULT_MEMBERSHIP_PORT_RANGE[0]);
+    assertTrue(idm.getPort() <= portEndRange);
+    assertTrue(idm.getPort() >= portStartRange);
+    assertTrue(idm.getDirectChannelPort() <= portEndRange);
+    assertTrue(idm.getDirectChannelPort() >= portStartRange);
   }
 
   public void testConflictingUDPPort() throws Exception {


[5/6] incubator-geode git commit: GEODE-1100 Fixed test issue. Set Sender in InstallViewMessage.

Posted by hi...@apache.org.
GEODE-1100 Fixed test issue. Set Sender in InstallViewMessage.


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

Branch: refs/heads/develop
Commit: 9993c767e1f061684ed98d54aaf7f6033587f378
Parents: 397a42d
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Thu Mar 17 10:47:12 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Fri Mar 18 09:23:23 2016 -0700

----------------------------------------------------------------------
 .../membership/gms/membership/GMSJoinLeave.java |  2 +-
 .../gms/messages/InstallViewMessage.java        |  7 ----
 .../gms/membership/GMSJoinLeaveJUnitTest.java   | 40 +++++++++++---------
 3 files changed, 24 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9993c767/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
index 8440ab1..1bc30af 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
@@ -1759,7 +1759,7 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
     void sendCurrentView() {
       NetView v = currentView;
       if (v != null) {
-        InstallViewMessage msg = new InstallViewMessage(v, services.getAuthenticator().getCredentials(localAddress));
+        InstallViewMessage msg = new InstallViewMessage(v, services.getAuthenticator().getCredentials(localAddress), false);
         Collection<InternalDistributedMember> recips = new ArrayList<>(v.size() + v.getCrashedMembers().size());
         recips.addAll(v.getMembers());
         recips.remove(localAddress);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9993c767/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/InstallViewMessage.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/InstallViewMessage.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/InstallViewMessage.java
index 9e42f1f..c41584f 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/InstallViewMessage.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messages/InstallViewMessage.java
@@ -38,13 +38,6 @@ public class InstallViewMessage extends HighPriorityDistributionMessage {
   private messageType kind;
   private int previousViewId;
 
-  public InstallViewMessage(NetView view, Object credentials) {
-    this.view = view;
-    this.kind = messageType.INSTALL;
-    this.credentials = credentials;
-    this.previousViewId = view.getViewId();
-  }
-
   public InstallViewMessage(NetView view, Object credentials, boolean preparing) {
     this.view = view;
     this.kind = preparing? messageType.PREPARE : messageType.INSTALL;

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/9993c767/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
index 33fa2ea..6c23037 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
@@ -217,7 +217,7 @@ public class GMSJoinLeaveJUnitTest {
     GMSJoinLeaveTestHelper.becomeCoordinatorForTest(gmsJoinLeave);
     List<InternalDistributedMember> members = Arrays.asList(mockMembers);
     NetView v = new NetView(mockMembers[0], 2, members);
-    InstallViewMessage message = new InstallViewMessage(v, null);
+    InstallViewMessage message = getInstallViewMessage(v, null, false);
     gmsJoinLeave.processMessage(message);
     verify(manager).forceDisconnect(any(String.class));
   }
@@ -273,12 +273,12 @@ public class GMSJoinLeaveJUnitTest {
     
     //prepare the view
     NetView netView = new NetView(coordinator, viewId, members);
-    InstallViewMessage installViewMessage = new InstallViewMessage(netView, credentials, true);
+    InstallViewMessage installViewMessage = getInstallViewMessage(netView, credentials, true);
     gmsJoinLeave.processMessage(installViewMessage);
     verify(messenger).send(any(ViewAckMessage.class));
     
     //install the view
-    installViewMessage = new InstallViewMessage(netView, credentials, false);
+    installViewMessage = getInstallViewMessage(netView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     Assert.assertEquals(netView, gmsJoinLeave.getView());
   }
@@ -367,7 +367,7 @@ public class GMSJoinLeaveJUnitTest {
   
     //try to install an older view where viewId < currentView.viewId
     NetView olderNetView = new NetView(mockMembers[0], 0, mbrs);
-    InstallViewMessage installViewMessage = new InstallViewMessage(olderNetView, credentials, false);
+    InstallViewMessage installViewMessage = getInstallViewMessage(olderNetView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     Assert.assertNotEquals(gmsJoinLeave.getView(), olderNetView);
   }
@@ -387,7 +387,7 @@ public class GMSJoinLeaveJUnitTest {
    
     //install the view
     NetView netView = new NetView(mockMembers[0], viewId, mbrs);
-    InstallViewMessage installViewMessage = new InstallViewMessage(netView, credentials, false);
+    InstallViewMessage installViewMessage = getInstallViewMessage(netView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     
     Assert.assertNotEquals(netView, gmsJoinLeave.getView());
@@ -599,7 +599,7 @@ public class GMSJoinLeaveJUnitTest {
     NetView view = new NetView(oldView, oldView.getViewId()+1);
     InternalDistributedMember creator = view.getCreator();
     view.remove(creator);
-    InstallViewMessage msg = new InstallViewMessage(view, creator);
+    InstallViewMessage msg = getInstallViewMessage(view, creator, false);
     msg.setSender(creator);
     gmsJoinLeave.processMessage(msg);
     assertTrue("Expected it to become coordinator", gmsJoinLeave.isCoordinator());
@@ -617,12 +617,18 @@ public class GMSJoinLeaveJUnitTest {
     view.setCreator(creator);
     view.add(creator);
     view.add(gmsJoinLeaveMemberId);
-    InstallViewMessage msg = new InstallViewMessage(view, creator);
+    InstallViewMessage msg = getInstallViewMessage(view, creator, false);
     msg.setSender(creator);
     gmsJoinLeave.processMessage(msg);
     assertTrue("Expected it to stop being coordinator", !gmsJoinLeave.isCoordinator());
   }
 
+  private InstallViewMessage getInstallViewMessage(NetView view, Object credentials, boolean preparing) {
+    InstallViewMessage installViewMessage = new InstallViewMessage(view, credentials, preparing);
+    installViewMessage.setSender(gmsJoinLeaveMemberId);
+    return installViewMessage;
+  }
+  
   @Test 
   public void testNetworkPartitionDetected() throws IOException {
     initMocks(true);
@@ -640,7 +646,7 @@ public class GMSJoinLeaveJUnitTest {
     ((GMSMember)mockMembers[1].getNetMember()).setMemberWeight((byte)20);
   
     NetView newView = new NetView(mockMembers[0], gmsJoinLeave.getView().getViewId()+1, mbrs);
-    InstallViewMessage installViewMessage = new InstallViewMessage(newView, credentials, false);
+    InstallViewMessage installViewMessage = getInstallViewMessage(newView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     
     Set<InternalDistributedMember> crashes = new HashSet<>();
@@ -650,7 +656,7 @@ public class GMSJoinLeaveJUnitTest {
     mbrs.remove(mockMembers[1]);
     mbrs.remove(mockMembers[2]);
     NetView partitionView = new NetView(mockMembers[0], newView.getViewId()+1, mbrs, Collections.emptySet(), crashes);
-    installViewMessage = new InstallViewMessage(partitionView, credentials, false);
+    installViewMessage = getInstallViewMessage(partitionView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     
     verify(manager).forceDisconnect(isA(String.class));
@@ -687,7 +693,7 @@ public class GMSJoinLeaveJUnitTest {
     ((GMSMember)mockMembers[1].getNetMember()).setMemberWeight((byte)20);
   
     NetView newView = new NetView(mockMembers[0], gmsJoinLeave.getView().getViewId()+1, mbrs, shutdowns, crashes);
-    InstallViewMessage installViewMessage = new InstallViewMessage(newView, credentials, false);
+    InstallViewMessage installViewMessage = getInstallViewMessage(newView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     
     crashes = new HashSet<>(crashes);
@@ -697,7 +703,7 @@ public class GMSJoinLeaveJUnitTest {
     mbrs.remove(mockMembers[1]);
     mbrs.remove(mockMembers[2]);
     NetView partitionView = new NetView(mockMembers[0], newView.getViewId()+1, mbrs, shutdowns, crashes);
-    installViewMessage = new InstallViewMessage(partitionView, credentials, false);
+    installViewMessage = getInstallViewMessage(partitionView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     
     verify(manager, never()).forceDisconnect(any(String.class));
@@ -711,11 +717,11 @@ public class GMSJoinLeaveJUnitTest {
     
     NetView gmsView = gmsJoinLeave.getView();
     NetView newView = new NetView(gmsView, gmsView.getViewId()+6);
-    InstallViewMessage msg = new InstallViewMessage(newView, null, true);
+    InstallViewMessage msg = getInstallViewMessage(newView, null, true);
     gmsJoinLeave.processMessage(msg);
     
     NetView alternateView = new NetView(gmsView, gmsView.getViewId()+1);
-    msg = new InstallViewMessage(alternateView, null, true);
+    msg = getInstallViewMessage(alternateView, null, true);
     gmsJoinLeave.processMessage(msg);
     
     assertTrue(gmsJoinLeave.getPreparedView().equals(newView));
@@ -736,7 +742,7 @@ public class GMSJoinLeaveJUnitTest {
     newView.add(mockMembers[2]);
     newView.remove(mockMembers[0]);
     
-    InstallViewMessage installViewMessage = new InstallViewMessage(newView, credentials, false);
+    InstallViewMessage installViewMessage = getInstallViewMessage(newView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     
     long giveup = System.currentTimeMillis() + (2000 * 3); // this test's member-timeout * 3
@@ -813,7 +819,7 @@ public class GMSJoinLeaveJUnitTest {
     
     //Install a view that still contains one of the left members (as if something like a new member, triggered a new view before coordinator leaves)
     NetView netView = new NetView(mockMembers[0], 3/*new view id*/, createMemberList(mockMembers[0], gmsJoinLeaveMemberId, mockMembers[1], mockMembers[3]));
-    InstallViewMessage installViewMessage = new InstallViewMessage(netView, credentials, false);
+    InstallViewMessage installViewMessage = getInstallViewMessage(netView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
     
     //Now coordinator leaves
@@ -845,7 +851,7 @@ public class GMSJoinLeaveJUnitTest {
     
     //prepare the view
     NetView netView = new NetView(coordinator, viewId, members);
-    InstallViewMessage installViewMessage = new InstallViewMessage(netView, credentials, false);
+    InstallViewMessage installViewMessage = getInstallViewMessage(netView, credentials, false);
     gmsJoinLeave.processMessage(installViewMessage);
    // verify(messenger).send(any(ViewAckMessage.class));
   }
@@ -1008,7 +1014,7 @@ public class GMSJoinLeaveJUnitTest {
     mockMembers[1].setVmViewId(preparedView.getViewId());
     preparedView.add(mockMembers[1]);
     
-    InstallViewMessage msg = new InstallViewMessage(preparedView, null, true);
+    InstallViewMessage msg = getInstallViewMessage(preparedView, null, true);
     gmsJoinLeave.processMessage(msg);
     
     GMSJoinLeaveTestHelper.becomeCoordinatorForTest(gmsJoinLeave);