Mail Generation Queue (formerly called Event Queue)
The mail generation queue is a component that generates email items asynchronously. Email items are then delivered via thee Mail Queue and Outgoing Mail Server of JIRA or via the Outgoing Mail Connections configured in Email This Issue. Read more about it here.
The mail generation queue is useful for monitoring the internal status of the queue and to adjust some parameters. To see the queue, go to OUTGOING EMAILS -> Mail Generation Queue.

Metrics for monitoring the internal status of the queue

Attribute
Description
Total Queued
The total number of email actions queued.
Total Completed
The total number of email actions completed.
Currently on Queue
The total number of email actions queued for processing.
If you experience that hundreds or thousands of items are waiting on the queue as an average, consider increasing the number of worker threads.
Active Worker Threads
The current number of active worker threads processing the email actions.
Average Time in Queue (ms)
The average time of the last 100 email actions spent on the queue.
The time metric excludes the default queue delay.
Maximum Worker Threads
The maximum number of worker threads to process the email actions.
This number may vary from 0 to 64.
Important: Setting the maximum worker threads to 0 disables asynchronous processing. Email actions are processed synchronously.
Maximum number of items waiting on the queue
This is the maximum number of items on the mail queue.
Although the items on the queue are small (less than 10 kB each), the more items are waiting on the queue (as per the Currently on Queue value above), the more memory is allocated.
Theoretically this may lead to Out Of Memory errors putting the system stability at risk. Therefore a hard limitation is introduced to prevent this.
Even the largest Jira instances have normally not more than a few hundred items on the queue as an average.
If you experience this constantly, consider increasing the number of worker threads.

Email Actions processed via the Mail Queue

Email actions are methods for sending emails using Jira Email This Issue.
Email Action
Executed via the Mail Queue asynchronously
Emails sent manually using the Email Button and Email Screen
Manual emails are dispatched synchronously
Emails sent using the Email Issue Filters feature from the Issue Navigator
Bulk emails are always sent asynchronously
Emails sent using the Email This Issue Workflow post-function
if there is a JQL condition in the post function
​
Otherwise
Emails sent as part of Event Notifications
Event notifications are always processed asynchronously
Emails sent as an auto-response for incoming emails
Event notifications are always processed asynchronously
Emails sent via the Email This Issue Rest API
Event notifications are always processed asynchronously

Asynchronous vs Synchronous Processing

Text
Pros
Cons
Asynchronous
  • Operations performed by users complete faster.
  • Resilient to the internal synchronization of resources such as a database and indexes.
  • Especially useful when using conditional event notifications or workflow post functions (JQL filters in Email This Issue)
  • The mail queue takes some memory, it might be necessary to increase max heap size.
  • The mail queue needs some monitoring to properly adjust the queue size and processing delay.
  • The mail queue has an internal default delay of 30 s. Mail items placed on the queue are processed at least 30 s later.
Synchronous
Instant sending of emails.
  • Slows down user actions via the user interface.
  • Subject to incorrect evaluation of JQL conditions in Email This Issue notifications and workflow post functions.