james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject [jira] Created: (JAMES-283) James should use default backLog value when creating a ServerSocket
Date Wed, 12 May 2004 15:08:56 GMT
Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
View the issue:
  http://issues.apache.org/jira/browse/JAMES-283

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: JAMES-283
    Summary: James should use default backLog value when creating a ServerSocket
       Type: Improvement

     Status: Unassigned
   Priority: Major

    Project: James
 Components: 
             James Core
   Versions:
             2.2.0RC3

   Assignee: 
   Reporter: Hes Siemelink

    Created: Wed, 12 May 2004 8:08 AM
    Updated: Wed, 12 May 2004 8:08 AM

Description:
We have a test where we send 100 messages simultaneously. James does not handle this well.
With a standard setup 40-70 messages are NOT handled. After tweaking the config file (allocating
more threads and connections) still 10-30 messages are not picked up.

We discovered that James specifies a very tight 'backLog' value when creating a ServerSocket.
This happens in org.apache.james.core.AbstractJamesService.initialize() on line 302:

  ServerSocket serverSocket = factory.createServerSocket(port, 5, bindTo);

(Sorry no time to do a proper diff)

We suppose that eventually a java.net.ServerSocket is created with this value. According to
the javadoc of ServerSocket, the default value is 50. This can be specified by setting the
backLog parameter to 0. See http://java.sun.com/j2se/1.4.2/docs/api/java/net/ServerSocket.html

We changed the above line in AbstractJamesService to

  ServerSocket serverSocket = factory.createServerSocket(port, 0, bindTo);

With this fix all 100 messages are accepted (on Windows 2000 Server).

We advise that James uses the default value for the backLog parameter. If there is a special
reason why the default value should be 5, please make it a parameter we can specify in the
config file.

Thanks

    Hes.



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message