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