<!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: #333; 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"> 
            <!-- header here --> 
            <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"> 
                        <tr> 
                            <td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 8px"> <img id="header-avatar-image" class="image_fix" src="cid:jira-generated-image-avatar-mgrady@unicon.net-cd7643ae-3525-4093-99b9-9bbf16a477f9" 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="mgrady@unicon.net" id="email_mgrady@unicon.net" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=mgrady%40unicon.net" style="color:#3b73af;; color: #3b73af; text-decoration: none">Michael Grady</a> <strong>created</strong> an issue 
                            </td> 
                        </tr> 
                    </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"> 
                        <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: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; 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">
                                 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff"> 
                                <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"> 
                                    <tr> 
                                        <td class="page-title-pattern-first-line " style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; padding-top: 10px"> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP" style="color: #3b73af; text-decoration: none">Shibboleth SP - C++</a> / <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-656" style="color: #3b73af; text-decoration: none"><img src="cid:jira-generated-image-static-bug-6c091df5-0b49-4aaa-aa79-a879577864db" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /></a> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-656" style="color: #3b73af; text-decoration: none">SSPCPP-656</a> 
                                        </td> 
                                    </tr> 
                                    <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/SSPCPP-656" style="color: #3b73af; text-decoration: none">NameID insert logic appears wrong for ODBC Session store </a> </span> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand  wrapper-special-margin" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 10px; padding-bottom: 5px"> 
                                <table class="keyvalue-table" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt"> 
                                    <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: 0px; 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-bug-6c091df5-0b49-4aaa-aa79-a879577864db" height="16" width="16" border="0" align="absmiddle" alt="Bug" style="vertical-align: text-bottom" /> Bug 
                                        </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: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             2.5.3 
                                        </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: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="cantor.2@osu.edu" id="email_cantor.2@osu.edu" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=cantor.2%40osu.edu" style="color:#3b73af;; color: #3b73af; text-decoration: none">Scott Cantor</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: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             Session Cache 
                                        </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: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             21/May/15 11:39 PM 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Environment:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Amazon AMI Linux, with Shib SP 2.5.3, built for Amazon AMI Linux (using SRPM method). Using MySQL 5.1.x.</p> 
                                        </td> 
                                    </tr> 
                                    <tr> 
                                        <th style="color: #707070; font: normal 14px/20px Arial, sans-serif; text-align: left; vertical-align: top; padding: 2px 0">
                                            Labels:
                                        </th> 
                                        <td style="padding: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top">
                                             storageservice NameID 
                                        </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: 0px; 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-minor-64d5dbe3-96a9-4d03-bddd-521bab980ae4" height="16" width="16" border="0" align="absmiddle" alt="Minor" style="vertical-align: text-bottom" /> Minor 
                                        </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: 0px; border-collapse: collapse; font: normal 14px/20px Arial, sans-serif; padding: 2px 0 2px 5px; vertical-align: top"> <a class="user-hover" rel="mgrady@unicon.net" id="email_mgrady@unicon.net" href="https://issues.shibboleth.net/jira/secure/ViewProfile.jspa?name=mgrady%40unicon.net" style="color:#3b73af;; color: #3b73af; text-decoration: none">Michael Grady</a> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand  issue-description-container" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff; padding-top: 5px; padding-bottom: 10px"> 
                                <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"> 
                                    <tr> 
                                        <td class="text-paragraph-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 10px 0"> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Occasional INSERT errors occur when attempting to INSERT a NameID context into the 'texts' table. The below log lines show that a search is done using a WHERE clause, to find an existing entry for texts/NameID with an expires > datetime. If that doesn't return an entry, the code attempts to INSERT a new texts/NameID record. But since the key defined for that record is just the combo of context and id (in the below, NameID and Someone@email.com), it's possible for an existing record to exist but not to have been found by the search (because expires time is earlier than specified in search). This can then generate an ODBC error, because of attempting to insert a duplicate key, as below.</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">There appears to be some built-in retry, and in the logs I looked at, these failed inserts were tried 11 times before code gave up trying that insert.</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">Log lines:</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: search returned no data (t=texts, c=Logout, k=Someone@email.com)<br /> 2015-05-18 09:33:53 DEBUG Shibboleth.SessionCache <span class="error">[10186]</span>: storing new session...<br /> 2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLPrepare succeeded. SQL: INSERT INTO texts VALUES (?,?,</p> {ts '2015-05-18 10:33:53'} 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">,1,?)<br /> 2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLBindParam succeeded (context = _c9aad74xxxxxxxx...)<br /> 2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLBindParam succeeded (key = session)<br /> 2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLBindParam succeeded (value = <wddxPacket version="1.0" lowercase="no"><header/><data><struct name="_c9aad74xxxxxxxx..."><var name="version"><number>1</number></var><var name="application_id"><string>default</string></var><var name="expires"><string>2015-05-18T10:36:53Z</string></var><var name="client_addr"><struct><var name="4"><string>10.0.104.121</string></var></struct></var><var name="entity_id"><string><a href="https://idp.org.com/idp" class="external-link" rel="nofollow" style="color: #3b73af; text-decoration: none">https://idp.org.com/idp</a></string></var><var name="protocol"><string>urn:oasis:names:tc:SAML:2.0:protocol</string></var><var name="authn_instant"><string>2015-05-18T09:33:53Z</string></var><var name="session_index"><string>uuid665f.....</string></var><var name="authncontext_class"><string>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</string></var><var name="nameid"><string><saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAd<br /> dress&qu<br /> ot;>Someone@email.com</saml:NameID></string></var><var name="attributes"><array length="2"><struct><var name="distinguishedName"><array length="1"><string>CN=LASTNAME\, FIRSTNAME,OU=USERS,DC=ORG,DC=COM</string></array></var></struct><struct><var name="userId"><array length="1"><string>someone</string></array></var></struct></array></var></struct></data></wddxPacket>)<br /> 2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLExecute of insert succeeded<br /> 2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQL: SELECT version,expires,CASE version WHEN 0 THEN null ELSE value END FROM texts WHERE context='NameID' AND id='Someone@email.com' AND expires > </p> {ts '2015-05-18 09:33:53'} 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">2015-05-18 09:33:53 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: search returned no data (t=texts, c=NameID, k=Someone@email.com)<br /> 2015-05-18 09:33:54 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLPrepare succeeded. SQL: INSERT INTO texts VALUES (?,?,</p> {ts '2015-05-18 10:36:53'} 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">,1,?)<br /> 2015-05-18 09:33:54 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLBindParam succeeded (context = NameID)<br /> 2015-05-18 09:33:54 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLBindParam succeeded (key = Someone@email.com)<br /> 2015-05-18 09:33:54 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQLBindParam succeeded (value = <wddxPacket version="1.0" lowercase="no"><header/><data><struct><var name="uuid665f....."><array length="1"><string>_c9aad74xxxxxxxx...</string></array></var></struct></data></wddxPacket>)<br /> 2015-05-18 09:33:54 ERROR XMLTooling.StorageService <span class="error">[10186]</span>: insert record failed (t=texts, c=NameID, k=Someone@email.com)<br /> 2015-05-18 09:33:54 ERROR XMLTooling.StorageService <span class="error">[10186]</span>: ODBC Error: 23000:1:1062:<span class="error">[MySQL]</span><span class="error">[ODBC 5.1 Driver]</span><span class="error">[mysqld-5.1.73-log]</span>Duplicate entry 'NameID-Someone@email.com' for key 'PRIMARY'<br /> 2015-05-18 09:33:54 DEBUG XMLTooling.StorageService <span class="error">[10186]</span>: SQL: SELECT version,expires,CASE version WHEN 0 THEN null ELSE value END FROM texts WHERE context='NameID' AND id='Someone@email.com' AND expires > </p> {ts '2015-05-18 09:33:54'} 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">.... tries 11 times</p> 
                                            <p style="margin-top:0;margin-bottom:10px;; margin: 10px 0 0 0">2015-05-18 09:33:54 ERROR Shibboleth.SessionCache <span class="error">[10186]</span>: error storing back mapping of NameID for logout: Exceeded retry limit.<br /> 2015-05-18 09:33:54 INFO Shibboleth.SessionCache <span class="error">[10186]</span>: new session created: ID (_c9aad74....</p> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                        <tr> 
                            <td class="email-content-main mobile-expand " style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 0 16px; background-color: #fff"> 
                                <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"> 
                                    <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"> 
                                                <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: 0px; vertical-align: middle"> <a href="https://issues.shibboleth.net/jira/browse/SSPCPP-656#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-4b53f02a-f0f1-4e69-986e-f881446d7fbb" 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/SSPCPP-656#add-comment" target="_blank" title="Add Comment" style="color: #3b73af; text-decoration: none">Add Comment</a> 
                                                    </td> 
                                                </tr> 
                                            </table> 
                                        </td> 
                                    </tr> 
                                </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: #fff; padding: 0 15px 0 16px; height: 5px; line-height: 5px; background-color: #fff; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; mso-line-height-rule: exactly">
                                 
                            </td> 
                        </tr> 
                    </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"> 
                        <tr> 
                            <td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; 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">(v6.4.1#64016-<span title="5d7581434f35c063b7031942e62ed4d72a97fa9c" data-commit-id="5d7581434f35c063b7031942e62ed4d72a97fa9c}">sha1:5d75814</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"> 
                                    <tr> 
                                        <td id="footer-pattern-logo-desktop-padding" style="padding: 0px; border-collapse: collapse; padding-top: 3px"> <img id="footer-pattern-logo-desktop" src="cid:jira-generated-image-static-footer-desktop-logo-76a1fd6f-2226-4bac-a74e-e5ee86fc87d7" alt="Atlassian logo" title="Atlassian logo" width="169" height="36" class="image_fix" /> 
                                        </td> 
                                    </tr> 
                                </table> 
                            </td> 
                        </tr> 
                    </table> 
                </td> 
            </tr> 
        </table>   
    </body>
</html>