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

Re: understanding replication



On Mon, 1 Mar 2010, Alan Batie wrote:

I'm a little puzzled by the openldap replication docs; in particular
rid, entryuuid, entrycsn, contextcsn fields that I see referenced a lot.
[...]
Basically, I'd like to understand the replication process at a slightly
higher level than http://www.openldap.org/doc/admin24/syncrepl.html
describes not quite completely enough...

In addition to the Admin Guide, I suggest reading RFC4533 and the other material in the doc/ directory of the distribution. Also, even if you're not particularly adept at C, you may wish to read the comments in syncprov.c source file. The terms you're asking about are the names that OpenLDAP uses in its implementation; hopefully with the RFC in hand it will become clear how the concepts map to the names, and you can always ask if anything is still unclear.

I'm guessing the rid is a random chosen id number for the secondary
server (consumer?) that is used to compare the master db (entryuuid?)
for context? information that indicates sync state?

rid is chosen by administrator (i.e. manually configured). I honestly forget what it's used for nowadays...I vaguely remember "nothing" and/or "it's only important for multimaster." I'm certain this is in the archives of openldap-software and/or openldap-devel, but I'll leave the search to you.

The specific task at hand is trying to understand what I'm seeing in the
logs, having setup a master, loaded the db, configured replication,
setup a fresh secondary mirror and turned on replication there.  I let
it run over the weekend, and see debug logs of what I assume is polling
on the secondary, but 'slapcat | grep -c "dn:"' returns (and has been
for a while) a suspiciously round number of "500" (there are around
38,000 records in the master), though I don't see any such limit
anywhere in the configs.

My take on this would be that, if you turned up debugging and/or created a packet capture, you will find LDAP_SIZELIMIT_EXCEEDED returned by the provider in response to the consumer search request. As for not seeing the limit, please read slapd.conf(5) man page thoroughly.

master config:

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

That take above would be more precise if you gave the unabridged provider config...