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/05/20 16:29:36 UTC

[05/49] 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/89b91cbe
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/89b91cbe
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/89b91cbe

Branch: refs/heads/feature/GEODE-835-test
Commit: 89b91cbe51c04a8b1867a608757585c832006639
Parents: 2c2caae
Author: Hitesh Khamesra <hk...@pivotal.io>
Authored: Thu May 12 12:49:34 2016 -0700
Committer: Hitesh Khamesra <hk...@pivotal.io>
Committed: Thu May 12 12:53:40 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/89b91cbe/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);