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]