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/03/29 21:22:45 UTC
[04/50] [abbrv] incubator-geode git commit: GEODE-1127: uncaught
exception in GMSHealthMonitor causes CI test failures
GEODE-1127: uncaught exception in GMSHealthMonitor causes CI test failures
Added exception handling in a couple of places so the last-chance exception
handler doesn't see DistributedSystemDisconnectedException and other
CancelExceptions and log them.
Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/0e3a60b7
Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/0e3a60b7
Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/0e3a60b7
Branch: refs/heads/feature/GEODE-693
Commit: 0e3a60b7d660b9e27d8bc2767ef036f500a7a841
Parents: 10b6bef
Author: Bruce Schuchardt <bs...@pivotal.io>
Authored: Mon Mar 28 13:27:34 2016 -0700
Committer: Bruce Schuchardt <bs...@pivotal.io>
Committed: Mon Mar 28 13:28:40 2016 -0700
----------------------------------------------------------------------
.../internal/membership/gms/fd/GMSHealthMonitor.java | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/0e3a60b7/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
----------------------------------------------------------------------
diff --git a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
index 82eb0b0..510c5a8 100755
--- a/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
+++ b/geode-core/src/main/java/com/gemstone/gemfire/distributed/internal/membership/gms/fd/GMSHealthMonitor.java
@@ -406,7 +406,14 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
@Override
public void run() {
// TODO GemFire used the tcp/ip connection but this is using heartbeats
- boolean pinged = GMSHealthMonitor.this.doCheckMember(mbr, true);
+
+ boolean pinged = false;
+ try {
+ pinged = GMSHealthMonitor.this.doCheckMember(mbr, true);
+ } catch (CancelException e) {
+ return;
+ }
+
if (!pinged) {
suspectedMemberInView.put(mbr, currentView);
String reason = "Member isn't responding to heartbeat requests";
@@ -1221,6 +1228,8 @@ public class GMSHealthMonitor implements HealthMonitor, MessageHandler {
reason);
} catch (DistributedSystemDisconnectedException e) {
return;
+ } catch (CancelException e) {
+ // shutting down
} catch (Exception e) {
logger.info("Unexpected exception while verifying member", e);
} finally {