Hi Norman 

I added the jstack output as attachment. I hope it will be helpful.

Best,
Thomas




On Donnerstag, 1. Dezember 2011 at 21:11, Norman Maurer wrote:

> Hi there,
> 
> could you please also show us the thread stacktrace.
> 
> Bye,
> Norman
> 
> 
> 2011/11/30 Thomas Eichmann <[email protected] 
> (mailto:[email protected])>
> 
> > Hi James users,
> > 
> > First a short background info, what our company would like to achieve
> > using James. We have several clients that need mass-mailing capability,
> > thus we want to create a system that allows us to track these mails and
> > especially store errors from bounces (also by using VERP), so we can block
> > unreachable addresses. I created a few custom mailets to handle those
> > requirements and a custom RemoteDelivery implementation for creating VERP
> > style sender addresses. The storage is all done in a MySQL database via
> > JPA. Currently we use it for one client which is not sending huge amounts
> > of mails, around 80,000 per month.
> > 
> > The system works well, but it happens after a bigger batch of mails
> > (around 4,000 mails) that the mail queueing system gets somehow "stuck".
> > The SMTP server is able to retrieve new mails, but somehow they don't get
> > send out, until I restart the server. Sometimes a flush() on queue/spool
> > helps, but most of the times a restart is necessary.
> > 
> > I added logging to my mailets when they start and finish to see if there
> > is a problem, but they seem to run fine (no exceptions). It seems that the
> > mails that arrive after James gets stuck get processed normally by the
> > mailets, but somehow are not dequeued and sent out.
> > 
> > Server info
> > James 3.0 Beta3
> > linux 2.6.24-23-xen #1 SMP Mon Jan 26 03:09:12 UTC 2009 x86_64 GNU/Linux
> > 
> > Frankly I'm not sure what is the best way to debug this kind of problem
> > with James. I could find a few other threads with people describing similar
> > problems, but I couldn't get closer to the problem.
> > 
> > Here some data from JMX that I took while the server was in "stuck" status.
> > 
> > =======================================================
> > INFO org.apache.james:type=component,name=queue,queue=outgoing
> > =======================================================
> > Size == 80
> > =======================================================
> > INFO org.apache.james:type=component,name=queue,queue=spool
> > =======================================================
> > Size == 0
> > =======================================================
> > INFO
> > org.apache.james:type=component,component=mailetcontainer,name=mailspooler
> > =======================================================
> > CurrentSpoolCount == 0
> > ThreadCount == 20
> > =======================================================
> > INFO
> > org.apache.james:type=component,component=mailetcontainer,name=mailspooler,sub-type=threadpool,threadpool=dequeuer
> > =======================================================
> > TotalTasks == 0
> > AverageTaskTime == 0.0
> > ActiveThreads == 2
> > ActiveTasks == 2
> > QueuedTasks == 0
> > MaximalThreads == 2
> > =======================================================
> > INFO
> > org.apache.james:type=component,component=mailetcontainer,name=mailspooler,sub-type=threadpool,threadpool=spooler
> > =======================================================
> > TotalTasks == 4653
> > AverageTaskTime == 145.0
> > ActiveThreads == 20
> > ActiveTasks == 0
> > QueuedTasks == 0
> > MaximalThreads == 20
> > 
> > 
> > I also created a jstack output, as it was suggested in one of the threads
> > I found. I can post it here as well if it could be helpful (I didn't do it
> > now, because the file is quite large).
> > 
> > This is the logging output when a new mail is sent while the queue is
> > stuck (IgnoreBlockedMailet and SendAttemptLogMailet are my custom mailets):
> > 
> > DEBUG 03:54:46,819 | james.mailspooler | ==== Begin processing mail
> > Mail1322625286815-aa8034cb-4d50-4044-926f-10bbe8b637e5====
> > DEBUG 03:54:46,819 | james.mailprocessor | Call MailProcessor root
> > INFO 03:54:46,827 | james.mailetcontext | IgnoreBlockedMailet called -
> > recipients=[[email protected] (mailto:[email protected])]
> > INFO 03:54:46,847 | james.mailetcontext | IgnoreBlockedMailet finished -
> > recipients=[[email protected] (mailto:[email protected])]
> > DEBUG 03:54:46,847 | james.mailprocessor | Call MailProcessor transport
> > INFO 03:54:46,863 | james.mailetcontext | SendAttemptLogMailet called -
> > recipients=[[email protected] (mailto:[email protected])]
> > INFO 03:54:46,927 | james.mailetcontext | SendAttemptLogMailet finished -
> > recipients=[[email protected] (mailto:[email protected])]
> > DEBUG 03:54:46,931 | james.mailprocessor | End of mailetprocessor for
> > state root reached
> > 
> > What is missing is this part, which usually follows when the server is
> > functioning (at least follows after a few minutes if the server is busy).
> > 
> > INFO 03:54:46,943 | james.mailetcontext | Attempting delivery of
> > Mail1322620955282-2b903c2d-8378-4a10-848b-6ebd489182bf-to-eggsist.com 
> > (http://Mail1322620955282-2b903c2d-8378-4a10-848b-6ebd489182bf-to-eggsist.com)
> >  to
> > host ASPMX.L.GOOGLE.com (http://ASPMX.L.GOOGLE.com). at 209.85.225.26 from
> > bounce+t.eichmann=eggsist.com (http://eggsist.com)@???.com for addresses [
> > [email protected] (mailto:[email protected])]
> > INFO 03:54:47,671 | james.mailetcontext | Mail
> > (Mail1322620955282-2b903c2d-8378-4a10-848b-6ebd489182bf-to-eggsist.com 
> > (http://Mail1322620955282-2b903c2d-8378-4a10-848b-6ebd489182bf-to-eggsist.com))
> > sent successfully to ASPMX.L.GOOGLE.com (http://ASPMX.L.GOOGLE.com). at 
> > 209.85.225.26 from
> > bounce+t.eichmann=eggsist.com@???.com for [[email protected] 
> > (mailto:[email protected]) (mailto:
> > [email protected] (mailto:[email protected]))]
> > 
> > 
> > There are a couple of mails that get re-queued 25 times (default limit for
> > attempts) due to DNS issues (like no MX entry for a domain etc.) until they
> > are bounced in the system. But I assume James should be able to handle such
> > mails and new ones in the queue without problems.
> > 
> > Is there a way to examine mails that are queued and their status? Like how
> > many times are they already being re-queued, why are they still in the
> > queue etc.? I'm really not sure how I can debug this issue as I'm new to
> > James. Any help is very appreciated.
> > 
> > Regards,
> > Thomas
> > 
> > 
> > --
> > Thomas Eichmann
> > 
> > EGGsist limited
> > suite 27a, tower b, oriental kenzo
> > dongzhimen, beijing, china
> > +86 (010) 84477066
> > 
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to