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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to