<div dir="ltr"><pre style="color:rgb(0,0,0);word-wrap:break-word;white-space:pre-wrap">Hello everybody.
I am figuring out how concurrency is handled while running a non-Terracotta
cluster[1], thus where every node is kept independent and sessions are not
shared among nodes, when database access is concerned. Disclaimer: I am not
a DB master.
This wiki page
<a href="https://wiki.shibboleth.net/confluence/display/SHIB2/StoredIDDataConnectorDDL">https://wiki.shibboleth.net/confluence/display/SHIB2/StoredIDDataConnectorDDL</a>
describes
how to create the StoredID table in MySQL and Oracle.
For what matters MySQL, some keys are created for the table:
KEY persistentId (persistentId),
KEY persistentId_2 (persistentId, deactivationDate),
KEY localEntity (localEntity(16), peerEntity(16), localId),
KEY localEntity_2 (localEntity(16), peerEntity(16),
localId, deactivationDate)
As far as I can understand, this is going to prevent any overwriting in
case multiple IdP nodes are trying to write informations for the same tuple
user id/service ID/IDP ID.
The statements suggested for the creation of the table in Oracle do not
explicitly state any key creation - they only create some indexes.
So my question is: by using Oracle as a StoredId backend, should a set of
keys similar (identical) to the ones provided for MySQL be created for the
table as well?
Thank you very much
--
Terence
[1] As described here:
<a href="https://wiki.shibboleth.net/confluence/display/SHIB2/IdPProxyClustering">https://wiki.shibboleth.net/confluence/display/SHIB2/IdPProxyClustering</a></pre></div>