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/03/18 17:28:24 UTC

[1/8] incubator-geode git commit: GEODE-947 Client log message misleading

Repository: incubator-geode
Updated Branches:
  refs/heads/feature/GEODE-1050 abb26af65 -> 8f280aae4


GEODE-947 Client log message misleading

Logging of local-mode or client-mode is now done in GemFireCacheImpl when
the cache is created.  If there is a connection pool or the cache is marked
isClient we want to say it's running in client-mode.  If it's not in client-
mode and the DistributedSystem is not actually configured to be able to
distribute anything we say it's running in local-mode.

I corrected the text of the local-mode message to remove the reference to
multicast since multicast discovery is not supported in Geode.


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

Branch: refs/heads/feature/GEODE-1050
Commit: a8d6015b5fd9a66322e81ae91dd947cd9865601c
Parents: ff55590
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Fri Mar 18 08:54:27 2016 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Fri Mar 18 08:54:27 2016 -0700

----------------------------------------------------------------------
 .../com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java   | 4 ++++
 .../gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java  | 2 +-
 .../com/gemstone/gemfire/internal/logging/LogWriterFactory.java | 5 +----
 .../gemfire/internal/logging/log4j/LogWriterAppenders.java      | 4 +---
 .../gemstone/gemfire/internal/logging/TestLogWriterFactory.java | 3 ---
 5 files changed, 7 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a8d6015b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
index 201acc0..21c7847 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/cache/GemFireCacheImpl.java
@@ -845,7 +845,11 @@ public class GemFireCacheImpl implements InternalCache, ClientCache, HasCachePer
         // but it causes quickstart.CqClientTest to hang
         this.listener = new ManagementListener();
         this.system.addResourceListener(listener);
+        if (this.system.isLoner()) {
+          this.system.getInternalLogWriter().info(LocalizedStrings.GemFireCacheImpl_RUNNING_IN_LOCAL_MODE);
+        }
       } else {
+        getLogger().info("Running in client mode");
         this.listener = null;
       }
 

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a8d6015b/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
index 248353f..8285a65 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/i18n/ParentLocalizedStrings.java
@@ -694,7 +694,7 @@ class ParentLocalizedStrings {
   public static final StringId InternalDistributedSystem_EXCEPTION_OCCURED_WHILE_TRYING_TO_CREATE_THE_CACHE_DURING_RECONNECT = new StringId(1687, "Exception occurred while trying to create the cache during reconnect");
   public static final StringId InternalDistributedSystem_INTERRUPTED_WHILE_PROCESSING_DISCONNECT_LISTENER = new StringId(1688, "Interrupted while processing disconnect listener");
   public static final StringId InternalDistributedSystem_LICENSE_EXPIRES_IN_0_DAYS_1_HOURS_2_MINUTES_AND_3_SECONDS = new StringId(1689, "License expires in: {0} days, {1} hours, {2} minutes, and {3} seconds.");
-  public static final StringId InternalDistributedSystem_RUNNING_IN_LOCAL_MODE_SINCE_MCASTPORT_WAS_0_AND_LOCATORS_WAS_EMPTY = new StringId(1690, "Running in local mode since mcast-port was 0 and locators was empty.");
+  public static final StringId GemFireCacheImpl_RUNNING_IN_LOCAL_MODE = new StringId(1690, "Running in local mode since no locators were specified.");
   public static final StringId InternalDistributedSystem_SHUTDOWNLISTENER__0__THREW = new StringId(1691, "ShutdownListener < {0} > threw...");
   public static final StringId InternalDistributedSystem_STARTUP_CONFIGURATIONN_0 = new StringId(1692, "Startup Configuration:\n {0}");
   public static final StringId InternalDistributedSystem_THE_MONITOR_SERVICE_IS_ENABLED_ON_PORT__0 = new StringId(1693, "The monitor service is enabled on port  {0}");

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a8d6015b/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/LogWriterFactory.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/LogWriterFactory.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/LogWriterFactory.java
index f08847a..fff09e8 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/LogWriterFactory.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/LogWriterFactory.java
@@ -95,10 +95,7 @@ public class LogWriterFactory {
 
     // log the config
     if (logConfig) {
-      if (isLoner) {
-        // LOG:CONFIG:
-        logger.info(LogMarker.CONFIG, LocalizedMessage.create(LocalizedStrings.InternalDistributedSystem_RUNNING_IN_LOCAL_MODE_SINCE_MCASTPORT_WAS_0_AND_LOCATORS_WAS_EMPTY));
-      } else {
+      if (!isLoner) {
         // LOG:CONFIG: changed from config to info
         logger.info(LogMarker.CONFIG, LocalizedMessage.create(LocalizedStrings.InternalDistributedSystem_STARTUP_CONFIGURATIONN_0, config.toLoggerString()));
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a8d6015b/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/log4j/LogWriterAppenders.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/log4j/LogWriterAppenders.java b/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/log4j/LogWriterAppenders.java
index 7dd9366..b2bc913 100644
--- a/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/log4j/LogWriterAppenders.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/internal/logging/log4j/LogWriterAppenders.java
@@ -230,9 +230,7 @@ public class LogWriterAppenders {
     
     // log the config
     if (logConfig) {
-      if (isLoner) {
-        logWriter.info(LocalizedStrings.InternalDistributedSystem_RUNNING_IN_LOCAL_MODE_SINCE_MCASTPORT_WAS_0_AND_LOCATORS_WAS_EMPTY);
-      } else {
+      if (!isLoner) {
         // LOG:CONFIG: changed from config to info
         logWriter.info(LocalizedStrings.InternalDistributedSystem_STARTUP_CONFIGURATIONN_0, config.toLoggerString());
       }

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/a8d6015b/geode-core/src/test/java/com/gemstone/gemfire/internal/logging/TestLogWriterFactory.java
----------------------------------------------------------------------
diff --git a/geode-core/src/test/java/com/gemstone/gemfire/internal/logging/TestLogWriterFactory.java b/geode-core/src/test/java/com/gemstone/gemfire/internal/logging/TestLogWriterFactory.java
index 4c46503..73ef017 100644
--- a/geode-core/src/test/java/com/gemstone/gemfire/internal/logging/TestLogWriterFactory.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/internal/logging/TestLogWriterFactory.java
@@ -114,9 +114,6 @@ public class TestLogWriterFactory extends Assert {
     if (logConfig && logger.configEnabled()) {
       logger.convertToLogWriterI18n().config(LocalizedStrings.InternalDistributedSystem_STARTUP_CONFIGURATIONN_0, config.toLoggerString());
     }
-    if (isLoner) {
-      logger.convertToLogWriterI18n().info(LocalizedStrings.InternalDistributedSystem_RUNNING_IN_LOCAL_MODE_SINCE_MCASTPORT_WAS_0_AND_LOCATORS_WAS_EMPTY);
-    }
     
     // fix #46493 by moving redirectOutput invocation here
     if (ProcessLauncherContext.isRedirectingOutput()) {


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

Posted by kl...@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/feature/GEODE-1050
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 {


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

Posted by kl...@apache.org.
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/feature/GEODE-1050
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();


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

Posted by kl...@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/feature/GEODE-1050
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);
     }
   }
 


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

Posted by kl...@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/feature/GEODE-1050
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


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

Posted by kl...@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/feature/GEODE-1050
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);


[8/8] incubator-geode git commit: Merge remote-tracking branch 'origin/develop' into feature/GEODE-1050

Posted by kl...@apache.org.
Merge remote-tracking branch 'origin/develop' into feature/GEODE-1050


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

Branch: refs/heads/feature/GEODE-1050
Commit: 8f280aae41d829929866b34d96b3eb2ccf56c9f9
Parents: abb26af 8c690ac
Author: Kirk Lund <kl...@apache.org>
Authored: Fri Mar 18 09:28:14 2016 -0700
Committer: Kirk Lund <kl...@apache.org>
Committed: Fri Mar 18 09:28:14 2016 -0700

----------------------------------------------------------------------
 .../membership/gms/membership/GMSJoinLeave.java | 14 ++++--
 .../gms/messages/InstallViewMessage.java        |  7 ---
 .../gms/messenger/JGroupsMessenger.java         |  1 +
 .../internal/cache/GemFireCacheImpl.java        |  4 ++
 .../internal/i18n/ParentLocalizedStrings.java   |  2 +-
 .../internal/logging/LogWriterFactory.java      |  5 +--
 .../logging/log4j/LogWriterAppenders.java       |  4 +-
 .../distributed/DistributedSystemDUnitTest.java | 45 ++++++++++++++++----
 .../internal/DistributionManagerDUnitTest.java  |  2 +-
 .../gms/membership/GMSJoinLeaveJUnitTest.java   | 40 +++++++++--------
 .../internal/logging/TestLogWriterFactory.java  |  3 --
 .../sockets/DurableClientSimpleDUnitTest.java   | 15 ++++---
 12 files changed, 90 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8f280aae/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
----------------------------------------------------------------------
diff --cc geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
index 26cdf85,610be11..a0ee443
--- a/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
+++ b/geode-core/src/test/java/com/gemstone/gemfire/distributed/DistributedSystemDUnitTest.java
@@@ -314,27 -316,54 +314,56 @@@ public class DistributedSystemDUnitTes
      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;
+   }
  
 +  @Test
    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]));
+     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);
 +    InternalDistributedSystem system = getSystem(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);
    }
  
 +  @Test
    public void testConflictingUDPPort() throws Exception {
      final Properties config = new Properties();
      final int mcastPort = AvailablePort.getRandomAvailablePort(AvailablePort.MULTICAST);

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/8f280aae/geode-core/src/test/java/com/gemstone/gemfire/distributed/internal/DistributionManagerDUnitTest.java
----------------------------------------------------------------------


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

Posted by kl...@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/feature/GEODE-1050
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()