Author: markt Date: Fri Nov 27 19:09:42 2009 New Revision: 884960 URL: http://svn.apache.org/viewvc?rev=884960&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46384 Correct synchronisation problem that leads to cluster members permanently disappearing
Modified: tomcat/tc5.5.x/trunk/STATUS.txt tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml Modified: tomcat/tc5.5.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/STATUS.txt?rev=884960&r1=884959&r2=884960&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/STATUS.txt (original) +++ tomcat/tc5.5.x/trunk/STATUS.txt Fri Nov 27 19:09:42 2009 @@ -84,13 +84,6 @@ +1: markt -1: -* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46384 - Correct synchronisation problem that leads to cluster members permanently - disappearing - https://issues.apache.org/bugzilla/attachment.cgi?id=24253 - +1: markt, rjung, kkolinko - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=46950 Adds support for SSL renegotiation when CLIENT-CERT auth is required due to a security constraint Modified: tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java?rev=884960&r1=884959&r2=884960&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java (original) +++ tomcat/tc5.5.x/trunk/container/modules/cluster/src/share/org/apache/catalina/cluster/mcast/McastServiceImpl.java Fri Nov 27 19:09:42 2009 @@ -265,23 +265,25 @@ McastMember m = McastMember.getMember(data); if(log.isDebugEnabled()) log.debug("Mcast receive ping from member " + m); - if ( membership.memberAlive(m) ) { - if(log.isDebugEnabled()) - log.debug("Mcast add member " + m); - service.memberAdded(m); + synchronized (membershipMutex) { + if ( membership.memberAlive(m) ) { + if(log.isDebugEnabled()) + log.debug("Mcast add member " + m); + service.memberAdded(m); + } } } finally { checkExpire(); } } - protected Object expiredMutex = new Object(); + protected final Object membershipMutex = new Object(); /** * check member expire or alive */ protected void checkExpire() { - synchronized (expiredMutex) { + synchronized (membershipMutex) { McastMember[] expired = membership.expire(timeToExpiration); for ( int i=0; i<expired.length; i++) { if(log.isDebugEnabled()) Modified: tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml?rev=884960&r1=884959&r2=884960&view=diff ============================================================================== --- tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml (original) +++ tomcat/tc5.5.x/trunk/container/webapps/docs/changelog.xml Fri Nov 27 19:09:42 2009 @@ -123,6 +123,10 @@ <fix> Remove unnecessary Java5 dependencies. (markt) </fix> + <fix> + <bug>46384</bug>: Correct synchronisation issue that could lead to a + cluster member disappering permanently. (markt) + </fix> </changelog> </subsection> <subsection name="Webapps"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org