[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Atomic modifications

At 09:46 AM 9/29/00 +0200, Edwin Roos wrote:
>I've a few questions with respect to the handling of LDAP messages by
>the server.
>First does the server handle each LDAP message as one atomic action?

The server maintains entry level atomicity.  As most LDAP operations
only touch one entry, this generally equates to LDAP operation
level atomicity.  The LDAP search operation however touches multiple
entries.  Where in some entries within scope of the search are
modified concurrent to the search operation, search will return
the entry as it was prior to, between, or after modify operations
but not during any modify operation.

>Secondly are there provisions within the OpenLDAP server to start a
>transaction of a few LDAP messages that will be handled as one atomic

Not yet.

>What I want is to do a read and a modify at the same time. I.e.
>no other LDAP messages must be handled between the read and modify,
>because then I loose consistency.

Note that you can use a single modify operation to implement an
atomic test and set.  Given an atomic test and set capability,
you can build higher level locking...

dn: ....
changetype: modify
delete: boolean
boolean: FALSE
add: boolean
boolean: TRUE

where boolean is defined a single-valued attribute of syntax
boolean implements a get lock.  You can also use this technique
to implement a semaphore.