From: markt Date: Mon, 6 Sep 2010 14:39:48 +0000 (+0000) Subject: Avoid NPE when a parallel request invalidates the current session X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=619567e8e6dd0a5f94da74e6539d0bc8bb788aab;p=tomcat7.0 Avoid NPE when a parallel request invalidates the current session git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@993042 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/ha/session/DeltaManager.java b/java/org/apache/catalina/ha/session/DeltaManager.java index 949d42490..1388efdbe 100644 --- a/java/org/apache/catalina/ha/session/DeltaManager.java +++ b/java/org/apache/catalina/ha/session/DeltaManager.java @@ -1033,6 +1033,11 @@ public class DeltaManager extends ClusterManagerBase{ DeltaSession session = null; try { session = (DeltaSession) findSession(sessionId); + if (session == null) { + // A parallel request has called session.invalidate() which has + // remove the session from the Manager. + return null; + } DeltaRequest deltaRequest = session.getDeltaRequest(); session.lock(); SessionMessage msg = null; diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 80a53fb9f..4c4cbf86a 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -186,6 +186,11 @@ Add support for LAST_ACCESS_AT_START system property to DeltaSession. (kfujino) + + Avoid a NPE in the DeltaManager when a parallel request invalidates the + session before the current request has a chance to send the replication + message. (markt) +