<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <base href="https://shibboleth.atlassian.net">
        <title>Message Title</title>
    </head>
    <body class="jira" style="color: #333333; font-family: Arial, sans-serif; font-size: 14px; line-height: 1.429">
        <table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0" bgcolor="#f5f5f5"><!-- header here -->
            <tbody>
                <tr>
                    <td id="header-pattern-container" style="padding: 0; border-collapse: collapse; padding: 10px 20px">
                        <table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                            <tbody>
                              <tr>
                              <td id="header-avatar-image-container" valign="top" style="padding: 0; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px" width="32"><img id="header-avatar-image" class="image_fix" src="https://secure.gravatar.com/avatar/167faa998823987c7bf0c77a91008340?d=https%3A%2F%2Favatar-management--avatars.us-west-2.prod.public.atl-paas.net%2Finitials%2FIY-6.png" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top"></td>
                              <td id="header-text-container" valign="middle" style="padding: 0; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px"><a class="user-hover" rel="557058:e127cb03-43ed-473d-b6ba-592949cb4be8" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_557058:e127cb03-43ed-473d-b6ba-592949cb4be8" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ae127cb03-43ed-473d-b6ba-592949cb4be8"> Ian Young </a> <strong>created</strong> an issue</td>
                              </tr>
                            </tbody>
                        </table></td>
                </tr>
                <tr>
                    <td id="email-content-container" style="padding: 0; border-collapse: collapse; padding: 0 20px">
                        <table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; border-spacing: 0; border-collapse: separate">
                            <tbody>
                              <tr><!-- there needs to be content in the cell for it to render in some clients -->
                              <td class="email-content-rounded-top mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 15px; background-color: #ffffff; border-left: 1px solid #cccccc; border-top: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px; height: 10px; line-height: 10px; padding: 0 15px 0 16px; mso-line-height-rule: exactly" height="10" bgcolor="#ffffff"> </td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff">
                              <table class="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <td class="page-title-pattern-first-line " style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"><a href="https://shibboleth.atlassian.net/browse/MDA?atlOrigin=eyJpIjoiNmY5YjY4NmMxZmFjNDJkMDkwNWEzNWY3OTFiOTc1MDEiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">Metadata Aggregator</a> / <a href="https://shibboleth.atlassian.net/browse/MDA-275?atlOrigin=eyJpIjoiNmY5YjY4NmMxZmFjNDJkMDkwNWEzNWY3OTFiOTc1MDEiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-a4131bed-897b-4b0b-a81f-d3c58ad6d4a9" height="16" width="16" border="0" align="absmiddle" alt="Improvement" style="vertical-align: text-bottom"></a> <a href="https://shibboleth.atlassian.net/browse/MDA-275?atlOrigin=eyJpIjoiNmY5YjY4NmMxZmFjNDJkMDkwNWEzNWY3OTFiOTc1MDEiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">MDA-275</a></td>
                              </tr>
                              <tr>
                              <td style="vertical-align: top;; padding: 0; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" class="page-title-pattern-header-container"><span class="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"> <a href="https://shibboleth.atlassian.net/browse/MDA-275?atlOrigin=eyJpIjoiNmY5YjY4NmMxZmFjNDJkMDkwNWEzNWY3OTFiOTc1MDEiLCJwIjoiaiJ9" style="color: #3b73af; text-decoration: none">Default stage configurations should not create daemon threads</a> </span></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand  wrapper-special-margin" style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 10px; padding-bottom: 5px" bgcolor="#ffffff">
                              <table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Issue Type:</th>
                              <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"><img src="cid:jira-generated-image-avatar-a4131bed-897b-4b0b-a81f-d3c58ad6d4a9" height="16" width="16" border="0" align="absmiddle" alt="Improvement" style="vertical-align: text-bottom"> Improvement</td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Affects Versions:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">0.9.2</td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Assignee:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"><a class="user-hover" rel="557058:e127cb03-43ed-473d-b6ba-592949cb4be8" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_557058:e127cb03-43ed-473d-b6ba-592949cb4be8" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ae127cb03-43ed-473d-b6ba-592949cb4be8"> Ian Young </a></td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Components:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">Pipeline</td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Created:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">01/Feb/23 6:16 AM</td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Fix Versions:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">0.10.0</td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Priority:</th>
                              <td class="has-icon" style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"><img src="cid:jira-generated-image-static-trivial-2d35a9fa-7758-4b7f-b3d1-67ebf8ff1542" height="16" width="16" border="0" align="absmiddle" alt="Trivial" style="vertical-align: text-bottom"> Trivial</td>
                              </tr>
                              <tr>
                              <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">Reporter:</th>
                              <td style="padding: 0; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"><a class="user-hover" rel="557058:e127cb03-43ed-473d-b6ba-592949cb4be8" style="color:#3b73af;; color: #3b73af; text-decoration: none" id="email_557058:e127cb03-43ed-473d-b6ba-592949cb4be8" href="https://shibboleth.atlassian.net/secure/ViewProfile.jspa?accountId=557058%3Ae127cb03-43ed-473d-b6ba-592949cb4be8"> Ian Young </a></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand  issue-description-container" style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff; padding-top: 5px; padding-bottom: 10px" bgcolor="#ffffff">
                              <table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 2px">
                              <tbody>
                              <tr>
                              <td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0; border-collapse: collapse; padding: 0 0 10px"><p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0; margin-top: 0">The PipelineDemultiplexerStage, PipelineMergeStage and SplitMergeStage create a default ExecutorService using Executors.newSingleThreadExecutor(). This in turn creates a default thread pool containing a single non-daemon thread.</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">The executorService field is not cleaned up in any way on bean destruction, and there’s no guarantee that garbage collection will ever solve this problem through finalisation (itself a deprecated feature), these non-daemon threads will survive the shutdown of the bean context. As well as being a leak of a somewhat limited resource, this can cause normal exit of the application to be infinitely deferred, as this normally waits until only daemon threads remain.</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">The temptation is to shut down the ExecutionService in the stage’s bean destroy code, but it’s not at all clear to me that is the right answer in principle (it would make sense for the creator of the resource to be responsible for its lifecycle) or in practice (if the stage has been configured with an explicit ExecutionService, it will no longer have a reference to the original one). We could invent (and document) some complicated rules for this, but it seems like an epicycle to me.</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">A more plausible option would be to create an executor which doesn’t create threads at all: after all, the idea by default is just to execute the jobs sequentially, then “wait” for their completion.</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">If the stages were defined in terms of Executor instead of ExecutorService, this would be a five-liner utility class (there’s an example of this code in the Executor Javadoc).</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">We should investigate whether we can make do with Executor and then convert if that’s the case. Note that ExecutorService is a subtype of Executor so this wouldn’t affect existing configurations. However, we’d need to provide our own equivalent of the submit method (returning a Future) to make this work; I suspect that’s fairly simple to do.</p> <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0">Alternatively, implementing a direct ExecutorService as opposed to a direct Executor is probably not that much more difficult; I am a little surprised I haven’t been able to locate one already.</p></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                              <tr>
                              <td class="email-content-main mobile-expand " style="padding: 0; border-collapse: collapse; border-left: 1px solid #cccccc; border-right: 1px solid #cccccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #ffffff" bgcolor="#ffffff"><script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "EmailMessage",
  "description": "View Issue",
  "potentialAction": {
    "@type": "ViewAction",
        "target": "https://shibboleth.atlassian.net/browse/MDA-275?inbox=true&",
    "name": "View Issue"
      },
  "publisher": {
    "@type": "Organization",
    "name": "Atlassian",
    "url": "https://www.atlassian.com"
  }
}
</script>
                              <table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
                              <tbody>
                              <tr>
                              <td id="actions-pattern-container" valign="middle" style="padding: 0; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0">
                              <table align="left" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <td class="actions-pattern-action-icon-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0; vertical-align: middle"><a href="https://shibboleth.atlassian.net/browse/MDA-275#add-comment?atlOrigin=eyJpIjoiNmY5YjY4NmMxZmFjNDJkMDkwNWEzNWY3OTFiOTc1MDEiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none"> <img class="actions-pattern-action-icon-image" src="cid:jira-generated-image-static-comment-icon-15a5a088-3d98-4056-b7c9-91ac72b5fc9f" alt="Add Comment" title="Add Comment" height="16" width="16" border="0" style="vertical-align: middle"> </a></td>
                              <td class="actions-pattern-action-text-container" style="padding: 0; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px"><a href="https://shibboleth.atlassian.net/browse/MDA-275#add-comment?atlOrigin=eyJpIjoiNmY5YjY4NmMxZmFjNDJkMDkwNWEzNWY3OTFiOTc1MDEiLCJwIjoiaiJ9" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr> <!-- there needs to be content in the cell for it to render in some clients -->
                              <tr>
                              <td class="email-content-rounded-bottom mobile-expand" style="padding: 0; border-collapse: collapse; color: #ffffff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #ffffff; border-top: 0; border-left: 1px solid #cccccc; border-bottom: 1px solid #cccccc; border-right: 1px solid #cccccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly" height="5" bgcolor="#ffffff"> </td>
                              </tr>
                            </tbody>
                        </table></td>
                </tr>
                <tr>
                    <td id="footer-pattern" style="padding: 0; border-collapse: collapse; padding: 12px 20px">
                        <table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                            <tbody>
                              <tr>
                              <td id="footer-pattern-mobile-separated-links" class="mobile-resize-text" width="100%" colspan="2" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">Get Jira notifications on your phone! Download the Jira Cloud app for <a href="https://play.google.com/store/apps/details?id=com.atlassian.android.jira.core&referrer=utm_source%3DNotificationLink%26utm_medium%3DEmail" style="color: #3b73af; text-decoration: none">Android</a> or <a href="https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailNotificationLink&mt=8" style="color: #3b73af; text-decoration: none">iOS</a>
                              <hr></td>
                              </tr>
                              <tr>
                              <td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0; border-collapse: collapse; color: #999999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">This message was sent by Atlassian Jira <span id="footer-build-information">(v1001.0.0-SNAPSHOT#100214-<span title="06410ea5d849bd4d4f20bca6ab12ff9ce30927a7" data-commit-id="06410ea5d849bd4d4f20bca6ab12ff9ce30927a7}">sha1:06410ea</span>)</span></td>
                              <td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0; border-collapse: collapse; padding-left: 20px; vertical-align: top">
                              <table style="border-collapse: collapse; mso-table-lspace: 0; mso-table-rspace: 0">
                              <tbody>
                              <tr>
                              <td id="footer-pattern-logo-desktop-padding" style="padding: 0; border-collapse: collapse; padding-top: 3px; opacity: 0.150"><img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-4a749936-31be-4518-a6d3-0600ef73e23f" alt="Atlassian logo" title="Atlassian logo" width="192" height="24" class="image_fix"></td>
                              </tr>
                              </tbody>
                              </table></td>
                              </tr>
                            </tbody>
                        </table></td>
                </tr>
            </tbody>
        </table>
    </body>
</html>