I was testing the recovery of a slave in a delta-syncrepl configuration after an accesslog purge, and noticed that operations that have been purged from the accesslog that occurred while the slave was down do not get replicated when the initial master database was loaded with "slapadd -w".
If the slave database is empty, it will correctly receive all master entries, but if you shut the slave down (after it has done the initial sync), make a change, wait for the change to be purged from the accesslog, and then bring the slave back up, the slave will not see the change.
The contextCSN of the slave is updated in this case, but nothing else is replicated, and the slave is effectively stale. When the slave is first brought up I do notice that two different contextCSN(s) are written to the auditlog.
When the initial database is loaded without using the -w flag with slapadd or with ldapsearch (on an empty database), the slave receives all changes correctly after the accesslog has been purged.
Is this expected behavior in any way?
I am using the standard delta-syncrepl config from the admin guide with 2.4.11.