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);