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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]