bz http://issues.apache.org/bugzilla/show_bug.cgi?id=43435
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 21 Sep 2007 18:26:31 +0000 (18:26 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Fri, 21 Sep 2007 18:26:31 +0000 (18:26 +0000)
git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@578218 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/tribes/tipis/AbstractReplicatedMap.java
webapps/docs/changelog.xml

index f6acac5..0ef1d0c 100644 (file)
@@ -713,6 +713,10 @@ public abstract class AbstractReplicatedMap extends ConcurrentHashMap implements
         boolean removed = false;
         synchronized (mapMembers) {
             removed = (mapMembers.remove(member) != null );
+            if (!removed) {
+                if (log.isDebugEnabled()) log.debug("Member["+member+"] disappeared, but was not present in the map.");
+                return; //the member was not part of our map.
+            }
         }
         
         Iterator i = super.entrySet().iterator();
index 97b6eb6..0230159 100644 (file)
@@ -36,6 +36,9 @@
   <subsection name="Catalina">
     <changelog>
       <fix>
+        <bug>43435</bug>: Don't iterate and relocate sessions if they are not part of the map.
+      </fix>
+      <fix>
         <bug>43356</bug>: Keystore parameter is relative to CATALINA_BASE,
         Truststore is either defined as parameter, javax.net.ssl.trustStore or if empty
         defaults to the keystore.