You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ag...@apache.org on 2016/05/17 00:38:37 UTC

[28/50] [abbrv] incubator-geode git commit: GEODE-1327 Now parent thread process copy of unresponsive members

GEODE-1327 Now parent thread process copy of unresponsive members


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

Branch: refs/heads/feature/GEODE-1209
Commit: 31972790d6b893da3c5efa692df976b0ecdf3811
Parents: b5771a8
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Thu May 12 12:49:34 2016 -0700
Committer: Anil <ag...@pivotal.io>
Committed: Mon May 16 17:31:55 2016 -0700

----------------------------------------------------------------------
 .../internal/membership/gms/membership/GMSJoinLeave.java       | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/31972790/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 41ec1ea..e12740e 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
@@ -2191,7 +2191,11 @@ public class GMSJoinLeave implements JoinLeave, MessageHandler {
         unresponsive.removeAll(removalReqs);
         unresponsive.removeAll(leaveReqs);
         if (!unresponsive.isEmpty()) {
-          removeHealthyMembers(unresponsive);          
+          removeHealthyMembers(unresponsive);
+          synchronized (viewRequests) {
+            //now lets get copy of it in viewRequests sync, as other thread might be accessing it 
+            unresponsive = new HashSet<>(unresponsive);
+          }
         }
 
         logger.debug("unresponsive members that could not be reached: {}", unresponsive);