failover on dataconnector StoredId

Rod Widdowson rdw at steadingsoftware.com
Wed Oct 30 08:42:36 EDT 2013


According to a quick skim of the *code* "it's just the same as a normal Db
connector", but some notes about your config snippet:

>      <resolver:DataConnector id="StoredId2"
>             xsi:type="StoredId2"
>             xmlns="urn:mace:shibboleth:2.0:resolver:dc"
>             generatedAttributeID="persistentId"
>             sourceAttributeID="uid"
>             salt="x">
>        <resolver:Dependency ref="uid"/>
>        <resolver:FailoverDataConnector ref="StoredId2"/>

^^^^^^^^^^^^^ You probably don't want this ^^^^^^^^^^^^^^^^^^

>        <ApplicationManagedConnection
>             jdbcDriver="com.mysql.jdbc.Driver"
> jdbcURL="jdbc:mysql://x.x.x.x:3306/shibboleth?autoReconnect=true"
>             jdbcUserName="shibboleth"
>             jdbcPassword="x"/>

^^^^^^^^^^^^^^ You probably want this to differ from the other connection 

But I am not sure that this will do what you expect.  

Remember that the storedId connector  *writes data back* to the database and
if you had a failover event then you would lose data: any changes to
StoredId1 since the last time that the two databases were synchronized would
be lost.  Further, before the first stored connector was brought back you
would need to synch it against any changes in the StoredId2.   Absent doing
this work you would find that users could lose their storedIds during such
an event.

You'd need to work out in the context of your deployment if you could live
with this restriction/cost.

/Rod



More information about the users mailing list