Using the patch in the openldap-scratch repository, this is no longer a
problem.
Test case:
2 masters with identical DBs
Approximately 4 million user DB
Modify every user on master 1 (replicated to master 2)
Stop master 2, reload it with the original DB
Let time pass so the accesslog DB empties out a record of all changes
Start master 2
master 2 will then start querying the sesison log to find any deleted
entries
while this is ongoing, perform 4 concurrent queries against master 1 (in
this case, a search against the entire DB with filter "(uid=*)" requesting
1.1
All four searches execute w/o issue once this patch is in place.
Master 2 logs:
Feb 10 19:09:54 anvil2 systemd[1]: Started LSB: Symas OpenLDAP.
Feb 10 19:09:54 anvil2 slapd[5580]: do_syncrep2: rid=100
LDAP_RES_SEARCH_RESULT
Feb 10 19:09:54 anvil2 slapd[5580]: do_syncrep2: rid=100 delta-sync lost
sync, switching to REFRESH
Feb 10 19:09:54 anvil2 slapd[5580]: do_syncrep2: rid=100 (4096) Content
Sync Refresh Required
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<
http://www.symas.com>