<!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://issues.shibboleth.net/jira"> 
        <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: 0pt; mso-table-rspace: 0pt; background-color: #f5f5f5; border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt" bgcolor="#f5f5f5"> 
            <!-- header here --> 
            <tbody>
                <tr> 
                    <td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px"> 
                        <table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                            <tbody>
                                <tr> 
                                    <td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px" width="32"> <img id="header-avatar-image" class="image_fix" src="cid:jira-generated-image-avatar-6b41b94f-efca-4dee-aa34-221460f229e4" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top"> </td> 
                                    <td id="header-text-container" valign="middle" style="padding: 0px; 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="rdw@iay.org.uk" id="email_rdw@iay.org.uk" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=rdw%40iay.org.uk" style="color:#0052cc;; color: #3b73af; text-decoration: none">Rod Widdowson</a> <strong>commented</strong> on <a href="https://issues.shibboleth.net/jira/browse/IDP-1181" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-avatar-099c919d-cacb-4221-85ee-4d07f6b9a513" height="16" width="16" border="0" align="absmiddle" alt="Bug"> IDP-1181</a> </td> 
                                </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
                <tr> 
                    <td id="email-content-container" style="padding: 0px; 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: 0pt; mso-table-rspace: 0pt; 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: 0px; 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: 0px; 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: 0pt; mso-table-rspace: 0pt"> 
                                            <tbody>
                                                <tr> 
                                                    <td style="vertical-align: top;; padding: 0px; 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://issues.shibboleth.net/jira/browse/IDP-1181" style="color: #3b73af; text-decoration: none">Re: Rationalize fail-fast behavior in resolver</a> </span> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                                <tr> 
                                    <td id="text-paragraph-pattern-top" class="email-content-main mobile-expand  comment-top-pattern" style="padding: 0px; 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; border-bottom: none; padding-bottom: 0" bgcolor="#ffffff"> 
                                        <table class="text-paragraph-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; 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: 0px; border-collapse: collapse; padding: 0 0 10px 0"> <p style="margin: 10px 0 0 0; margin-top: 0">I have been trying to get my mind around this and I have ended up even more confused that I started. The problem doesn’t seem difficult so I suspect that I'm not thinking this out clearly so I'll try to commit some thoughts to paper and then come up with a statement of what is to be tested.</p> <h2 style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 1.500; margin: 40px 0 0 0"><a name="Whatisfailfast%3F" style="color: #3b73af; text-decoration: none"></a>What is failfast?</h2> <p style="margin: 10px 0 0 0">I think that the best definition is that:</p> 
                                                        <ul> 
                                                            <li>If a subsystem is failfast then a "failure during initialization" of this subsystem will immediately cause the containing <span class="error">[sub]</span>system to fail. So 
                                                                <ul> 
                                                                    <li>The failure of a<span class="error">[ny]</span> failfast service will cause the IdP to not start</li> 
                                                                    <li>The failure of a failfast metadata provider will cause the metadata resolver service (and dependencies) not to start (whether that stops the IdP from starting is depends on the metadata resolver service).</li> 
                                                                </ul> </li> 
                                                        </ul> <p style="margin: 10px 0 0 0"> </p> 
                                                        <ul> 
                                                            <li>Data Connectors are <b>failover</b> in operation (you can configure something to do the heavy lifting if they are not working). 
                                                                <ul> 
                                                                    <li>As discussed elsewhere the LDAP connector <b>VALIDATES</b> the connection and has a weird definition of failfast.</li> 
                                                                </ul> </li> 
                                                        </ul> <p style="margin: 10px 0 0 0"> </p> <p style="margin: 10px 0 0 0">Again purely from reading the code a lot of problem comes from what a "failure during initialization" above is.</p> <p style="margin: 10px 0 0 0">For instance:</p> 
                                                        <ul> 
                                                            <li>The only failure that I can find in the metadata resolvers is the inability to validate the backup file for the fail based http metadata provider.</li> 
                                                            <li>I think that syntax errors cause services to fail (in initialization) and in most (all?) cases component initialization do the same., but it isn't obvious (yet) whether component initialization actually happens during service initialization (so you could get a service which starts OK but when it initialized it contents it then fails, but it hasn't failed fast).</li> 
                                                        </ul> <p style="margin: 10px 0 0 0">So getting back to the case in point I need to test (in each case testing the service (via spring) configured both failfast and non failfast and with each of the sub system configured failfast and non failfast.</p> <h3 style="margin: 10px 0 0 0; font-size: 16px; line-height: 1.563; margin: 30px 0 0 0"><a name="MetadataResolverService" style="color: #3b73af; text-decoration: none"></a>Metadata Resolver Service</h3> 
                                                        <ul> 
                                                            <li>Syntax error in metadata-resolver.xml file</li> 
                                                            <li>InlineDataConnector with syntax error </li> 
                                                            <li>FileConnector 
                                                                <ul> 
                                                                    <li>pointing to non existent file</li> 
                                                                    <li>pointing to existing file/bad syntax</li> 
                                                                </ul> </li> 
                                                            <li>HTTPConnector 
                                                                <ul> 
                                                                    <li>pointing to non existent URL</li> 
                                                                    <li>pointing to existing file/bad syntax</li> 
                                                                </ul> </li> 
                                                        </ul> <h3 style="margin: 10px 0 0 0; font-size: 16px; line-height: 1.563; margin: 30px 0 0 0"><a name="AttributeFilterService" style="color: #3b73af; text-decoration: none"></a>Attribute Filter Service</h3> 
                                                        <ul> 
                                                            <li>Syntax error in attribute-filter.xml</li> 
                                                            <li>Syntax error in scripted attribute filter.</li> 
                                                        </ul> <h3 style="margin: 10px 0 0 0; font-size: 16px; line-height: 1.563; margin: 30px 0 0 0"><a name="AttributeResolverService" style="color: #3b73af; text-decoration: none"></a>Attribute Resolver Service</h3> 
                                                        <ul> 
                                                            <li>Syntax error in attribute-resolver.xml</li> 
                                                            <li>RDBMS connector points to bad JDBC 
                                                                <ul> 
                                                                    <li>With and without a failover</li> 
                                                                </ul> </li> 
                                                            <li>LDAP points to bad LDAP Server 
                                                                <ul> 
                                                                    <li>With and without a failover</li> 
                                                                </ul> </li> 
                                                            <li>Scripted attribute with syntax error</li> 
                                                        </ul> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                                <tr> 
                                    <td class="email-content-main mobile-expand " style="padding: 0px; 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 id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; 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: 0px; border-collapse: collapse; padding: 10px 0 10px 24px; vertical-align: middle; padding-left: 0"> 
                                                        <table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                                                            <tbody>
                                                                <tr> 
                                                                    <td class="actions-pattern-action-icon-container" style="padding: 0px; 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://issues.shibboleth.net/jira/browse/IDP-1181#add-comment" 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-86e0a1cf-ec35-4691-98a2-d091776899b1" 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: 0px; 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://issues.shibboleth.net/jira/browse/IDP-1181#add-comment" 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: 0px; 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: 0px; border-collapse: collapse; padding: 12px 20px"> 
                        <table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                            <tbody>
                                <tr> 
                                    <td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; 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">(v8.2.3#802003-<span title="5986657bbb45d2d15e7e179e83f09254924a6523" data-commit-id="5986657bbb45d2d15e7e179e83f09254924a6523}">sha1:5986657</span>)</span> </td> 
                                    <td id="footer-pattern-logo-desktop-container" valign="top" style="padding: 0px; border-collapse: collapse; padding-left: 20px; vertical-align: top"> 
                                        <table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                                            <tbody>
                                                <tr> 
                                                    <td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="https://issues.shibboleth.net/jira/images/mail/atlassian-email-logo.png" alt="Atlassian logo" title="Atlassian logo" width="191" height="24" class="image_fix"> </td> 
                                                </tr> 
                                            </tbody>
                                        </table> </td> 
                                </tr> 
                            </tbody>
                        </table> </td> 
                </tr> 
            </tbody>
        </table>   
    </body>
</html>