Author: markt
Date: Mon Sep  2 11:15:01 2013
New Revision: 1519392

URL: http://svn.apache.org/r1519392
Log:
Fix Gump failure (hopefully)
Move the log failure to the adapter so that the logging occurs before the 
request and response are recycled. This should improve the information that 
appears in the logs.
The failure was caused because Gump runs with access logs enabled so when the 
failure occurred the context had been set to null. This meant the the default 
access logging kicked in which found the standard host level log and logged the 
issue there rather than in the context level TesterAccessLog.

Modified:
    tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java

Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=1519392&r1=1519391&r2=1519392&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Mon Sep  
2 11:15:01 2013
@@ -439,6 +439,14 @@ public class CoyoteAdapter implements Ad
             success = false;
             log.error(sm.getString("coyoteAdapter.asyncDispatch"), t);
         } finally {
+            if (!success) {
+                res.setStatus(500);
+                long time = 0;
+                if (req.getStartTime() != -1) {
+                    time = System.currentTimeMillis() - req.getStartTime();
+                }
+                log(req, res, time);
+            }
             req.getRequestProcessor().setWorkerThreadName(null);
             // Recycle the wrapper request and response
             if (!success || (!comet && !request.isAsync())) {

Modified: tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java?rev=1519392&r1=1519391&r2=1519392&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/ajp/AbstractAjpProcessor.java Mon Sep  
2 11:15:01 2013
@@ -554,12 +554,6 @@ public abstract class AbstractAjpProcess
             ExceptionUtils.handleThrowable(t);
             getLog().error(sm.getString("http11processor.request.process"), t);
             error = true;
-        } finally {
-            if (error) {
-                // 500 - Internal Server Error
-                response.setStatus(500);
-                getAdapter().log(request, response, 0);
-            }
         }
 
         rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java?rev=1519392&r1=1519391&r2=1519392&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Mon 
Sep  2 11:15:01 2013
@@ -1604,16 +1604,6 @@ public abstract class AbstractHttp11Proc
             ExceptionUtils.handleThrowable(t);
             getLog().error(sm.getString("http11processor.request.process"), t);
             error = true;
-        } finally {
-            if (error) {
-                // 500 - Internal Server Error
-                response.setStatus(500);
-                long time = 0;
-                if (request.getStartTime() != -1) {
-                    time = System.currentTimeMillis() - request.getStartTime();
-                }
-                getAdapter().log(request, response, time);
-            }
         }
 
         rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to