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]