Author: kfujino Date: Wed Oct 21 05:51:46 2015 New Revision: 1709721 URL: http://svn.apache.org/viewvc?rev=1709721&view=rev Log: Distinguish the handling of the shutdown payload and member verification clearly. When handling shutdown payload, verification completion message is not required.
Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?rev=1709721&r1=1709720&r2=1709721&view=diff ============================================================================== --- tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java (original) +++ tomcat/tc8.0.x/trunk/java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java Wed Oct 21 05:51:46 2015 @@ -144,40 +144,49 @@ public class TcpFailureDetector extends @Override public void memberDisappeared(Member member) { if ( membership == null ) setupMembership(); - boolean notify = false; boolean shutdown = Arrays.equals(member.getCommand(),Member.SHUTDOWN_PAYLOAD); - if ( !shutdown ) - if(log.isInfoEnabled()) - log.info(sm.getString("tcpFailureDetector.memberDisappeared.verify", member)); - synchronized (membership) { - if (!membership.contains(member)) { - if(log.isInfoEnabled()) - log.info(sm.getString("tcpFailureDetector.already.disappeared", member)); - return; - } - //check to see if the member really is gone - //if the payload is not a shutdown message - if (shutdown || !memberAlive(member)) { - //not correct, we need to maintain the map + if (shutdown) { + synchronized (membership) { + if (!membership.contains(member)) return; membership.removeMember(member); removeSuspects.remove(member); if (member instanceof StaticMember) { addSuspects.put(member, Long.valueOf(System.currentTimeMillis())); } - notify = true; - } else { - //add the member as suspect - removeSuspects.put(member, Long.valueOf(System.currentTimeMillis())); } - } - if ( notify ) { - if(log.isInfoEnabled()) - log.info(sm.getString("tcpFailureDetector.member.disappeared", member)); super.memberDisappeared(member); } else { + boolean notify = false; if(log.isInfoEnabled()) - log.info(sm.getString("tcpFailureDetector.still.alive", member)); - + log.info(sm.getString("tcpFailureDetector.memberDisappeared.verify", member)); + synchronized (membership) { + if (!membership.contains(member)) { + if(log.isInfoEnabled()) + log.info(sm.getString("tcpFailureDetector.already.disappeared", member)); + return; + } + //check to see if the member really is gone + if (!memberAlive(member)) { + //not correct, we need to maintain the map + membership.removeMember(member); + removeSuspects.remove(member); + if (member instanceof StaticMember) { + addSuspects.put(member, Long.valueOf(System.currentTimeMillis())); + } + notify = true; + } else { + //add the member as suspect + removeSuspects.put(member, Long.valueOf(System.currentTimeMillis())); + } + } + if ( notify ) { + if(log.isInfoEnabled()) + log.info(sm.getString("tcpFailureDetector.member.disappeared", member)); + super.memberDisappeared(member); + } else { + if(log.isInfoEnabled()) + log.info(sm.getString("tcpFailureDetector.still.alive", member)); + } } } Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1709721&r1=1709720&r2=1709721&view=diff ============================================================================== --- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Wed Oct 21 05:51:46 2015 @@ -53,6 +53,15 @@ </fix> </changelog> </subsection> + <subsection name="Tribes"> + <changelog> + <scode> + Distinguish the handling of the shutdown payload and member verification + clearly. When handling shutdown payload, verification completion message + is not required. (kfujino) + </scode> + </changelog> + </subsection> <subsection name="jdbc-pool"> <changelog> <fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org