You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by kf...@apache.org on 2015/10/21 07:51:46 UTC
svn commit: r1709721 - in /tomcat/tc8.0.x/trunk:
java/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
webapps/docs/changelog.xml
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org