You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/02/08 17:55:20 UTC
cvs commit: jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5 Constants.java CoyoteConnector.java
remm 2003/02/08 08:55:20
Modified: coyote/src/java/org/apache/coyote/tomcat5 Constants.java
CoyoteConnector.java
Log:
- I just found that lingering could be causing some problems with some clients,
and cause a delay when closing a socket (causing too many processing threads
to be allocated). I found the issue when testing TC with M$ stress tool, which
caused TC to run out of threads, with all threads busy waiting to close their
socket while the test was in progress. After the test, everything returned to normal,
though.
- The default is now not to set lingering to false (the default for a socket).
- The setting is now configurable in the connector.
Revision Changes Path
1.5 +1 -0 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/Constants.java
Index: Constants.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/Constants.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- Constants.java 3 Dec 2002 02:29:14 -0000 1.4
+++ Constants.java 8 Feb 2003 16:55:20 -0000 1.5
@@ -70,6 +70,7 @@
public static final String Package = "org.apache.coyote.tomcat5";
+ public static final int DEFAULT_CONNECTION_LINGER = -1;
public static final int DEFAULT_CONNECTION_TIMEOUT = 60000;
public static final int PROCESSOR_IDLE = 0;
1.13 +32 -1 jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteConnector.java
Index: CoyoteConnector.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-connectors/coyote/src/java/org/apache/coyote/tomcat5/CoyoteConnector.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- CoyoteConnector.java 29 Jan 2003 16:39:11 -0000 1.12
+++ CoyoteConnector.java 8 Feb 2003 16:55:20 -0000 1.13
@@ -202,6 +202,13 @@
/**
+ * Linger value on the incoming connection.
+ * Note : a value inferior to 0 means no linger.
+ */
+ private int connectionLinger = Constants.DEFAULT_CONNECTION_LINGER;
+
+
+ /**
* Timeout value on the incoming connection.
* Note : a value of 0 means no timeout.
*/
@@ -390,6 +397,28 @@
/**
+ * Return the connection linger for this Connector.
+ */
+ public int getConnectionLinger() {
+
+ return (connectionLinger);
+
+ }
+
+
+ /**
+ * Set the connection linger for this Connector.
+ *
+ * @param count The new connection linge
+ */
+ public void setConnectionLinger(int connectionLinger) {
+
+ this.connectionLinger = connectionLinger;
+
+ }
+
+
+ /**
* Return the connection timeout for this Connector.
*/
public int getConnectionTimeout() {
@@ -1053,6 +1082,8 @@
"" + acceptCount);
IntrospectionUtils.setProperty(protocolHandler, "tcpNoDelay",
"" + tcpNoDelay);
+ IntrospectionUtils.setProperty(protocolHandler, "soLinger",
+ "" + connectionLinger);
IntrospectionUtils.setProperty(protocolHandler, "soTimeout",
"" + connectionTimeout);
IntrospectionUtils.setProperty(protocolHandler, "timeout",
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org