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 {