I am deplying a LDAP-based solution, and I wonder if anyone knows if there
is any transaction support in Netscape Directory server 3X or 4X?
I find this a very important issue though some data modifications, which
includes several "relational depend" entries to be updated, must be carried
out as a transcation to avoid inconsistent data. If an update on a entry
fails, I do want the other updates to be rolled back.
Further on, does the Directory support any locking mechanism? What will
happend if two clients are updating the same entry simultainisly?
Many thanks to anyone how can give me some answers on these questions!
Örjan Bodin
> I am deplying a LDAP-based solution, and I wonder if anyone knows if there
> is any transaction support in Netscape Directory server 3X or 4X?
Internally the server uses transactions, but they're not
exposed to clients.
> I find this a very important issue though some data modifications, which
> includes several "relational depend" entries to be updated, must be carried
> out as a transcation to avoid inconsistent data. If an update on a entry
> fails, I do want the other updates to be rolled back.
>
> Further on, does the Directory support any locking mechanism? What will
> happend if two clients are updating the same entry simultainisly?
A single LDAP operation is performed atomically.
Hence one of the client will "win".
The absence of locking and/or transactions in
Directories is an often debated issue.
At present, you have a choice to either
live with the service a directory offers,
or use an alternative data store which has
more rich concurrency control (e.g. a filesystem
or a RDBMS).
An experimental draft RFC for transaction
support in LDAP exists, I've attached a
copy to this message. Future releases of
Netscape Directory Server may implement
something like this.