diff --git a/VERSION.txt b/VERSION.txt index 80ca8b0c6de..2c08cb35200 100644 --- a/VERSION.txt +++ b/VERSION.txt @@ -1,6 +1,7 @@ jetty-7.3.0-SNAPSHOT + 333247 fix api compat issue in ConstraintSecurityHandler + + 332799 100% CPU on redeploy session invalidation + 332432 Scanner.java now always scanning the canonical form of File + 332179 Fixed formatting of negative dates + 332703 Cleanup context scope JNDI at stop diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionIdManager.java b/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionIdManager.java index 830cbfc7c5c..648f149035a 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionIdManager.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionIdManager.java @@ -127,15 +127,18 @@ public class HashSessionIdManager extends AbstractSessionIdManager */ public void invalidateAll(String id) { - // Do not use interators as this method tends to be called recursively + // Do not use iterators as this method tends to be called recursively // by the invalidate calls. while (_sessions.containsKey(id)) { Session session=(Session)_sessions.getValue(id,0); + if (session.isValid()) + { session.invalidate(); - else - _sessions.removeValue(id,session); + } + + _sessions.removeValue(id,session); } }