Hi All,

We have rolled out James 2.3.2 to production for our email processing
application. I see that James is no longed accepting connetions after few
days of run. It processes around 100K email a day and sends a good amount
of Notification emails through RemoveDelivery.  James is running on a 4 CPU
machine with 8GB RAM. Heapsize of James is set to 4GB with Openjdk 1.7.

INITIALLY WE THOUGHT  the server was getting killed/terminated. As per the
latest information, server is not killed.. Our support team used to restart
the server when we get "Connection Refused" error from port 25..We have a
monitoring tool which Connects to James server every few seconds, and issue
a QUIT command... This monitoring tool is getting Connection Refused error.
Hence the team thought the server is down and followed the routine Stop,
Start commands...

I have the following configurations in various places in the config.xml. I
have INFO logging enabled. I couldnt find any WARN messages about
connections.

SMTP Server (the only process enabled):
<connectiontimeout>360000</connectiontimeout>

Spool Manager: <threads> 10 </threads>

Connections Manager

    <connections>
      <idle-timeout>300000</idle-timeout>
      <max-connections>30</max-connections>
   </connections>

Thread Manager

   <thread-manager>
      <thread-group>
         <name>default</name>
         <priority>5</priority>
         <is-daemon>false</is-daemon>
         <max-threads>100</max-threads>
         <min-threads>20</min-threads>
         <min-spare-threads>20</min-spare-threads>
      </thread-group>
   </thread-manager>

The total number of threads (spool+remotedelivery etc ) are under very much
under 100. We don't have any DB configuration in config.xml as well. Do you
think the timeout values might cause the connection refused errors ?.
Especially the idle-timeout ? Isn't 5 minutes too high ? If say 30 clients
are taking few minutes, this will be more than enough to raise an alert
from the monitoring tool...even if all the connections are being used, it
should be release after the processing done right ? Is there any chance of
the connections not being released and going back to the pool ? Please
provide your comments..

Thanks
Mahesh

Reply via email to