You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Norman Maurer (JIRA)" <se...@james.apache.org> on 2011/09/18 21:31:08 UTC
[jira] [Created] (JAMES-1320) MimeMessageWrapper.writeTo(...) calls
saveChanges() even if not needed
MimeMessageWrapper.writeTo(...) calls saveChanges() even if not needed
----------------------------------------------------------------------
Key: JAMES-1320
URL: https://issues.apache.org/jira/browse/JAMES-1320
Project: JAMES Server
Issue Type: Improvement
Affects Versions: 3.0-beta3
Reporter: Norman Maurer
Assignee: Norman Maurer
Fix For: 3.0-beta4
When MimeMessageWrapper.writeTo(...) is called we call saveChanges() everytime even when the messagewas not modified at all. This is not neeed and also can throw exceptions on malformated messages.
See the related stacktrace:
org.apache.james.queue.api.MailQueue$MailQueueException: Unable to enqueue mail;
nested exception is:
javax.mail.internet.ParseException: Expected ';', got "windows-1250"
at org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:193)
at org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:230)
at org.apache.james.smtpserver.SendMailHandler.onMessage(SendMailHandler.java:64)
at org.apache.james.smtpserver.DataLineJamesMessageHookHandler.processExtensions(DataLineJamesMessageHookHandler.java:178)
at org.apache.james.smtpserver.DataLineJamesMessageHookHandler.onLine(DataLineJamesMessageHookHandler.java:96)
at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:76)
at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:61)
at org.apache.james.protocols.smtp.core.ReceivedDataLineFilter.onLine(ReceivedDataLineFilter.java:54)
at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:76)
at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:61)
at org.apache.james.protocols.smtp.core.esmtp.MailSizeEsmtpExtension.onLine(MailSizeEsmtpExtension.java:147)
at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:76)
at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:61)
at org.apache.james.protocols.impl.LineHandlerUpstreamHandler.messageReceived(LineHandlerUpstreamHandler.java:57)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:69)
at org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:316)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:679)
Caused by: javax.mail.internet.ParseException: Expected ';', got "windows-1250"
at javax.mail.internet.ParameterList.<init>(ParameterList.java:289)
at javax.mail.internet.ContentType.<init>(ContentType.java:114)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1322)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1021)
at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:419)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1345)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1021)
at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:419)
at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1345)
at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2106)
at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2074)
at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:295)
at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:290)
at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:286)
at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:271)
at org.apache.james.core.MimeMessageCopyOnWriteProxy.writeTo(MimeMessageCopyOnWriteProxy.java:184)
at org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:161)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
[jira] [Resolved] (JAMES-1320) MimeMessageWrapper.writeTo(...)
calls saveChanges() even if not needed
Posted by "Norman Maurer (JIRA)" <se...@james.apache.org>.
[ https://issues.apache.org/jira/browse/JAMES-1320?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Norman Maurer resolved JAMES-1320.
----------------------------------
Resolution: Fixed
done
> MimeMessageWrapper.writeTo(...) calls saveChanges() even if not needed
> ----------------------------------------------------------------------
>
> Key: JAMES-1320
> URL: https://issues.apache.org/jira/browse/JAMES-1320
> Project: JAMES Server
> Issue Type: Improvement
> Affects Versions: 3.0-beta3
> Reporter: Norman Maurer
> Assignee: Norman Maurer
> Fix For: 3.0-beta4
>
>
> When MimeMessageWrapper.writeTo(...) is called we call saveChanges() everytime even when the messagewas not modified at all. This is not neeed and also can throw exceptions on malformated messages.
> See the related stacktrace:
> org.apache.james.queue.api.MailQueue$MailQueueException: Unable to enqueue mail;
> nested exception is:
> javax.mail.internet.ParseException: Expected ';', got "windows-1250"
> at org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:193)
> at org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:230)
> at org.apache.james.smtpserver.SendMailHandler.onMessage(SendMailHandler.java:64)
> at org.apache.james.smtpserver.DataLineJamesMessageHookHandler.processExtensions(DataLineJamesMessageHookHandler.java:178)
> at org.apache.james.smtpserver.DataLineJamesMessageHookHandler.onLine(DataLineJamesMessageHookHandler.java:96)
> at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:76)
> at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:61)
> at org.apache.james.protocols.smtp.core.ReceivedDataLineFilter.onLine(ReceivedDataLineFilter.java:54)
> at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:76)
> at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:61)
> at org.apache.james.protocols.smtp.core.esmtp.MailSizeEsmtpExtension.onLine(MailSizeEsmtpExtension.java:147)
> at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:76)
> at org.apache.james.protocols.smtp.core.DataCmdHandler$DataLineFilterWrapper.onLine(DataCmdHandler.java:61)
> at org.apache.james.protocols.impl.LineHandlerUpstreamHandler.messageReceived(LineHandlerUpstreamHandler.java:57)
> at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
> at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
> at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
> at org.jboss.netty.handler.execution.ChannelEventRunnable.run(ChannelEventRunnable.java:69)
> at org.jboss.netty.handler.execution.OrderedMemoryAwareThreadPoolExecutor$ChildExecutor.run(OrderedMemoryAwareThreadPoolExecutor.java:316)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:679)
> Caused by: javax.mail.internet.ParseException: Expected ';', got "windows-1250"
> at javax.mail.internet.ParameterList.<init>(ParameterList.java:289)
> at javax.mail.internet.ContentType.<init>(ContentType.java:114)
> at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1322)
> at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1021)
> at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:419)
> at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1345)
> at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1021)
> at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:419)
> at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1345)
> at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2106)
> at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2074)
> at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:295)
> at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:290)
> at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:286)
> at org.apache.james.core.MimeMessageWrapper.writeTo(MimeMessageWrapper.java:271)
> at org.apache.james.core.MimeMessageCopyOnWriteProxy.writeTo(MimeMessageCopyOnWriteProxy.java:184)
> at org.apache.james.queue.file.FileMailQueue.enQueue(FileMailQueue.java:161)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org