commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Siegfried Goeschl <siegfried.goes...@it20one.at>
Subject Re: [Email] Email send hangs thread indefinitely on intermittent failure
Date Sat, 21 Aug 2010 07:05:11 GMT
Hi David,

don't know if you have set any timeouts for your tests such as

+) Email.MAIL_SMTP_CONNECTIONTIMEOUT
+) Email.MAIL_SMTP_TIMEOUT
+) Email.setSocketConnectionTimeout()
+) Email.setSocketTimeout()

The first two go into the email session for (javax.mail) while the two 
others are set directly on Email - see 
http://java.sun.com/products/javamail/javadocs/com/sun/mail/smtp/package-summary.html

Cheers,

Siegfried Goeschl

PS: Agreed on the fact the you should not hang indefinitely with a 
default configuration



On 21.08.10 05:23, David Parks wrote:
> I set up a simple test to send 50 emails through google app's SMTP server
> with a short delay between them (just testing to see what I'm allowed to
> do).
>
> I set this up by opening 50 threads and pausing at different intervals for
> each thread.
>
> I notice that I sometimes end up with a thread that hangs indefinitely on a
> connection that seems to be hung, but never times out (see the thread dump
> below for one such case, it's been left hung for>  10 min now):
>
> Any thoughts on this? Kind of scares me to think what might happen to a
> server posting emails in the background. I would expect network timeouts to
> all be handled at least with a default value by a simplifying wrapper class
> such as this is. Or am I missing some logic here maybe?
>
> Thanks,
> David
>
>
> Thread [Thread-23] (Suspended)	
> 	SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int)
> line: not available [native method]	
> 	SocketInputStream.read(byte[], int, int) line: not available	
> 	InputRecord.readFully(InputStream, byte[], int, int) line: not
> available	
> 	InputRecord.read(InputStream, OutputStream) line: not available	
> 	SSLSocketImpl.readRecord(InputRecord, boolean) line: not available
>
> 	SSLSocketImpl.readDataRecord(InputRecord) line: not available	
> 	AppInputStream.read(byte[], int, int) line: not available	
> 	TraceInputStream.read(byte[], int, int) line: 106	
> 	BufferedInputStream.fill() line: not available	
> 	BufferedInputStream.read() line: not available	
> 	LineInputStream.readLine() line: 84	
> 	SMTPTransport.readServerResponse() line: 1903	
> 	SMTPTransport.issueSendCommand(String, int) line: 1808	
> 	SMTPTransport.finishData() line: 1634	
> 	SMTPTransport.sendMessage(Message, Address[]) line: 889	
> 	Transport.send0(Message, Address[]) line: 191	
> 	Transport.send(Message) line: 120	
> 	HtmlEmail(Email).sendMimeMessage() line: 1232	
> 	HtmlEmail(Email).send() line: 1267	
> 	GoogleAppsEmailTest.sendEmail(int) line: 51	
> 	GoogleAppsEmailTest$1.run() line: 17	
> 	Thread.run() line: not available	
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message