<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>