Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse McConnell2011-01-04 22:30:55 +0000
committerJesse McConnell2011-01-04 22:30:55 +0000
commita3efe35e4a64413c968b8d2dc556381ac867f204 (patch)
treea8d2d6f508808ad2d66efea90115046cdd62d629
parent68323125b6d091f3c0e389c8c04d7884645957b1 (diff)
downloadorg.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.txt1
-rw-r--r--jetty-server/src/main/java/org/eclipse/jetty/server/session/HashSessionIdManager.java9
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);
}
}

Back to the top