<div dir="ltr">Hi Nate:<div><br></div><div>Thank you.</div><div><br></div><div>You are right -- it's not so simple as I had thought.</div><div><br></div><div>Challenge is we are receiving ora-08177 with the Oracle12C and stored persistentIDs -- even with the retryableErrors -- can the following be in anyway optimized?</div><div><br></div><div><p class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-p1" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-weight:normal;font-stretch:normal;font-size:small;line-height:normal;font-family:Monaco;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px;color:rgb(57,51,255)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)"><</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s2" style="color:rgb(78,145,146)">resolver:DataConnector</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span> </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">id</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"myStoredId"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span> </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">xsi:type</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"dc:StoredId"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span> </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">generatedAttributeID</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"persistentID"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span> </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">sourceAttributeID</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"%{idp.persistentId.sourceAttribute}"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-converted-space"> <span> </span></span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">queryTimeout</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"PT5S"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">transactionRetries</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"5"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span> </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">retryableErrors</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"72000 23000"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)">></span></p><p class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-p1" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-weight:normal;font-stretch:normal;font-size:small;line-height:normal;font-family:Monaco;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px;color:rgb(57,51,255)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">        </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">   </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">   </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">   </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)"><</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s2" style="color:rgb(78,145,146)">resolver:Dependency</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span> </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s4" style="color:rgb(147,33,146)">ref</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">=</span>"%{idp.persistentId.sourceAttribute}"<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span> </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)">/></span></p><p class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-weight:normal;font-stretch:normal;font-size:small;line-height:normal;font-family:Monaco;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px;color:rgb(78,145,146)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">       </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">   </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">   </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">   </span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)"><</span>dc:BeanManagedConnection<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)">></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)">OracleDataSource</span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)"></</span>dc:BeanManagedConnection<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)">></span></p><p class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-p2" style="font-variant-numeric:normal;font-variant-east-asian:normal;font-weight:normal;font-stretch:normal;font-size:small;line-height:normal;font-family:Monaco;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;margin:0px;color:rgb(78,145,146)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s3" style="color:rgb(0,0,0)"><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">       </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-tab-span" style="white-space:pre-wrap">   </span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-Apple-converted-space">   <span> </span></span></span><span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)"></</span>resolver:DataConnector<span class="gmail-m_7494683562778406302gmail-m_8069703067985695001gmail-s1" style="color:rgb(0,145,147)">></span></p><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Mon, 30 Jul 2018 at 15:09, Nate Klingenstein <<a href="mailto:ndk@dewpoint.id">ndk@dewpoint.id</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Joshua,<br>
<br>
It's not as easy to transition from stored identifiers to generated identifiers because you don't necessarily know what the state of the generator was when the original persistentId was generated.  If you can guarantee that the salt is the same, the root attribute and its values are the same, and and none of the entittyID's has changed, then what you described should work.<br>
<br>
If you can't be absolutely certain the above conditions hold, then you may have zero or more stored identifiers that would be different from the brand new ones minted by the IdP.<br>
<br>
Unless there's a better way, I think you would want to match the generated values to the values in the database and look for discrepancies.  If there are none, you can probably just flip the switch.  If there are some and you want to flip the switch anyway, it becomes an account reconciliation and merger exercise.<br>
<br>
Hope I got you,<br>
Nate.<br>
<br>
-----Original message-----<br>
> From: Joshua Brodie<br>
> Sent: Monday, July 30 2018, 9:46 pm<br>
> To: users<br>
> Subject: Migrated from Stored Persistent ID to Computed<br>
> <br>
> <br>
> <br>
> We have had ongoing performance issues w.r.t Oracle and stored persistentID -- even with retry below.<br>
> <br>
> In moving from stored to computed  -- are these the following 2 changes to make?<br>
> <br>
> SAML-NAMEID.PROPERTIES<br>
> <br>
> (the stored ID is the commented out lines)<br>
> <br>
> # Set to an empty property to skip hash-based generation of first stored ID<br>
> <br>
> idp.persistentId.computed =<br>
> <br>
> idp.persistentId.generator = shibboleth.ComputedPersistentIdGenerator<br>
> <br>
> #idp.persistentId.generator = shibboleth.StoredPersistentIdGenerator<br>
> <br>
> #idp.persistentId.dataSource = OracleDataSource<br>
> <br>
> idp.persistentId.sourceAttribute = uid<br>
> <br>
> idp.persistentId.salt = foobar+<br>
> <br>
> ATTRIBUTE-RESOLVER.XML<br>
> <br>
> STORED<br>
> <br>
> <resolver:DataConnector id="myStoredId" xsi:type="dc:StoredId" generatedAttributeID="persistentID" sourceAttributeID="%{idp.persistentId.sourceAttribute}"  queryTimeout="PT5S"transactionRetries="5" retryableErrors="72000 23000"><br>
> <br>
>                               <resolver:Dependency ref="%{idp.persistentId.sourceAttribute}" /><br>
> <br>
>                               <dc:BeanManagedConnection>OracleDataSource</dc:BeanManagedConnection><br>
> <br>
>                   </resolver:DataConnector><br>
> <br>
> COMPUTED<br>
> <br>
>                   <resolver:DataConnector id="myComputedId" xsi:type="dc:ComputedId" sourceAttributeID="%{idp.persistentId.sourceAttribute}" generatedAttributeID="persistentID" salt="%{idp.ComputedIDDataConnector.salt}"/><br>
> <br>
> --<br>
> <br>
> For Consortium Member technical support, see <a href="https://wiki.shibboleth.net/confluence/x/coFAAg" rel="noreferrer" target="_blank">https://wiki.shibboleth.net/confluence/x/coFAAg</a><br>
> <br>
> To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net" target="_blank">users-unsubscribe@shibboleth.net</a><br>
> <br>
> <br>
-- <br>
For Consortium Member technical support, see <a href="https://wiki.shibboleth.net/confluence/x/coFAAg" rel="noreferrer" target="_blank">https://wiki.shibboleth.net/confluence/x/coFAAg</a><br>
To unsubscribe from this list send an email to <a href="mailto:users-unsubscribe@shibboleth.net" target="_blank">users-unsubscribe@shibboleth.net</a></blockquote></div>