I updated syncrepl.c to log the actual error string for this case.
Helpful, thanks.
This of course does a full dump of my entire database. Which is a problem -- Why doesn't it simply query for the changes made since it was loaded?
On the master, there is:
# ldapsync, stanford.edu dn: cn=ldapsync,dc=stanford,dc=edu structuralObjectClass: subentry subtreeSpecification: {} contextCSN: 2003091621:49:05Z#0x0001#0#0000 entryUUID: ead401c4-7d08-1027-8d06-a9c91f571ab3 creatorsName: cn=Manager,dc=stanford,dc=edu modifiersName: cn=Manager,dc=stanford,dc=edu createTimestamp: 20030917031521Z modifyTimestamp: 20030917031521Z entryCSN: 2003091703:15:21Z#0x00c1#0#0000 subschemaSubentry: cn=Subschema hasSubordinates: FALSE
On the replica, there is:
# syncrepl2, stanford.edu dn: cn=syncrepl2,dc=stanford,dc=edu structuralObjectClass: subentry syncreplCookie: 2003091618:18:30Z#0x008a#0#0000 subtreeSpecification: {} entryUUID: aa811dd0-7d96-1027-991e-fd27b6d0edae creatorsName: cn=Manager,dc=stanford,dc=edu modifiersName: cn=Manager,dc=stanford,dc=edu createTimestamp: 20030917201002Z modifyTimestamp: 20030917201002Z entryCSN: 2003091720:10:02Z#0x0026#0#0000 subschemaSubentry: cn=Subschema hasSubordinates: FALSE
Was the above snapshot obtained before synchronization took place ? Also curious to know whether the provider and the consumer replica was in sync from the start or they are restored from backups... If they are restored from backups, please make sure that the provider-side backup contains entryCSN attribute of each entry (which is the case when slapcat is used).
My understanding of syncrepl is that it should _only_ do the change that has been made since it the DB was created, not dump the whole DB like it is doing.
If there have been changes made since the last sync time, the provider sends the contents of those entries changed after the last sync time and sends the empty entries consisting of only the name and UUID for the unchanged ones. So, what the provider sends are the changed entries + IDs of unchanged entries. As an optimization, the provider will send search result without sending any entries to the consumer, if there has been no changes after the last sync time.
--Quanah
-- Quanah Gibson-Mount Principal Software Developer ITSS/TSS/Computing Systems Stanford University GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html