Author: markt
Date: Thu Jan 20 18:34:18 2011
New Revision: 1061442
URL: http://svn.apache.org/viewvc?rev=1061442&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=50620
Exceptions calling session.endAccess should not prevent recycle() from
completing normally
Modified:
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
tomcat/trunk/java/org/apache/catalina/connector/Request.java
Modified:
tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties?rev=1061442&r1=1061441&r2=1061442&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/LocalStrings.properties Thu
Jan 20 18:34:18 2011
@@ -64,6 +64,7 @@ coyoteRequest.alreadyAuthenticated=This
coyoteRequest.noLoginConfig=No authentication mechanism has been configured
for this context
coyoteRequest.authenticate.ise=Cannot call authenticate() after the reponse
has been committed
coyoteRequest.uploadLocationInvalid=The temporary upload location [{0}] is not
valid
+coyoteRequest.sessionEndAccessFail=Exception triggered ending access to
session while recycling request
requestFacade.nullRequest=The request object has been recycled and is no
longer associated with this facade
Modified: tomcat/trunk/java/org/apache/catalina/connector/Request.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/Request.java?rev=1061442&r1=1061441&r2=1061442&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/Request.java (original)
+++ tomcat/trunk/java/org/apache/catalina/connector/Request.java Thu Jan 20
18:34:18 2011
@@ -75,6 +75,8 @@ import org.apache.catalina.util.Enumerat
import org.apache.catalina.util.ParameterMap;
import org.apache.catalina.util.StringParser;
import org.apache.coyote.ActionCode;
+import org.apache.juli.logging.Log;
+import org.apache.juli.logging.LogFactory;
import org.apache.tomcat.util.ExceptionUtils;
import org.apache.tomcat.util.buf.B2CConverter;
import org.apache.tomcat.util.buf.ByteChunk;
@@ -105,7 +107,8 @@ import org.apache.tomcat.util.res.String
public class Request
implements HttpServletRequest {
-
+ private static final Log log = LogFactory.getLog(Connector.class);
+
// ----------------------------------------------------------- Constructors
@@ -492,7 +495,12 @@ public class Request
cookies = null;
if (session != null) {
- session.endAccess();
+ try {
+ session.endAccess();
+ } catch (Throwable t) {
+ ExceptionUtils.handleThrowable(t);
+ log.warn(sm.getString("coyoteRequest.sessionEndAccessFail"),
t);
+ }
}
session = null;
requestedSessionCookie = false;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]