Author: markt
Date: Thu Feb 14 10:40:44 2013
New Revision: 1446108

URL: http://svn.apache.org/r1446108
Log:
Ensure request start time for HTTO NIO connector is measured correctly.

Modified:
    tomcat/trunk/java/org/apache/coyote/Request.java
    tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/Request.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Request.java?rev=1446108&r1=1446107&r2=1446108&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Request.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Request.java Thu Feb 14 10:40:44 2013
@@ -539,6 +539,8 @@ public final class Request {
 
         blocking = true;
         listener = null;
+
+        startTime = -1;
     }
 
     // -------------------- Info  --------------------

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=1446108&r1=1446107&r2=1446108&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/AbstractHttp11Processor.java Thu 
Feb 14 10:40:44 2013
@@ -899,7 +899,12 @@ public abstract class AbstractHttp11Proc
                     response.setStatus(503);
                     error = true;
                 } else {
-                    request.setStartTime(System.currentTimeMillis());
+                    // Make sure that connectors that are non-blocking during
+                    // header processing (NIO) only set the start time the 
first
+                    // time a request is processed.
+                    if (request.getStartTime() < 0) {
+                        request.setStartTime(System.currentTimeMillis());
+                    }
                     keptAlive = true;
                     // Set this every time in case limit has been changed via 
JMX
                     
request.getMimeHeaders().setLimit(endpoint.getMaxHeaderCount());



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

Reply via email to