This is an automated email from the ASF dual-hosted git repository.

dschneider pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 889da89  GEODE-4675: remove checkConnected calls while notifying 
listeners (#1495)
889da89 is described below

commit 889da898b5adf1864dd61a05ab01549ae6edcaf5
Author: Darrel Schneider <[email protected]>
AuthorDate: Mon Feb 26 13:21:32 2018 -0800

    GEODE-4675: remove checkConnected calls while notifying listeners (#1495)
    
    A call of checkConnected ended up being made from 
notifyListenersMemberRemoved
    which could cause it to throw DistributedSystemDisconnectedException if
    the distributed system was being shutdown.
    So now the distribution manager is made without this check being done.
    Also change to log level from fatal to warn and improved the log message.
---
 .../distributed/internal/DistributionAdvisor.java     | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
index 4cf79b0..955342c 100644
--- 
a/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
+++ 
b/geode-core/src/main/java/org/apache/geode/distributed/internal/DistributionAdvisor.java
@@ -380,6 +380,14 @@ public class DistributionAdvisor {
     return getAdvisee().getDistributionManager();
   }
 
+  /**
+   * Like getDistributionManager but does not check
+   * that the DistributedSystem is still connected
+   */
+  private DistributionManager getDistributionManagerWithNoCheck() {
+    return getAdvisee().getSystem().getDM();
+  }
+
   public DistributionAdvisee getAdvisee() {
     return this.advisee;
   }
@@ -1210,10 +1218,9 @@ public class DistributionAdvisor {
     Iterator it = membershipListeners.keySet().iterator();
     while (it.hasNext()) {
       try {
-        ((MembershipListener) 
it.next()).memberJoined(getDistributionManager(), member);
+        ((MembershipListener) 
it.next()).memberJoined(getDistributionManagerWithNoCheck(), member);
       } catch (Exception e) {
-        logger.fatal(
-            
LocalizedMessage.create(LocalizedStrings.DistributionAdvisor_UNEXPECTED_EXCEPTION),
 e);
+        logger.warn("Ignoring exception during member joined listener 
notification", e);
       }
     }
   }
@@ -1222,10 +1229,10 @@ public class DistributionAdvisor {
     Iterator it = membershipListeners.keySet().iterator();
     while (it.hasNext()) {
       try {
-        ((MembershipListener) 
it.next()).memberDeparted(getDistributionManager(), member, crashed);
+        ((MembershipListener) 
it.next()).memberDeparted(getDistributionManagerWithNoCheck(), member,
+            crashed);
       } catch (Exception e) {
-        logger.fatal(
-            
LocalizedMessage.create(LocalizedStrings.DistributionAdvisor_UNEXPECTED_EXCEPTION),
 e);
+        logger.warn("Ignoring exception during member departed listener 
notification", e);
       }
     }
   }

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to