Author: fhanik
Date: Tue May 2 16:51:02 2006
New Revision: 399092
URL: http://svn.apache.org/viewcvs?rev=399092&view=rev
Log:
More coding, still need to complete the heartbeat() to make sure there isn't a
leak
Modified:
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
Modified:
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
URL:
http://svn.apache.org/viewcvs/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java?rev=399092&r1=399091&r2=399092&view=diff
==============================================================================
---
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
(original)
+++
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/TcpFailureDetector.java
Tue May 2 16:51:02 2006
@@ -94,8 +94,10 @@
public synchronized void memberAdded(Member member) {
if ( membership == null ) setupMembership();
- if ( suspect.containsKey(member) ) suspect.remove(member);
- else {
+ if ( suspect.containsKey(member) ) {
+ //previously marked suspect, system below picked up the member
again
+ suspect.remove(member);
+ } else {
//not correct, this could make the membership out of sync
membership.addMember((MemberImpl)member);
super.memberAdded(member);
@@ -110,11 +112,15 @@
//not correct, we need to maintain the map
membership.removeMember((MemberImpl)member);
super.memberDisappeared(member);
- } else suspect.put(member,new Long(System.currentTimeMillis()));
+ } else {
+ //add the member as suspect
+ suspect.put(member, new Long(System.currentTimeMillis()));
+ }
}
public boolean hasMembers() {
- return super.hasMembers();
+ if ( membership == null ) setupMembership();
+ return membership.hasMembers();
}
public Member[] getMembers() {
@@ -123,7 +129,8 @@
}
public Member getMember(Member mbr) {
- return super.getMember(mbr);
+ if ( membership == null ) setupMembership();
+ return membership.getMember(mbr);
}
public Member getLocalMember(boolean incAlive) {
@@ -133,7 +140,6 @@
public void heartbeat() {
//todo, implement an expiration of members that we deemed alive
//check them again and act accordingly
-
super.heartbeat();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]