You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by bs...@apache.org on 2015/11/05 21:35:53 UTC
[16/50] [abbrv] incubator-geode git commit: GEODE-411: fix suspect
string on disconnect
GEODE-411: fix suspect string on disconnect
DistributionManager now has a isCloseInProgress method
that checks both the volatile closeInProgress boolean
and ask its DistributedSystem if it is disconnecting.
This new method is used in places that decide if a warning
should be logged.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/5f603b64
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/5f603b64
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/5f603b64
Branch: refs/heads/feature/GEODE-77
Commit: 5f603b64f7ba759ca025eb5890f5d2c83d4f3d09
Parents: 6116054
Author: Darrel Schneider <ds...@pivotal.io>
Authored: Tue Oct 27 16:26:59 2015 -0700
Committer: Darrel Schneider <ds...@pivotal.io>
Committed: Wed Oct 28 09:54:28 2015 -0700
----------------------------------------------------------------------
.../internal/DistributionManager.java | 42 +++++++++++++-------
1 file changed, 28 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/5f603b64/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
----------------------------------------------------------------------
diff --git a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
index 37f355f..f32f408 100644
--- a/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
+++ b/gemfire-core/src/main/java/com/gemstone/gemfire/distributed/internal/DistributionManager.java
@@ -718,7 +718,7 @@ public class DistributionManager
// error condition, so you also need to check to see if the JVM
// is still usable:
SystemFailure.checkFailure();
- if (closeInProgress) {
+ if (isCloseInProgress()) {
logger.debug("Caught unusual exception during shutdown: {}", t.getMessage(), t);
}
else {
@@ -2486,7 +2486,7 @@ public class DistributionManager
try {
listener.memberJoined(id);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2503,7 +2503,7 @@ public class DistributionManager
try {
listener.memberJoined(id);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2515,6 +2515,20 @@ public class DistributionManager
}
}
}
+ /**
+ * Returns true if this DM or the DistributedSystem owned by
+ * it is closing or is closed.
+ */
+ private boolean isCloseInProgress() {
+ if (closeInProgress) {
+ return true;
+ }
+ InternalDistributedSystem ds = getSystem();
+ if (ds != null && ds.isDisconnecting()) {
+ return true;
+ }
+ return false;
+ }
private void handleCrashEvent(MemberCrashedEvent ev) {
InternalDistributedMember id = ev.getId();
for (Iterator iter = membershipListeners.keySet().iterator();
@@ -2523,7 +2537,7 @@ public class DistributionManager
try {
listener.memberDeparted(id, true/*crashed*/);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2540,7 +2554,7 @@ public class DistributionManager
try {
listener.memberDeparted(id, true/*crashed*/);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2562,7 +2576,7 @@ public class DistributionManager
try {
listener.memberDeparted(id, false);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2579,7 +2593,7 @@ public class DistributionManager
try {
listener.memberDeparted(id, false);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2600,7 +2614,7 @@ public class DistributionManager
try {
listener.memberSuspect(id, whoSuspected);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2617,7 +2631,7 @@ public class DistributionManager
try {
listener.memberSuspect(id, whoSuspected);
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2644,7 +2658,7 @@ public class DistributionManager
try {
listener.quorumLost(ev.getFailures(), ev.getRemaining());
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2661,7 +2675,7 @@ public class DistributionManager
try {
listener.quorumLost(ev.getFailures(), ev.getRemaining());
} catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -2764,7 +2778,7 @@ public class DistributionManager
handleMemberEvent(ev);
}
catch (InterruptedException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: InterruptedException during shutdown");
}
@@ -2778,7 +2792,7 @@ public class DistributionManager
break;
}
catch (CancelException e) {
- if (closeInProgress) {
+ if (isCloseInProgress()) {
if (logger.isTraceEnabled()) {
logger.trace("MemberEventInvoker: cancelled");
}
@@ -3613,7 +3627,7 @@ public class DistributionManager
this.stats.incNodes(-1);
}
StringId msg;
- if (crashed && ! this.closeInProgress) {
+ if (crashed && ! isCloseInProgress()) {
msg = LocalizedStrings.DistributionManager_MEMBER_AT_0_UNEXPECTEDLY_LEFT_THE_DISTRIBUTED_CACHE_1;
addMemberEvent(new MemberCrashedEvent(theId, reason));
} else {