Re: Content Synchronization Operation + Transactions

Howard Chu <[email protected]> Mon, 29 Jun 2015 13:23:30 +0100
Newsgroups gmane.ietf.ldapext
Message-ID <[email protected]>
Petr Spacek wrote:
> On 3.6.2015 09:35, Petr Spacek wrote:
>> Hello,
>>
>> it seems to me that LDAP Transactions (RFC 5805) are not perfectly integrated
>> into Content Synchronization Operation (RFC 4533).
>>
>> Mainly the client has no idea what changes were part of single transaction. As
>> a result, client cannot replicate transactions reliably, especially when
>> connection drops in the middle of persist phase of Content Synchronization
>> Operation.
>>
>> Also some clients could use the information where LDAP transaction
>> started/ended for application-level transactions (if the application uses the
>> data in real-time) or possibly some optimizations (if some application-level
>> work needs to be done after each group of updates).
>>
>> I'm going to sketch -00 draft which will attempt to address this, probably by
>> adding new messages to indicate where transaction started and ended.
>> Naturally, this makes sense only for persist phase.
>
> The 00 version of the draft is now available. I would really appreciate any
> feedback!
>
> Particularly, I'm not very sure that "transaction identifier" in "End
> Transaction Notification Message" is the best idea.

Assuming a unique transaction identifier per transaction, I see no reason you 
couldn't allow interleaved transactions during persist stage. (Well, you would 
need to send the txnID along with every message, so that may be excessive 
overhead.) In OpenLDAP transactions would not be interleaved at execution time 
anyway so perhaps it's a non-issue.

On a slightly related note, I intend to submit an extension to RFC5805 adding 
a Prepare Transaction request. This would enable 2 phase commit, allowing us 
to support transactions spanning multiple DSAs. With OpenLDAP's back-ldap, 
back-meta, back-relay, and glue, the capability is sorely needed.

-- 
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/