Author: remm
Date: Wed Nov 29 04:59:22 2006
New Revision: 480558

URL: http://svn.apache.org/viewvc?view=rev&rev=480558
Log:
- Port back my fixes to this patch.
- Correctly pass keepalive value to AprEndpoint.
- Sendfile should use soTimeout (it's a request, not a keepalive).
- Comet poller is also a request in progress so use soTimeout too (most likely 
it would need its own timeout value).
- I will adjust the defaults further, as for example I think keepALiveTimeout 
should default to soTimeout if not set
  (ie, if it's -1).
Modified:
    
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java
    tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/Constants.java
    tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Constants.java
    tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
    tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
    tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java?view=diff&rev=480558&r1=480557&r2=480558
==============================================================================
--- 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java 
(original)
+++ 
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/ApplicationFilterChain.java 
Wed Nov 29 04:59:22 2006
@@ -529,6 +529,9 @@
      */
     void release() {
 
+        for (int i = 0; i < n; i++) {
+            filters[i] = null;
+        }
         n = 0;
         pos = 0;
         servlet = null;

Modified: tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/Constants.java?view=diff&rev=480558&r1=480557&r2=480558
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/Constants.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/coyote/ajp/Constants.java Wed Nov 29 
04:59:22 2006
@@ -42,7 +42,7 @@
     public static final int DEFAULT_CONNECTION_LINGER = -1;
     public static final int DEFAULT_CONNECTION_TIMEOUT = -1;
     public static final int DEFAULT_CONNECTION_UPLOAD_TIMEOUT = 300000;
-    public static final int DEFAULT_KEEPALIVE_TIMEOUT = 15000;
+    public static final int DEFAULT_KEEPALIVE_TIMEOUT = -1;
     public static final int DEFAULT_SERVER_SOCKET_TIMEOUT = 0;
     public static final boolean DEFAULT_TCP_NO_DELAY = true;
 

Modified: tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Constants.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Constants.java?view=diff&rev=480558&r1=480557&r2=480558
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Constants.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Constants.java Wed Nov 
29 04:59:22 2006
@@ -39,7 +39,7 @@
     public static final int DEFAULT_CONNECTION_LINGER = -1;
     public static final int DEFAULT_CONNECTION_TIMEOUT = 60000;
     public static final int DEFAULT_CONNECTION_UPLOAD_TIMEOUT = 300000;
-    public static final int DEFAULT_KEEPALIVE_TIMEOUT = 15000;
+    public static final int DEFAULT_KEEPALIVE_TIMEOUT = 60000;
     public static final int DEFAULT_SERVER_SOCKET_TIMEOUT = 0;
     public static final boolean DEFAULT_TCP_NO_DELAY = true;
     

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?view=diff&rev=480558&r1=480557&r2=480558
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java 
Wed Nov 29 04:59:22 2006
@@ -209,12 +209,6 @@
      */
     protected int maxKeepAliveRequests = -1;
 
-    /**
-     * The number of seconds Tomcat will wait for a subsequent request
-     * before closing the connection.
-     */
-    protected int keepAliveTimeout = 15000;
-
 
     /**
      * SSL enabled ?
@@ -708,20 +702,6 @@
      */
     public int getTimeout() {
         return timeout;
-    }
-
-    /**                                           
-     * Set the Keep-Alive timeout.
-     */
-    public void setKeepAliveTimeout(int timeout) {
-        keepAliveTimeout = timeout;
-    }
-
-    /**
-     * Return the number Keep-Alive timeout.
-     */
-    public int getKeepAliveTimeout() {
-        return keepAliveTimeout;
     }
 
     /**

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?view=diff&rev=480558&r1=480557&r2=480558
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java 
Wed Nov 29 04:59:22 2006
@@ -202,7 +202,6 @@
     private int socketBuffer = 9000;
     private Adapter adapter;
     private Http11ConnectionHandler cHandler;
-    private int keepAliveTimeout = 15000; // 15 seconds as in Apache HTTPD 
server
 
     /**
      * Compression value.
@@ -467,17 +466,14 @@
                                                                                
 
     /**
      * The number of seconds Tomcat will wait for a subsequent request
-     * before closing the connection. The default is the same as for
-     * Apache HTTP Server (15 000 milliseconds).
+     * before closing the connection.
      */
-    public int getKeepAliveTimeout() 
-    {
-        return keepAliveTimeout; 
+    public int getKeepAliveTimeout() {
+        return ep.getKeepAliveTimeout(); 
     }
 
-    public void setKeepAliveTimeout(int timeout)
-    {
-        keepAliveTimeout = timeout;
+    public void setKeepAliveTimeout(int timeout) {
+        ep.setKeepAliveTimeout(timeout);
     }
 
     /**

Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?view=diff&rev=480558&r1=480557&r2=480558
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed 
Nov 29 04:59:22 2006
@@ -260,16 +260,9 @@
     /**
      * Keep-Alive timeout.
      */
-    protected int keepAliveTimeout = 15000;
-    public int getKeepAliveTimeout()
-    {
-        return keepAliveTimeout;
-    }
-
-    public void setKeepAliveTimeout(int timeout)
-    {
-        keepAliveTimeout = timeout;
-    }
+    protected int keepAliveTimeout = -1;
+    public int getKeepAliveTimeout() { return keepAliveTimeout; }
+    public void setKeepAliveTimeout(int keepAliveTimeout) { 
this.keepAliveTimeout = keepAliveTimeout; }
 
 
     /**
@@ -1162,7 +1155,7 @@
             if (comet) {
                 // FIXME: Find an appropriate timeout value, for now, "longer 
than usual"
                 // semms appropriate
-                timeout = keepAliveTimeout * 50;
+                timeout = soTimeout * 50;
             }
             serverPollset = allocatePoller(size, pool, timeout);
             if (serverPollset == 0 && size > 1024) {
@@ -1576,14 +1569,14 @@
         protected void init() {
             pool = Pool.create(serverSockPool);
             int size = sendfileSize / sendfileThreadCount;
-            sendfilePollset = allocatePoller(size, pool, keepAliveTimeout);
+            sendfilePollset = allocatePoller(size, pool, soTimeout);
             if (sendfilePollset == 0 && size > 1024) {
                 size = 1024;
-                sendfilePollset = allocatePoller(size, pool, keepAliveTimeout);
+                sendfilePollset = allocatePoller(size, pool, soTimeout);
             }
             if (sendfilePollset == 0) {
                 size = 62;
-                sendfilePollset = allocatePoller(size, pool, keepAliveTimeout);
+                sendfilePollset = allocatePoller(size, pool, soTimeout);
             }
             desc = new long[size * 2];
             sendfileData = new HashMap<Long, SendfileData>(size);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to