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

Transactions in LDAP

We are working on implementing transactions in LDAP. We are refering to 
the internet draft 

We have following doubts:
If each beginTransaction is going to return a transaction ID, that 
will be passed to the following ldap apis, the signatures of the APIs 
will change. i.e. each ldap API will have a corresponding transaction 
txnId = beginTransaction(sessionId)
 ldap_add_t( parameters of ldap_add and txnId) //this will be a new API
 ..        // All apis will have a parameter txnID

The other possibility is that any action command following and upto
an end transaction can be considered to be exectuted by that tr.
This way we don't have to modify the interface for add or modify.

But this would mean that there is only one transaction that can be
executed at a time, in a session, which would otherwise be possible,
using the txnID. i.e. we wont be supporting multithreaded client. This
also means that we need to differentiate between an operation in a
transaction and an operation in the same session, but not in a
transaction (possibly a call to an asynchronous API or fired by another
thread of the client). Is there a way for this differentiation?

Now, my basic doubt is, is such multithreading possible in the current 
LDAP API version? I guess it must be possible, as the entries are locked. 
We need extra information in implementing transaction as we won't be 
unlocking the entry, untill the transaction is complete. 

Hope the doubt is valid and hope to get a reply soon..

Thanks and Regards,

Anandi Dattatraya Herlekar
MTech Student
CSE Dept, IITB , Powai
Hostel No 11, Room No 55
Mail : anandi@cse.iitb.ernet.in
Home : http://www.cse.iitb.ernet.in/~anandi