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/12/10 23:54:06 UTC
incubator-geode git commit: adding a unit test for initiation of
suspect processing when shared/unordered
Repository: incubator-geode
Updated Branches:
refs/heads/develop 24c170afb -> 1c423796b
adding a unit test for initiation of suspect processing when shared/unordered
As part of this work I changed the internal membership listener interfaces to
propagate the reason for initiating suspect processing. The test gathers
these reasons and asserts that at least one is initiated by TCPConduit.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/1c423796
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/1c423796
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/1c423796
Branch: refs/heads/develop
Commit: 1c423796bc6dd9b0ce0f5557b6f4b31e1466f23d
Parents: 24c170a
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Thu Dec 10 14:52:36 2015 -0800
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Thu Dec 10 14:53:50 2015 -0800
----------------------------------------------------------------------
.../DistributedSystemHealthEvaluator.java | 2 +-
.../internal/DistributionAdvisor.java | 2 +-
.../internal/DistributionManager.java | 24 +++++++++++++-------
.../internal/MembershipListener.java | 3 ++-
.../distributed/internal/ProductUseLog.java | 2 +-
.../distributed/internal/ReplyProcessor21.java | 2 +-
.../internal/locks/DLockGrantor.java | 2 +-
.../DistributedMembershipListener.java | 3 ++-
.../internal/membership/gms/Services.java | 12 +++++-----
.../internal/membership/gms/SuspectMember.java | 9 ++++++--
.../membership/gms/auth/GMSAuthenticator.java | 2 +-
.../membership/gms/fd/GMSHealthMonitor.java | 4 ++--
.../membership/gms/interfaces/Service.java | 3 ++-
.../membership/gms/membership/GMSJoinLeave.java | 2 +-
.../gms/messenger/JGroupsMessenger.java | 2 +-
.../gms/mgr/GMSMembershipManager.java | 6 ++---
.../admin/remote/RemoteGfManagerAgent.java | 2 +-
.../internal/cache/DistributedRegion.java | 2 +-
.../internal/cache/InitialImageFlowControl.java | 2 +-
.../internal/cache/PRHARedundancyProvider.java | 4 ++--
.../internal/cache/PartitionedRegion.java | 2 +-
.../internal/cache/PartitionedRegionHelper.java | 2 +-
.../cache/SearchLoadAndWriteProcessor.java | 2 +-
.../gemfire/internal/cache/TXCommitMessage.java | 2 +-
.../internal/cache/TXFarSideCMTracker.java | 2 +-
.../gemfire/internal/cache/TXManagerImpl.java | 2 +-
.../PartitionedRegionRebalanceOp.java | 2 +-
.../cache/persistence/BackupManager.java | 2 +-
.../persistence/PersistenceAdvisorImpl.java | 2 +-
.../persistence/PersistentMemberManager.java | 2 +-
.../cache/versions/RegionVersionVector.java | 2 +-
.../gemfire/internal/tcp/Connection.java | 6 +++--
.../management/internal/FederatingManager.java | 5 ++--
.../internal/ManagementMembershipListener.java | 4 ++--
.../internal/SystemManagementService.java | 4 ++--
.../internal/beans/MBeanAggregator.java | 2 +-
.../gemfire/distributed/LocatorDUnitTest.java | 9 ++++++--
.../gms/mgr/GMSMembershipManagerJUnitTest.java | 8 +++----
38 files changed, 87 insertions(+), 63 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthEvaluator.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthEvaluator.java b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthEvaluator.java
index 534f559..511edba 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthEvaluator.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/admin/internal/DistributedSystemHealthEvaluator.java
@@ -166,7 +166,7 @@ class DistributedSystemHealthEvaluator
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionAdvisor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionAdvisor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionAdvisor.java
index dc76d6b..538fa96 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionAdvisor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionAdvisor.java
@@ -244,7 +244,7 @@ public class DistributionAdvisor {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
};
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
index 7a9f7c0..964845c 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
@@ -3333,9 +3333,10 @@ public class DistributionManager
}
/**
+ * @param reason TODO
*/
public void handleManagerSuspect(InternalDistributedMember suspect,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
if (!isCurrentMember(suspect)) {
return; // fault tolerance
}
@@ -3345,7 +3346,7 @@ public class DistributionManager
return;
}
- addMemberEvent(new MemberSuspectEvent(suspect, whoSuspected));
+ addMemberEvent(new MemberSuspectEvent(suspect, whoSuspected, reason));
}
public void handleViewInstalled(NetView view) {
@@ -3756,7 +3757,7 @@ public class DistributionManager
}
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void viewInstalled(NetView view) {
}
@@ -4424,8 +4425,8 @@ public class DistributionManager
dm.handleManagerDeparture(theId, crashed, reason);
}
- public void memberSuspect(InternalDistributedMember suspect, InternalDistributedMember whoSuspected) {
- dm.handleManagerSuspect(suspect, whoSuspected);
+ public void memberSuspect(InternalDistributedMember suspect, InternalDistributedMember whoSuspected, String reason) {
+ dm.handleManagerSuspect(suspect, whoSuspected, reason);
}
public void viewInstalled(NetView view) {
@@ -4579,20 +4580,27 @@ public class DistributionManager
*/
private static final class MemberSuspectEvent extends MemberEvent {
InternalDistributedMember whoSuspected;
- MemberSuspectEvent(InternalDistributedMember suspect, InternalDistributedMember whoSuspected) {
+ String reason;
+ MemberSuspectEvent(InternalDistributedMember suspect, InternalDistributedMember whoSuspected, String reason) {
super(suspect);
this.whoSuspected = whoSuspected;
+ this.reason = reason;
}
public InternalDistributedMember whoSuspected() {
return this.whoSuspected;
}
+
+ public String getReason() {
+ return this.reason;
+ }
+
@Override
public String toString() {
- return "member " + getId() + " suspected by: " + this.whoSuspected;
+ return "member " + getId() + " suspected by: " + this.whoSuspected + " reason: " + reason;
}
@Override
protected void handleEvent(MembershipListener listener) {
- listener.memberSuspect(getId(), whoSuspected());
+ listener.memberSuspect(getId(), whoSuspected(), reason);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/MembershipListener.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/MembershipListener.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/MembershipListener.java
index 78ed51b..b545653 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/MembershipListener.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/MembershipListener.java
@@ -60,9 +60,10 @@ public interface MembershipListener {
* removed from the membership view
* @param id the suspected member
* @param whoSuspected the member that initiated suspect processing
+ * @param reason TODO
*/
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected);
+ InternalDistributedMember whoSuspected, String reason);
/**
* This is notification that more than 50% of member weight has been
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ProductUseLog.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ProductUseLog.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ProductUseLog.java
index 823b3d0..95d538c 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ProductUseLog.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ProductUseLog.java
@@ -136,7 +136,7 @@ public final class ProductUseLog implements MembershipListener {
@Override
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ReplyProcessor21.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ReplyProcessor21.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ReplyProcessor21.java
index aa5f66c..b219630 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ReplyProcessor21.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/ReplyProcessor21.java
@@ -508,7 +508,7 @@ public class ReplyProcessor21
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
if (isSevereAlertProcessingEnabled()) {
// if we're waiting for the member that initiated suspicion, we don't
// want to be hasty about kicking it out of the distributed system
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/locks/DLockGrantor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/locks/DLockGrantor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/locks/DLockGrantor.java
index 92cea62..b4e646c 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/locks/DLockGrantor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/locks/DLockGrantor.java
@@ -3731,7 +3731,7 @@ public class DLockGrantor {
public void quorumLost(Set<InternalDistributedMember> failures, List<InternalDistributedMember> remaining) {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void memberDeparted(final InternalDistributedMember id, final boolean crashed) {
final DLockGrantor me = DLockGrantor.this;
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/DistributedMembershipListener.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/DistributedMembershipListener.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/DistributedMembershipListener.java
index acfd6ba..d970b6b 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/DistributedMembershipListener.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/DistributedMembershipListener.java
@@ -49,8 +49,9 @@ public interface DistributedMembershipListener extends DirectChannelListener {
/**
* Event indicating that a member is suspected of having departed but
* is still in the membership view
+ * @param reason TODO
*/
- public void memberSuspect(InternalDistributedMember suspect, InternalDistributedMember whoSuspected);
+ public void memberSuspect(InternalDistributedMember suspect, InternalDistributedMember whoSuspected, String reason);
/**
* Event indicating a message has been delivered that we need to process.
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/Services.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/Services.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/Services.java
index 799f95d..4484c00 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/Services.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/Services.java
@@ -277,20 +277,20 @@ public class Services {
manager.installView(v);
}
- public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect) {
+ public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect, String reason) {
try {
- joinLeave.memberSuspected(initiator, suspect);
+ joinLeave.memberSuspected(initiator, suspect, reason);
} finally {
try {
- healthMon.memberSuspected(initiator, suspect);
+ healthMon.memberSuspected(initiator, suspect, reason);
} finally {
try {
- auth.memberSuspected(initiator, suspect);
+ auth.memberSuspected(initiator, suspect, reason);
} finally {
try {
- messenger.memberSuspected(initiator, suspect);
+ messenger.memberSuspected(initiator, suspect, reason);
} finally {
- manager.memberSuspected(initiator, suspect);
+ manager.memberSuspected(initiator, suspect, reason);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/SuspectMember.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/SuspectMember.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/SuspectMember.java
index a03ee92..ca27698 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/SuspectMember.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/SuspectMember.java
@@ -27,10 +27,15 @@ public class SuspectMember
/** suspected member */
public InternalDistributedMember suspectedMember;
- /** create a new SuspectMember */
- public SuspectMember(InternalDistributedMember whoSuspected, InternalDistributedMember suspectedMember) {
+ /** the reason */
+ public String reason;
+
+ /** create a new SuspectMember
+ * @param reason TODO*/
+ public SuspectMember(InternalDistributedMember whoSuspected, InternalDistributedMember suspectedMember, String reason) {
this.whoSuspected = whoSuspected;
this.suspectedMember = suspectedMember;
+ this.reason = reason;
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/auth/GMSAuthenticator.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/auth/GMSAuthenticator.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/auth/GMSAuthenticator.java
index 982942d..ba35e46 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/auth/GMSAuthenticator.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/auth/GMSAuthenticator.java
@@ -90,7 +90,7 @@ public class GMSAuthenticator implements Authenticator {
}
@Override
- public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect) {
+ public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect, String reason) {
}
/**
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/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 7709114..8c38ba6 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
@@ -940,7 +940,7 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
}
@Override
- public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect) {
+ public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect, String reason) {
}
@Override
@@ -1177,7 +1177,7 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
@Override
public void run() {
try {
- services.memberSuspected(initiator, mbr);
+ services.memberSuspected(initiator, mbr, reason);
long startTime = System.currentTimeMillis();
// for some reason we used to update the timestamp for the member
// with the startTime, but we don't want to do that because it looks
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/interfaces/Service.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/interfaces/Service.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/interfaces/Service.java
index 2f4a728..8465067 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/interfaces/Service.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/interfaces/Service.java
@@ -75,8 +75,9 @@ public interface Service {
/**
* a member is suspected of having crashed
+ * @param reason TODO
*/
- void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect);
+ void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect, String reason);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/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 ccc9d8c..e1821db 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
@@ -1301,7 +1301,7 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
}
@Override
- public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect) {
+ public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect, String reason) {
prepareProcessor.memberSuspected(initiator, suspect);
viewProcessor.memberSuspected(initiator, suspect);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
index 326491a..36a6200 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/messenger/JGroupsMessenger.java
@@ -350,7 +350,7 @@ public class JGroupsMessenger implements Messenger {
}
@Override
- public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect) {
+ public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect, String reason) {
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java
index bbe7ab3..93c14e2 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManager.java
@@ -1209,8 +1209,8 @@ public class GMSMembershipManager implements MembershipManager, Manager
}
@Override
- public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect) {
- SuspectMember s = new SuspectMember(initiator, suspect);
+ public void memberSuspected(InternalDistributedMember initiator, InternalDistributedMember suspect, String reason) {
+ SuspectMember s = new SuspectMember(initiator, suspect, reason);
handleOrDeferSuspect(s);
}
@@ -1230,7 +1230,7 @@ public class GMSMembershipManager implements MembershipManager, Manager
InternalDistributedMember who = suspectInfo.whoSuspected;
this.suspectedMembers.put(suspect, Long.valueOf(System.currentTimeMillis()));
try {
- listener.memberSuspect(suspect, who);
+ listener.memberSuspect(suspect, who, suspectInfo.reason);
}
catch (DistributedSystemDisconnectedException se) {
// let's not get huffy about it
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGfManagerAgent.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGfManagerAgent.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGfManagerAgent.java
index eb62468..6a31b50 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGfManagerAgent.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/admin/remote/RemoteGfManagerAgent.java
@@ -1428,7 +1428,7 @@ public
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void quorumLost(Set<InternalDistributedMember> failures, List<InternalDistributedMember> remaining) {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
index 5d263a6..92b585a 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/DistributedRegion.java
@@ -3805,7 +3805,7 @@ public class DistributedRegion extends LocalRegion implements
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
/** called when membership listeners are added after region creation */
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/InitialImageFlowControl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/InitialImageFlowControl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/InitialImageFlowControl.java
index a37a39b..7777a33 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/InitialImageFlowControl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/InitialImageFlowControl.java
@@ -186,7 +186,7 @@ public class InitialImageFlowControl implements MembershipListener {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
//Do nothing
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PRHARedundancyProvider.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PRHARedundancyProvider.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PRHARedundancyProvider.java
index 3e21113..3abb0d6 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PRHARedundancyProvider.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PRHARedundancyProvider.java
@@ -2206,7 +2206,7 @@ public class PRHARedundancyProvider
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void memberDeparted(InternalDistributedMember id, boolean crashed) {
@@ -2339,7 +2339,7 @@ public class PRHARedundancyProvider
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void memberJoined(InternalDistributedMember id)
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
index 48f4787..a36d719 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegion.java
@@ -9968,7 +9968,7 @@ public class PartitionedRegion extends LocalRegion implements
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public synchronized void memberDeparted(InternalDistributedMember id,
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegionHelper.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegionHelper.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegionHelper.java
index f4a20da..ef89c80 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegionHelper.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/PartitionedRegionHelper.java
@@ -1086,7 +1086,7 @@ public class PartitionedRegionHelper
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void quorumLost(Set<InternalDistributedMember> failures, List<InternalDistributedMember> remaining) {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/SearchLoadAndWriteProcessor.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/SearchLoadAndWriteProcessor.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/SearchLoadAndWriteProcessor.java
index d7caf66..e96d99d 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/SearchLoadAndWriteProcessor.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/SearchLoadAndWriteProcessor.java
@@ -237,7 +237,7 @@ public class SearchLoadAndWriteProcessor implements MembershipListener {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void quorumLost(Set<InternalDistributedMember> failures, List<InternalDistributedMember> remaining) {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXCommitMessage.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXCommitMessage.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXCommitMessage.java
index 9648503..e712943 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXCommitMessage.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXCommitMessage.java
@@ -2027,7 +2027,7 @@ public class TXCommitMessage extends PooledDistributionMessage implements Member
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void quorumLost(Set<InternalDistributedMember> failures, List<InternalDistributedMember> remaining) {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXFarSideCMTracker.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXFarSideCMTracker.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXFarSideCMTracker.java
index c99d8ae..94e3059 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXFarSideCMTracker.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXFarSideCMTracker.java
@@ -211,7 +211,7 @@ public class TXFarSideCMTracker
public void memberJoined(InternalDistributedMember id) {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void memberDeparted(InternalDistributedMember id, boolean crashed) {
if (memberId.equals(id)) {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java
index 994990b..f4216ac 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/TXManagerImpl.java
@@ -925,7 +925,7 @@ public final class TXManagerImpl implements CacheTransactionManager,
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionRebalanceOp.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionRebalanceOp.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionRebalanceOp.java
index 2b21982..a8d1350 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionRebalanceOp.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/partitioned/PartitionedRegionRebalanceOp.java
@@ -644,7 +644,7 @@ public class PartitionedRegionRebalanceOp {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
// do nothing.
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/BackupManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/BackupManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/BackupManager.java
index 8f27736..1a5c765 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/BackupManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/BackupManager.java
@@ -352,7 +352,7 @@ public class BackupManager implements MembershipListener {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
public void waitForBackup() {
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistenceAdvisorImpl.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistenceAdvisorImpl.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistenceAdvisorImpl.java
index 21af700..168fbfc 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistenceAdvisorImpl.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistenceAdvisorImpl.java
@@ -1186,7 +1186,7 @@ public class PersistenceAdvisorImpl implements PersistenceAdvisor {
}
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistentMemberManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistentMemberManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistentMemberManager.java
index 87e956b..a6f6d64 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistentMemberManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/persistence/PersistentMemberManager.java
@@ -255,7 +255,7 @@ public class PersistentMemberManager {
@Override
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
}
@Override
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/versions/RegionVersionVector.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/versions/RegionVersionVector.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/versions/RegionVersionVector.java
index 61423d1..27f3747 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/versions/RegionVersionVector.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/cache/versions/RegionVersionVector.java
@@ -1364,7 +1364,7 @@ public abstract class RegionVersionVector<T extends VersionSource<?>> implements
public void memberJoined(InternalDistributedMember id) { }
- public void memberSuspect(InternalDistributedMember id, InternalDistributedMember whoSuspected) { }
+ public void memberSuspect(InternalDistributedMember id, InternalDistributedMember whoSuspected, String reason) { }
public void quorumLost(Set<InternalDistributedMember> failures, List<InternalDistributedMember> remaining) { }
/*
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tcp/Connection.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tcp/Connection.java b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tcp/Connection.java
index 30962e7..f918812 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tcp/Connection.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/internal/tcp/Connection.java
@@ -123,6 +123,9 @@ public class Connection implements Runnable {
/** counter to give connections a unique id */
private static AtomicLong idCounter = new AtomicLong(1);
+ /** string used as the reason for initiating suspect processing */
+ public static final String INITIATING_SUSPECT_PROCESSING = "member unexpectedly shut down shared, unordered connection";
+
/** the table holding this connection */
final ConnectionTable owner;
@@ -1954,9 +1957,8 @@ public class Connection implements Runnable {
private void initiateSuspicionIfSharedUnordered() {
if (this.isReceiver && this.handshakeRead && !this.preserveOrder && this.sharedResource) {
if (this.owner.getConduit().getCancelCriterion().cancelInProgress() == null) {
- String reason = "member unexpectedly shut down shared, unordered connection";
this.owner.getDM().getMembershipManager().suspectMember(this.getRemoteAddress(),
- reason);
+ INITIATING_SUSPECT_PROCESSING);
}
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/FederatingManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/FederatingManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/FederatingManager.java
index d49589c..91e7b22 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/FederatingManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/FederatingManager.java
@@ -276,9 +276,10 @@ public class FederatingManager extends Manager {
* block the membership listener
*
* @param member
+ * @param reason TODO
*/
- public void suspectMember(DistributedMember member, InternalDistributedMember whoSuspected) {
- service.memberSuspect((InternalDistributedMember) member, whoSuspected);
+ public void suspectMember(DistributedMember member, InternalDistributedMember whoSuspected, String reason) {
+ service.memberSuspect((InternalDistributedMember) member, whoSuspected, reason);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/ManagementMembershipListener.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/ManagementMembershipListener.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/ManagementMembershipListener.java
index 561981c..9a7c657 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/ManagementMembershipListener.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/ManagementMembershipListener.java
@@ -76,7 +76,7 @@ public class ManagementMembershipListener implements MembershipListener {
}
@Override
- public void memberSuspect(InternalDistributedMember id, InternalDistributedMember whoSuspected) {
+ public void memberSuspect(InternalDistributedMember id, InternalDistributedMember whoSuspected, String reason) {
if (logger.isDebugEnabled()) {
logger.debug("ManagementMembershipListener member suspected .. {}", id.getId());
@@ -85,7 +85,7 @@ public class ManagementMembershipListener implements MembershipListener {
if (logger.isDebugEnabled()) {
logger.debug("Suspecting member {}", id.getId());
}
- service.getFederatingManager().suspectMember(id, whoSuspected);
+ service.getFederatingManager().suspectMember(id, whoSuspected, reason);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/SystemManagementService.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/SystemManagementService.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/SystemManagementService.java
index 7ac85b8..68209f2 100755
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/SystemManagementService.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/SystemManagementService.java
@@ -729,9 +729,9 @@ public final class SystemManagementService extends BaseManagementService {
}
}
- public void memberSuspect(InternalDistributedMember id, InternalDistributedMember whoSuspected) {
+ public void memberSuspect(InternalDistributedMember id, InternalDistributedMember whoSuspected, String reason) {
for (ProxyListener listener : proxyListeners) {
- listener.memberSuspect(id, whoSuspected);
+ listener.memberSuspect(id, whoSuspected, reason);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/MBeanAggregator.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/MBeanAggregator.java b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/MBeanAggregator.java
index 8c096a4..a64e7f7 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/MBeanAggregator.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/management/internal/beans/MBeanAggregator.java
@@ -423,7 +423,7 @@ public class MBeanAggregator implements ProxyListener {
@Override
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) {
+ InternalDistributedMember whoSuspected, String reason) {
distributedSystemBridge.memberSuspect(id, whoSuspected);
}
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
index 5b12563..7d34ab1 100644
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/LocatorDUnitTest.java
@@ -20,6 +20,7 @@ import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
+import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import java.util.Set;
@@ -48,6 +49,7 @@ import com.gemstone.gemfire.internal.AvailablePort;
import com.gemstone.gemfire.internal.AvailablePortHelper;
import com.gemstone.gemfire.internal.logging.InternalLogWriter;
import com.gemstone.gemfire.internal.logging.LocalLogWriter;
+import com.gemstone.gemfire.internal.tcp.Connection;
import dunit.AsyncInvocation;
import dunit.DistributedTestCase;
@@ -60,7 +62,6 @@ import dunit.VM;
* Tests the ability of the {@link Locator} API to start and stop
* locators running in remote VMs.
*
- * @author David Whitlock
* @since 4.0
*/
public class LocatorDUnitTest extends DistributedTestCase {
@@ -581,6 +582,7 @@ public class LocatorDUnitTest extends DistributedTestCase {
}
// quorumLost should be invoked if we get a ForcedDisconnect in this situation
assertTrue("expected quorumLost to be invoked", listener.quorumLostInvoked);
+ assertTrue("expected suspect processing initiated by TCPConduit", listener.suspectReasons.contains(Connection.INITIATING_SUSPECT_PROCESSING));
}
finally {
if (locator != null) {
@@ -1882,11 +1884,14 @@ public class LocatorDUnitTest extends DistributedTestCase {
}
class MyMembershipListener implements MembershipListener {
boolean quorumLostInvoked;
+ List<String> suspectReasons = new ArrayList<>(50);
public void memberJoined(InternalDistributedMember id) { }
public void memberDeparted(InternalDistributedMember id, boolean crashed) { }
public void memberSuspect(InternalDistributedMember id,
- InternalDistributedMember whoSuspected) { }
+ InternalDistributedMember whoSuspected, String reason) {
+ suspectReasons.add(reason);
+ }
public void quorumLost(Set<InternalDistributedMember> failures,
List<InternalDistributedMember> remaining) {
quorumLostInvoked = true;
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/1c423796/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManagerJUnitTest.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManagerJUnitTest.java b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManagerJUnitTest.java
index e133625..44e1b46 100755
--- a/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManagerJUnitTest.java
+++ b/gemfire-core/src/test/java/com/gemstone/gemfire/distributed/internal/membership/gms/mgr/GMSMembershipManagerJUnitTest.java
@@ -233,10 +233,10 @@ public class GMSMembershipManagerJUnitTest {
// suspect a member
InternalDistributedMember suspectMember = mockMembers[1];
- manager.handleOrDeferSuspect(new SuspectMember(mockMembers[0], suspectMember));
+ manager.handleOrDeferSuspect(new SuspectMember(mockMembers[0], suspectMember, "testing"));
// suspect messages aren't queued - they're ignored before joining the system
assertEquals(2, manager.getStartupEvents().size());
- verify(listener, never()).memberSuspect(suspectMember, mockMembers[0]);
+ verify(listener, never()).memberSuspect(suspectMember, mockMembers[0], "testing");
HighPriorityAckedMessage m = new HighPriorityAckedMessage();
mockMembers[0].setVmViewId(1);
@@ -293,8 +293,8 @@ public class GMSMembershipManagerJUnitTest {
// process a suspect now - it will be passed to the listener
reset(listener);
suspectMember = mockMembers[1];
- manager.handleOrDeferSuspect(new SuspectMember(mockMembers[0], suspectMember));
- verify(listener).memberSuspect(suspectMember, mockMembers[0]);
+ manager.handleOrDeferSuspect(new SuspectMember(mockMembers[0], suspectMember, "testing"));
+ verify(listener).memberSuspect(suspectMember, mockMembers[0], "testing");
InternalDistributedMember mbr = manager.getMemberForStub(new Stub(myMemberId.getInetAddress(), 2033, 20), false);
assertTrue(mbr == null);