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

Re: backend requirements for syncrepl

> That sounds like back-sql with entryUUID and entryCSN support.


> Below is a rather verbose way of doing that :
> 1. search (with orig filter) with attr list of entryCSN, entryUUID
> 2. maxCSN = max(received entryCSN returned by Step 1)
> 3. delete those entries in the consumer side which is not present in the
> search result of Step 1
> 4. if there is more than one entry in the result set of Step 1 whose
> entryUUID is not
>     present in the consumer replica or whose entryCSN is greater than the
> consumer cookie then
>         search( filter=(&(filter)(entryCSN<=maxCSN)(!(entryCSN<=cookie))),
>                 attrs=replicated attributes,entryCSN,entryUUID)
>         add/modify the returned entry
> 5. if the result set of the Step 4 search is different from the returned
> entries in Step 1 whose
>     entryCSN is greater than the consumer cookie, some entries were
> deleted
> after the search in Step 1.
>     In this case, the above sequence can be repeated with an appropriate
> retry interval depending on the application requirement.
> 6. update the consumer cookie to maxCSN

Thanks for the reharsal.  I think a very rough and inefficient
implementation should be very easy to obtain shortly.


Pierangelo Masarati

    SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497