diff options
author | Jesse McConnell | 2011-01-04 22:30:55 +0000 |
---|---|---|
committer | Jesse McConnell | 2011-01-04 22:30:55 +0000 |
commit | a3efe35e4a64413c968b8d2dc556381ac867f204 (patch) | |
tree | a8d2d6f508808ad2d66efea90115046cdd62d629 | |
parent | 68323125b6d091f3c0e389c8c04d7884645957b1 (diff) | |
download | org.eclipse.jetty.project-a3efe35e4a64413c968b8d2dc556381ac867f204.tar.gz org.eclipse.jetty.project-a3efe35e4a64413c968b8d2dc556381ac867f204.tar.xz org.eclipse.jetty.project-a3efe35e4a64413c968b8d2dc556381ac867f204.zip |
Bug 332799 fix for 100% cpu issue on session invalidation after a hot deploy
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2626 7e9141cc-0065-0410-87d8-b60c137991c4
-rw-r--r-- | VERSION.txt | 1 | ||||
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionIdManager.java | 9 |
2 files changed, 7 insertions, 3 deletions
diff --git a/VERSION.txt b/VERSION.txt index 80ca8b0c6d..2c08cb3520 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 830cbfc7c5..648f149035 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); } } |