Author: fhanik
Date: Thu Jun 8 06:58:04 2006
New Revision: 412754
URL: http://svn.apache.org/viewvc?rev=412754&view=rev
Log:
Added constructor that creates a membership that includes the local member
Modified:
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/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=412754&r1=412753&r2=412754&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
Thu Jun 8 06:58:04 2006
@@ -210,13 +210,12 @@
protected void sendElectionMsg(MemberImpl local, MemberImpl leader,
MemberImpl[] others) throws ChannelException {
synchronized (electionMutex) {
if ( suggestedviewId != null ) return;//election already running,
I'm not allowed to have two of them
- Membership m = new Membership(local,AbsoluteOrder.comp);
- m.addMember(local);
+ Membership m = new Membership(local,AbsoluteOrder.comp,true);
Arrays.fill(m,others);
MemberImpl[] mbrs = m.getMembers();
CoordinationMessage msg = new CoordinationMessage(leader, local,
mbrs,new UniqueId(UUIDGenerator.randomUUID(true)), this.COORD_REQUEST);
suggestedviewId = msg.getId();
- suggestedView = new Membership(local);
+ suggestedView = new Membership(local,AbsoluteOrder.comp,true);
Arrays.fill(suggestedView,mbrs);
m.reset();
m = null;
@@ -249,8 +248,7 @@
protected Membership mergeOnArrive(CoordinationMessage msg, Member sender)
{
MemberImpl local = (MemberImpl)getLocalMember(false);
- Membership merged = new Membership(local,AbsoluteOrder.comp);
- merged.addMember(local);
+ Membership merged = new Membership(local,AbsoluteOrder.comp,true);
Arrays.fill(merged,msg.getMembers());
Arrays.fill(merged,getMembers());
Member[] diff = Arrays.diff(merged,membership,local);
@@ -277,8 +275,7 @@
protected void handleViewConf(CoordinationMessage msg, Member
sender,Membership merged) throws ChannelException {
//not yet complete
- this.view = new
Membership((MemberImpl)getLocalMember(false),AbsoluteOrder.comp);
- this.view.addMember((MemberImpl)getLocalMember(false));
+ this.view = new
Membership((MemberImpl)getLocalMember(false),AbsoluteOrder.comp,true);
this.viewId = msg.getId();
if ( viewId.equals(this.suggestedviewId) ) {
@@ -458,8 +455,8 @@
protected synchronized void setupMembership() {
if ( view == null || membership == null ) {
- view = new
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp);
- membership = new
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp);
+ view = new
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp,true);
+ membership = new
Membership((MemberImpl)super.getLocalMember(true),AbsoluteOrder.comp,false);
}
}
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=412754&r1=412753&r2=412754&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
Thu Jun 8 06:58:04 2006
@@ -75,15 +75,23 @@
* Constructs a new membership
* @param name - has to be the name of the local member. Used to filter
the local member from the cluster membership
*/
- public Membership(MemberImpl local) {
+ public Membership(MemberImpl local, boolean includeLocal) {
this.local = local;
+ this.addMember(local);
+ }
+
+ public Membership(MemberImpl local) {
+ this(local,false);
}
public Membership(MemberImpl local, Comparator comp) {
- this(local);
- this.memberComparator = comp;
+ this(local,comp,false);
}
+ public Membership(MemberImpl local, Comparator comp, boolean includeLocal)
{
+ this(local,includeLocal);
+ this.memberComparator = comp;
+ }
/**
* Reset the membership and start over fresh.
* Ie, delete all the members and wait for them to ping again and join
this membership
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]