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

Re: Transactions and things :)

At 10:43 AM 2002-11-04, Ugen wrote:
>I may be embarking on a project, which as one of the requirements needs to extend
>OpenLDAP with  transaction support. I have looked into mailing list archives etc.
>and it seems that transaction support is of interest to others and attemptes have been
>made to develop such.
>Two things would be helpful:
>1) A copy of draft-zeilenga-ldap-04.txt (transactions draft?), Google didn't find one.

It's draft-zeilenga-ldap-txn-04.txt.  As it is expired,
you might try obtaining it from <http://www.watersprings.org/pub/id/>
or other expired I-D repository.

>2) If anyone out there had an effort put into developing transactions support,
>even incomplete one - contact me, so we can potentially coordinate future work.

I haven't written any code, but I've certainly thought about
it plenty.  My I-D should be viewed as one possible

>In previous posting on the topic Kurt states that it should be possible to use backend
>db transaction support as a "first cut" method. It does seem from documentation that
>Berkeley DB has transaction support as well. Any obvious drawbacks to this method,
>other then potential heavy tie into the backend db options?

In short, DB transactions are prerequisite for implementing
protocol transaction.  You can cheat (as LDBM does with
single LDAP operations), but....

A simple implementation would just expose DB transactions
to the protocol.  This, however, is bad approach as each
protocol transaction would hold numerous DB locks for an
extended period of time.

A better approach is to have the server maintain a operation
queue for each transaction and, upon commit, process all
or none of the operations in this queue.