[Date Prev][Date Next]
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
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.
syncprov-checkpoint 100 10
That take above would be more precise if you gave the unabridged provider