It all started with this error in the spoolmanager log:
17/12/04 14:02:06 ERROR spoolmanager: Exception in processor <transport>
javax.mail.MessagingException: Exception caught while storing mail Container: java.io.IOException: java.sql.SQLException: Giving up... no connections available.
at org.apache.james.mailrepository.JDBCMailRepository.store(JDBCMailRepository.java:764)
at org.apache.james.mailrepository.JDBCSpoolRepository.store(JDBCSpoolRepository.java:238)
at org.apache.james.transport.LinearProcessor.service(LinearProcessor.java:438)
at org.apache.james.transport.JamesSpoolManager.process(JamesSpoolManager.java:451)
at org.apache.james.transport.JamesSpoolManager.run(JamesSpoolManager.java:360)
at java.lang.Thread.run(Thread.java:534)
17/12/04 14:02:06 ERROR spoolmanager: An error occurred processing Mail1103309206722-118542 through transport
17/12/04 14:02:06 ERROR spoolmanager: Result was ghost
No connections available, eh? What is wrong with these settings:
...
<data-source name="maildb"
class="org.apache.james.util.mordred.JdbcDataSource">
<driver>org.gjt.mm.mysql.Driver</driver>
<dburl>jdbc:mysql://newco-prod-db/mail?autoReconnect=true</dburl>
<user>xxxxxxx</user>
<password>xxxxxxx</password>
<max>100</max>
</data-source>
<data-source name="newcodb"
class="org.apache.james.util.mordred.JdbcDataSource">
<driver>org.gjt.mm.mysql.Driver</driver>
<dburl>jdbc:mysql://newco-prod-db/newco?autoReconnect=true</dburl>
<user>xxxxxxx</user>
<password>xxxxxxx</password>
<max>100</max>
</data-source>...
<connections>
<idle-timeout>300000</idle-timeout>
<max-connections>100</max-connections>
</connections>...
<thread-manager>
<thread-group>
<name>default</name>
<priority>8</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>And here is this:
mysql> select count(*), message_state from spool group by message_state; +----------+---------------+ | count(*) | message_state | +----------+---------------+ | 41 | error | | 5903 | root | | 99 | spam | | 32 | transport | +----------+---------------+ 4 rows in set (0.55 sec)
... 2 minutes pass ....
mysql> select count(*), message_state from spool group by message_state; +----------+---------------+ | count(*) | message_state | +----------+---------------+ | 41 | error | | 5903 | root | | 99 | spam | | 32 | transport | +----------+---------------+ 4 rows in set (0.58 sec)
... 10 minutes pass ....
mysql> select count(*), message_state from spool group by message_state; +----------+---------------+ | count(*) | message_state | +----------+---------------+ | 41 | error | | 5889 | root | | 99 | spam | | 59 | transport | +----------+---------------+ 4 rows in set (0.56 sec)
... 1 minute passes ...
mysql> select count(*), message_state from spool group by message_state; +----------+---------------+ | count(*) | message_state | +----------+---------------+ | 41 | error | | 5889 | root | | 99 | spam | | 60 | transport | +----------+---------------+ 4 rows in set (0.56 sec)
... 3 minutes pass ...
mysql> select count(*), message_state from spool group by message_state; +----------+---------------+ | count(*) | message_state | +----------+---------------+ | 41 | error | | 5885 | root | | 99 | spam | | 65 | transport | +----------+---------------+ 4 rows in set (0.55 sec)
THANKS!
Nathan
Nathan Cheng wrote:
We have been using James for over a year to provide email to our customers. Off and
on we have had really bad problems that we have been able to deal with by either
upgrading to the latest James or tinkering with the config.xml for several days. We
now have several hundred users who depend on our email to run their day-to-day
businesses, and James has once again started to fail miserably. We do not have time
any more to tinker around in the dark with config.xml.
We need help from someone who knows James much better than whoever wrote the
documentation knows James. Please help.
If you are qualified, please contact me by email at [EMAIL PROTECTED]
Here are the symptoms:
As of early Friday morning James had been working fine for a couple months, sending
and receiving on the order of 10's of thousands of emails per day. Then something
happened. I don't know what happened. It may have been that were several hundred more
messages sent than usual. But anyway, something happened, and James decided not to work
any more. It would allow POPping about 50% of the time, it would claim to fail when
sending an email through SMTP, but then about 25% of the time actually send the message
several hours later. It continued like that throughout the weekend. After fiddling with
it for a while today, and blocking our web application from reaching the mail server
using iptables (so that only people using their own email clients could access it),
I actually got it to send several thousand spooled emails over the period of about an
hour. Then, without warning, it stopped again--with about 6000 emails left in the
'root' message_state and 11 in 'transport'. Our web application has another 1000 mails
or so queued up that it's trying to send (but can't thanks to iptables). So we're behind
about 7000 emails and we've got several hundred angry clients.
As I said, please help.
Thank you,
Nathan
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
