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;