You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/06/07 23:51:38 UTC
svn commit: r412571 - in /tomcat/container/tc5.5.x/modules/groupcom: doc/
src/share/org/apache/catalina/tribes/group/interceptors/
src/share/org/apache/catalina/tribes/membership/
Author: fhanik
Date: Wed Jun 7 14:51:38 2006
New Revision: 412571
URL: http://svn.apache.org/viewvc?rev=412571&view=rev
Log:
more changes, ready to start implementing
Modified:
tomcat/container/tc5.5.x/modules/groupcom/doc/leader-election-initiate-election.dia
tomcat/container/tc5.5.x/modules/groupcom/doc/leader-election-initiate-election.jpg
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
Modified: tomcat/container/tc5.5.x/modules/groupcom/doc/leader-election-initiate-election.dia
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/doc/leader-election-initiate-election.dia?rev=412571&r1=412570&r2=412571&view=diff
==============================================================================
Binary files - no diff available.
Modified: tomcat/container/tc5.5.x/modules/groupcom/doc/leader-election-initiate-election.jpg
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/doc/leader-election-initiate-election.jpg?rev=412571&r1=412570&r2=412571&view=diff
==============================================================================
Binary files - no diff available.
Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java?rev=412571&r1=412570&r2=412571&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java (original)
+++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/group/interceptors/NonBlockingCoordinator.java Wed Jun 7 14:51:38 2006
@@ -173,7 +173,6 @@
protected Object electionMutex = new Object();
protected AtomicBoolean coordMsgReceived = new AtomicBoolean(false);
- protected AtomicInteger runningElections = new AtomicInteger(0);
public NonBlockingCoordinator() {
super();
@@ -192,7 +191,6 @@
int prio = AbsoluteOrder.comp.compare(local,others[0]);
MemberImpl leader = ( prio < 0 )?local:others[0];//am I the leader in my view?
if ( local.equals(leader) || force ) {
- runningElections.addAndGet(1);
sendElectionMsg(local,leader,others);
} else {
try {
@@ -201,7 +199,7 @@
}catch ( InterruptedException x ) {
Thread.currentThread().interrupted();
}
- if ( runningElections.get() == 0 && suggestedviewId == null && (!coordMsgReceived.get())) {
+ if ( suggestedviewId == null && (!coordMsgReceived.get())) {
//no message arrived, send the coord msg
startElection(true);
}
@@ -220,7 +218,8 @@
suggestedviewId = msg.getId();
suggestedView = new Membership(local);
Arrays.fill(suggestedView,mbrs);
-
+ m.reset();
+ m = null;
super.sendMessage(new Member[] {others[0]}, createData(msg, local), null);
}
}
@@ -251,6 +250,7 @@
protected Membership mergeOnArrive(CoordinationMessage msg, Member sender) {
MemberImpl local = (MemberImpl)getLocalMember(false);
Membership merged = new Membership(local,AbsoluteOrder.comp);
+ merged.addMember(local);
Arrays.fill(merged,msg.getMembers());
Arrays.fill(merged,getMembers());
Member[] diff = Arrays.diff(merged,membership,local);
@@ -284,7 +284,6 @@
if ( viewId.equals(this.suggestedviewId) ) {
this.suggestedView = null;
this.suggestedviewId = null;
- this.runningElections.addAndGet(-1);
}
this.viewChange(viewId,view.getMembers());
if ( suggestedviewId == null && hasHigherPriority(merged.getMembers(),membership.getMembers()) ) {
Modified: tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java?rev=412571&r1=412570&r2=412571&view=diff
==============================================================================
--- tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java (original)
+++ tomcat/container/tc5.5.x/modules/groupcom/src/share/org/apache/catalina/tribes/membership/Membership.java Wed Jun 7 14:51:38 2006
@@ -221,6 +221,10 @@
return null;
}
}
+
+ public boolean contains(Member mbr) {
+ return getMember(mbr)!=null;
+ }
/**
* Returning a list of all the members in the membership
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org