Message:

   The following issue has been closed.

---------------------------------------------------------------------
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: Closed
   Priority: Major
 Resolution: FIXED

    Project: James
 Components: 
             James Core
   Fix Fors:
             2.2.0RC4
   Versions:
             2.2.0RC3

   Assignee: Noel J. Bergman
   Reporter: Hes Siemelink

    Created: Wed, 12 May 2004 8:08 AM
    Updated: Fri, 21 May 2004 10:12 PM

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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to