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/04/14 22:30:19 UTC
[09/18] incubator-geode git commit: GEODE-1216 Fix the scalability of
remove member
GEODE-1216 Fix the scalability of remove member
Enable the optimization in sendSuspectRequest so that health monitor
sends suspect requests to appropriate recipients.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/0f692f86
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/0f692f86
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/0f692f86
Branch: refs/heads/feature/GEODE-1162
Commit: 0f692f860c6db1f3368d474bfb0c6e8b916f833f
Parents: 9d20f22
Author: Jianxia Chen <jc...@pivotal.io>
Authored: Wed Apr 13 10:22:12 2016 -0700
Committer: Jianxia Chen <jc...@pivotal.io>
Committed: Wed Apr 13 10:22:12 2016 -0700
----------------------------------------------------------------------
.../membership/gms/fd/GMSHealthMonitor.java | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/0f692f86/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
index 5427d77..2d0f039 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
@@ -1331,18 +1331,15 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
// }
logger.debug("Sending suspect request for members {}", requests);
List<InternalDistributedMember> recipients;
-// TODO this needs some rethinking - we need the guys near the
-// front of the membership view who aren't preferred for coordinator
-// to see the suspect message.
-// if (v.size() > 20) {
-// HashSet<InternalDistributedMember> filter = new HashSet<InternalDistributedMember>();
-// for (int i = 0; i < requests.size(); i++) {
-// filter.add(requests.get(i).getSuspectMember());
-// }
-// recipients = currentView.getPreferredCoordinators(filter, services.getJoinLeave().getMemberID(), 5);
-// } else {
+ if (currentView.size() > 4) {
+ HashSet<InternalDistributedMember> filter = new HashSet<InternalDistributedMember>();
+ for (int i = 0; i < requests.size(); i++) {
+ filter.add(requests.get(i).getSuspectMember());
+ }
+ recipients = currentView.getPreferredCoordinators(filter, services.getJoinLeave().getMemberID(), 5);
+ } else {
recipients = currentView.getMembers();
-// }
+ }
SuspectMembersMessage smm = new SuspectMembersMessage(recipients, requests);
Set<InternalDistributedMember> failedRecipients;