mayurbm commented on PR #25550:
URL: https://github.com/apache/camel/pull/25550#issuecomment-5339441072

   ## JIRA Issue: CAMEL-24403
   
   **Link:** https://issues.apache.org/jira/browse/CAMEL-24403
   **Summary:** camel-mail: MessageRemovedException in processCommit causes 
null in error log
   **Type:** Bug
   **Component:** camel-mail
   
   ### Problem
   
   When an IMAP message is expunged (deleted by another client or server-side 
policy) between the time it is fetched by `MailConsumer` and when the 
on-completion commit callback fires, `IMAPMessage.setFlag()` throws 
`javax.mail.MessageRemovedException`.
   
   This exception is constructed without a message string so `getMessage()` 
returns `null`, producing:
   
   ```
   Error occurred during committing mail message: 
com.sun.mail.imap.IMAPMessage@542a494d. 
Exchange[B5882D23412732A-0000000000000013]. Caused by: 
[javax.mail.MessageRemovedException - null]
   ```
   
   ### Stack Trace
   
   ```
   javax.mail.MessageRemovedException
     at com.sun.mail.imap.IMAPMessage.checkExpunged(IMAPMessage.java:280)
     at com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:1110)
     at javax.mail.Message.setFlag(Message.java:596)
     at 
org.apache.camel.component.mail.MailConsumer.processCommit(MailConsumer.java:506)
     at 
org.apache.camel.component.mail.MailConsumer$1.onComplete(MailConsumer.java:237)
     at 
org.apache.camel.support.UnitOfWorkHelper.doneSynchronization(UnitOfWorkHelper.java:104)
     at 
org.apache.camel.support.UnitOfWorkHelper.doneSynchronizations(UnitOfWorkHelper.java:89)
     at 
org.apache.camel.impl.engine.DefaultUnitOfWork.done(DefaultUnitOfWork.java:238)
     at 
org.apache.camel.support.UnitOfWorkHelper.doneUow(UnitOfWorkHelper.java:61)
     at 
org.apache.camel.impl.engine.CamelInternalProcessor$UnitOfWorkProcessorAdvice.after(CamelInternalProcessor.java:770)
     at 
org.apache.camel.impl.engine.CamelInternalProcessor$AsyncAfterTask.done(CamelInternalProcessor.java:263)
     at org.apache.camel.AsyncCallback.run(AsyncCallback.java:44)
     at 
org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:193)
     at 
org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:64)
     at org.apache.camel.processor.Pipeline.process(Pipeline.java:185)
     at 
org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:398)
     at 
org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83)
     at 
org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:41)
     at 
org.apache.camel.component.mail.MailConsumer.processExchange(MailConsumer.java:449)
     at 
org.apache.camel.component.mail.MailConsumer.processBatch(MailConsumer.java:258)
     at org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:165)
     at 
org.apache.camel.support.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:202)
     at 
org.apache.camel.support.ScheduledPollConsumer.run(ScheduledPollConsumer.java:116)
     at 
org.apache.camel.pollconsumer.quartz.QuartzScheduledPollConsumerJob.execute(QuartzScheduledPollConsumerJob.java:61)
     at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
     at 
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573)
   ```
   
   ### Expected Log After Fix
   
   ```
   Caused by: [javax.mail.MessagingException - Message already removed/expunged 
on server (no flag update possible)]
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to