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

Re: syncrepl questions

On Sep 26, 2003, at 5:13 PM, Jonghyuk Choi wrote:
<x-tad-smaller>>Is the point of sending the currently present entries to do a </x-tad-smaller>
<x-tad-smaller>>comparison of that list against what is stored locally and remove </x-tad-smaller>
<x-tad-smaller>>anything that isn't the current state of the provider? If so, that</x-tad-smaller>
<x-tad-smaller>>seems like a very expensive way to handle things. Why not just keep </x-tad-smaller>
<x-tad-smaller>>deleted records around with the modification stamp indicating when they </x-tad-smaller>
<x-tad-smaller>>were deleted, and send the death notifications across which are newer </x-tad-smaller>
<x-tad-smaller>>than the last sync.</x-tad-smaller>

Deleted or scope-out entries are hard to detect without full history store.
For example, typical history store does not have attributes of deleted entries
nor have the previous values of modified attributes. Also, history stores
can be truncated after a fixed amount of time.
The [add+present] mode of operation is a kind of base mode that
can reliably work even when it is not possible to do incremental synchronization
with such history stores.
The LDAP Content Sync protocol also supports [add+delete] mode.
The syncrepl can be made to support the [add+delete] mode as well
when OpenLDAP supports a form of  history store.
BTW, [add+present] mode is not that expensive
with a reasonably fast hw and connection.

But it doesn't scale... at some point the database is large enough that it is prohibitive to do.

I'm not sure I understand why full history is needed. All that seems necessary is to have the backend keep the deleted entries around and just mark them as being deleted. They would only be needed for the LDAP sync operations and not show up for standard searches.

In this way, the death notifications could be part of the "state" of the database rather than part of its history. If a deleted record is recreated, then the death notification can be removed from the database.

Could anyone point me at more information on the LDAP Content Sync Protocol? Perhaps that would help clarify things for me.