Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

Why this happens

A FolderClosedException is caused when the connection between Jira and the inbound Mail server is closed abruptly by the mail server whilst mail is being retrieved. This is caused by the configuration of your mail server, and the Jira environment.

Is this a JEMH bug?

No. The connection between Jira and the mail server is handled by Jira.

Impact

As the FolderClosedException is triggered by the mail server whilst the mail is being retrieved, the mail in question is left in the mailbox, so no emails are lost. As the email could not be retrieved email processing will fail so JEMH will not create a comment/new issue.

Auditing

If using Inbound Auditing, an Audit event will be created however there will be no copy of the original email to be exported or used in a Support ZIP. Using auditing actions that rely on the email being present will result in a popup similar to the following:

...

Links shown on the popup:

IMAP batch Sizes too low: https://thepluginpeople.atlassian.net/wiki/spaces/JEMH/pages/57606174/Download+performance+of+POP+vs+IMAP

Atlassian background info, this is not a bug, it's just the consequence of your mailserver closing the connection to JEMH/C whilst the mail was still being read (by JEMH). It is not caused by JEMH/C and cannot be solved by JEMH/C. See Impact and Migration steps possible:

Impact

When a FolderClosedException occurrs, it stops all mail processing, specifically, as the mail was not read fully:

  • it was not processed at all, will not be consumed / marked read and will be retried

  • it will not be available in JEMH Auditing and cannot be exported as part of the support zip

Mitigation

Your mailserver can drop connections for a variety of reasons:

  1. Too many concurrent logins using the same account; your mailserver may simply kill off the one that is oldest, which was unfortunately still in use.

  2. The mailserver may determine the connection ‘dead’ if it takes too long. This can be a big problem for some IMAP servers.

For (1) count how many inbound mail servers you have defined using the same account. If its more than 15 you could be affected.

For (2) See IMAP batch szies too low, below for background, steps to verify if this problem affects you, and action you can take to increase the default batching size.

Background

JEMH Auditing

Current versions of JEMH prevent the ‘download’ button operating and show the following information dialog:

...

The popup links to Download performance of POP vs IMAP and an Atlassian article:
https://confluence.atlassian.com/jirakb/imap-mail-fails-with-folderclosedexception-in-logs-in-jira-server-385319403.html .

JEMH Logs

A Below is a stack trace error for the FolderClosedException will be added to that shows up in the 'atlassian-jira-incoming-mail.log', such as the following example from the linked Atlassian documentation:jemh.log and the JEMH processing Report.

Code Block
2013-07-12 09:52:50,478 ERROR [xxx] QuartzScheduler_Worker-3 ServiceRunner xxxx[xxxxx]: Exception: null
javax.mail.FolderClosedException
	at com.sun.mail.imap.IMAPMessage.getProtocol(IMAPMessage.java:145)
	at com.sun.mail.imap.IMAPMessage.getHeader(IMAPMessage.java:743)
	at com.atlassian.jira.service.services.mail.MailFetcherService$MessageProviderImpl.getAndProcessMail(MailFetcherService.java:257)
	at com.atlassian.jira.service.services.mail.MailFetcherService.runImpl(MailFetcherService.java:356)
	at com.atlassian.jira.service.services.file.AbstractMessageHandlingService.run(AbstractMessageHandlingService.java:257)
	at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:61)
	at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:48)
	at org.quartz.core.JobRunShell.run(JobRunShell.java:195)

How to fix

Large Emails

Mail items that are too large and take an excessive time to be retrieved can result in a FolderClosedException, as the mail server interoperates the long retrieval time as an error, and closes the connection. This can be compounded if using the IMAP protocol which has a low default ‘Fetch’ size which makes mail retrial of larger mail items significantly slower. See for more info and steps to increase IMAP ‘Fetch’ size:

Concurrent logins

...