You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2015/09/09 20:46:00 UTC
[3/3] incubator-geode git commit: GEODE-77 modified two tests to
account for background thread timed-wait,
and modified a second to create temp files in /etc on non-Windows machines
GEODE-77 modified two tests to account for background thread timed-wait,
and modified a second to create temp files in /etc on non-Windows machines
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/299966d7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/299966d7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/299966d7
Branch: refs/heads/feature/GEODE-77
Commit: 299966d7af04838dfa0651adda22e63100b92281
Parents: ae43aca
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Wed Sep 9 11:43:44 2015 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Wed Sep 9 11:44:29 2015 -0700
----------------------------------------------------------------------
.../internal/membership/gms/fd/GMSHealthMonitor.java | 2 +-
.../internal/membership/gms/locator/GMSLocator.java | 6 +++++-
.../membership/gms/membership/GMSJoinLeave.java | 2 +-
.../membership/gms/locator/GMSLocatorJUnitTest.java | 14 +++++++++++++-
.../gms/membership/GMSHealthMonitorJUnitTest.java | 9 +++------
.../gms/membership/GMSJoinLeaveJUnitTest.java | 1 +
6 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
index 613299a..c6f1e02 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
@@ -79,7 +79,7 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
"geode.logical-message-received-interval", 10) : 10;
/** stall time to wait for members leaving concurrently */
- private static final long MEMBER_SUSPECT_COLLECTION_INTERVAL = Long.getLong("geode.suspect-member-collection-interval", 200);
+ public static final long MEMBER_SUSPECT_COLLECTION_INTERVAL = Long.getLong("geode.suspect-member-collection-interval", 200);
/**
* If member don't see any activity from particular member then it sends check request
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
index 66aa0a9..3296b80 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocator.java
@@ -305,7 +305,11 @@ public class GMSLocator implements Locator, NetLocator {
ois2 = new VersionedObjectInput(ois2, geodeVersion);
}
- this.view = DataSerializer.readObject(ois2);
+ Object o = DataSerializer.readObject(ois2);
+ if (!(o instanceof NetView)) {
+ return false;
+ }
+ this.view = (NetView)o;
logger.info("Peer locator initial membership is " + view);
return true;
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
index 8844b23..b248f1b 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeave.java
@@ -78,7 +78,7 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
private static final int VIEW_INSTALLATION_TIMEOUT = Integer.getInteger("gemfire.view-ack-timeout", 12500);
/** stall time to wait for concurrent join/leave/remove requests to be received */
- private static final long MEMBER_REQUEST_COLLECTION_INTERVAL = Long.getLong("gemfire.member-request-collection-interval", 2000);
+ public static final long MEMBER_REQUEST_COLLECTION_INTERVAL = Long.getLong("gemfire.member-request-collection-interval", 2000);
/** time to wait for a leave request to be transmitted by jgroups */
private static final long LEAVE_MESSAGE_SLEEP_TIME = Long.getLong("gemfire.leave-message-sleep-time", 4000);
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
index 048dd65..35a6e13 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/locator/GMSLocatorJUnitTest.java
@@ -14,6 +14,7 @@ import com.gemstone.gemfire.distributed.internal.membership.MemberFactory;
import com.gemstone.gemfire.distributed.internal.membership.MembershipManager;
import com.gemstone.gemfire.distributed.internal.membership.NetView;
import com.gemstone.gemfire.internal.AvailablePortHelper;
+import com.gemstone.gemfire.internal.OSProcess;
import com.gemstone.gemfire.internal.SocketCreator;
import com.gemstone.gemfire.internal.Version;
import com.gemstone.gemfire.internal.admin.remote.RemoteTransportConfig;
@@ -42,7 +43,18 @@ public class GMSLocatorJUnitTest {
@Before
public void setUp() throws Exception {
- tempStateFile = File.createTempFile("tempLocator-", ".dat", new File(""));
+ String directory = "";
+ boolean isWindows = false;
+ String os = System.getProperty("os.name");
+ if (os != null) {
+ if (os.indexOf("Windows") != -1) {
+ isWindows = true;
+ }
+ }
+ if (!isWindows) {
+ directory = "/etc/";
+ }
+ tempStateFile = File.createTempFile(directory+"tempLocator-", ".dat", new File(""));
locator = new GMSLocator(null, tempStateFile, null, false, false, new LocatorStats());
// System.out.println("temp state file: " + tempStateFile);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
index e7962a3..079bbb7 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSHealthMonitorJUnitTest.java
@@ -225,7 +225,7 @@ public class GMSHealthMonitorJUnitTest {
* Checks whether suspect thread sends suspectMembers message
*/
@Test
- public void testSuspectMembersCalledThroughSuspectThread() {
+ public void testSuspectMembersCalledThroughSuspectThread() throws Exception {
NetView v = new NetView(mockMembers.get(0), 2, mockMembers, new ArrayList<InternalDistributedMember>(), new ArrayList<InternalDistributedMember>());
MethodExecuted messageSent = new MethodExecuted();
@@ -238,11 +238,8 @@ public class GMSHealthMonitorJUnitTest {
when(messenger.send(any(SuspectMembersMessage.class))).thenAnswer(messageSent);
- try {
- // suspect thread timeout is 200 ms
- Thread.sleep(300l);
- } catch (InterruptedException e) {
- }
+ Thread.sleep(GMSHealthMonitor.MEMBER_SUSPECT_COLLECTION_INTERVAL + 1000);
+
Assert.assertTrue("SuspectMembersMessage should have sent", messageSent.isMethodExecuted());
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/299966d7/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
index 822e074..bb5abe7 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/membership/GMSJoinLeaveJUnitTest.java
@@ -177,6 +177,7 @@ public class GMSJoinLeaveJUnitTest {
MethodExecuted removeMessageSent = new MethodExecuted();
when(messenger.send(any(RemoveMemberMessage.class))).thenAnswer(removeMessageSent);
gmsJoinLeave.remove(mockMembers[1], "removing for test");
+ Thread.sleep(GMSJoinLeave.MEMBER_REQUEST_COLLECTION_INTERVAL*2);
assert removeMessageSent.methodExecuted;
}