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...