james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bagnara <apa...@bago.org>
Subject Re: [VOTE] Release JAMES 2.3.0
Date Fri, 01 Sep 2006 09:05:36 GMT
I'm here, but I'm investigating on a problem using my patched 2.3.0rc2 
on a new server.

The new server is on a VMWare ESX virtualized server, on AMD_64 and 
basic Fedore Core 5 with a "yum update" from today.

The new server has mysql 5.0.22 (default rpm from fc5).
I tested both java 1.4.2_12 and java 1.5.0_8
I tested both connector/j 3.1.12 and connector/j 5.0.3

I have not yet tested switching to mysql own binaries.

I use db, and there is no traffic but outgoing (I'm still in test on 
this new machine).

I had 15000 mails in the outgoing spool when I first started the server.
2000 of that 15000 mails where in error state. I have 50 remote delivery 
threads and 20 spool threads.

The server starts and works for 5 to 30 minutes and then it seems to 
stop: no more logs, but still makes queries (it seems the query from 

I have a lot of thread dumps to read.

My current idea is that the pending message max size is 1000 and maybe 
my error messages have a last_updated less than the new outgoing 
messages but they are not to be attempted yet and they somehow block the 
processing (it seems to be in loop rather than locked).

The thread dump does not identify deadlocks but every thread seems to be 
waiting to lock the repository (sometimes the outgoing, sometimes the 
main spool) and one thread seems to be stalled making queries in the 

Looking at mysql processes I only see a single connection that run the 
prepared statement (the one for the pending messages) multiple times and 
it takes 2-7 seconds each time... forever !?

Removing the 2000 messages in error made everything to work fine again.

This james is not default 2.3.0 because it includes custom mailets and 
the core is patched (support for ESMTP-DSN, custom remote delivery 
mailet) but I guess the behaviour described is not due to my local 
patches because I didn't change the JDBCSpoolRepository and all the 
threads are stuck on that object.

I also have a custom configuration including 2 spoolmanagers and 2 
remote delivery.

I had this identical configuration in production in the last weeks on 
another machine without problems so I think that the problem may be 
related to the number of error messages in outgoing and their 
last_updated in relation to the new generated messages.

I guess that if the bug is the 2000 error messages then we always had 
this (2.2.0 and previous) and it never raised in my machines. If I can 
confirm this I think I will be +1 to release 2.3.0 as is anyway.

I'll keep you updated,

Noel J. Bergman wrote:
> I am still wanting to wait a few days to be sure, but in the meantime, we
> might as well vote in anticipation that there is no further problem.
> Since JAMES v2.3.0RC2, there have been the following changes:
>  1) UPGRADE.txt was added
>  2) default.properties changed to 2.3.0 from 2.3.0rc2
>  3) phoenix.sh had a redundant $JVM_OPTS removed.
>  4) LogMessage mailet had an incorrect initialization fixed
>  5) Several edits to the web site/docs.
>  6) build.xml changed to include UPGRADE.txt
> I am provisionally +1, with the remaining caveat of wanting to make sure
> that I don't still have the memory leak.
> Accordingly, I propose to tag, build, sign and upload JAMES 2.3.0 subsequent
> to the successful vote of the PMC.
> Rather than conflate two issues, I'll start a separate thread on v2.4 later.
> 	--- Noel

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

View raw message