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